Bug 210681
Summary: | kernel: Bluetooth: hci0: don't support firmware rome 0x31010000 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Antonio (antdev66) |
Component: | Bluetooth | Assignee: | linux-bluetooth (linux-bluetooth) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | aivaraslaimikis, andreas.kohn, brad, brandomrobor, BxOxSxS, carnil, cth451, erikdemitzhelin, erwan, exocarnivore, gobinda.joy, hallbw, igorognev, jan.steffens, janetesalesdeoliveira, joev.8450, jwrdegoede, liquidzoo, luccapellegrini, marcelo, marcofaga, matthias, nandi68, nicoadamo, nizzi, nkudriavtsev, nowa, rbereny, sergeyfd, souravdas142, steeve.mccauley, thesourcehim, victorx, vitkuz573, wariwpl, yushijinhun |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 5.10 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
reverse this commit before compile solve the problem
fix hci0: don't support firmware rome error fix hci0: warn only if high rome |
Description
Antonio
2020-12-14 08:50:05 UTC
For test: if I replace the entire drivers/bluetooth subdir with that of kernel 5.9.14 and recompile, then it works again. This means that it depends on some modification introduced. Seems to be enough keep only the previous drivers/bluetooth/btusb.c file The problem seems to be this commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/bluetooth/btusb.c?h=v5.10&id=b40f58b973865ee98ead884d2bdc7880b896ddb8 "Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support" Removing this commit solves the problem (for me). --- My notebook is: - Notebook X555LN (i7-4510U) - Qualcomm Atheros QCA9565/AR9565 Wireless Network Adapter (rev 01) Thanks Same here. With 5.9.16 it works fine I have an atheros ar3012 (bluetooth chipset) with kernel 5.10.2 sudo dmesg | grep hci0 [ 9.739696] Bluetooth: hci0: don't support firmware rome 0x1020200 >>> lsusb Bus 001 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 005: ID 0bda:0139 Realtek Semiconductor Corp. RTS5139 Card Reader Controller Bus 002 Device 004: ID 04f2:b3d8 Chicony Electronics Co., Ltd USB2.0 HD UVC WebCam Bus 002 Device 006: ID 13d3:3402 IMC Networks Bluetooth USB Host Controller Bus 002 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub (In reply to anthony from comment #2) > Seems to be enough keep only the previous drivers/bluetooth/btusb.c file Yep, from what I have understood that's the file that needs to be edited. Created attachment 294329 [details]
reverse this commit before compile solve the problem
before compile:
patch -R -p1 < commit-b560a208cd.contropatch
(In reply to Lorenzo N from comment #5) > (In reply to anthony from comment #2) > > Seems to be enough keep only the previous drivers/bluetooth/btusb.c file > > Yep, from what I have understood that's the file that needs to be edited. before compiling try to revert the commit (see above), for me it worked on 5.10.x kernels (In reply to anthony from comment #7) > (In reply to Lorenzo N from comment #5) > > (In reply to anthony from comment #2) > > > Seems to be enough keep only the previous drivers/bluetooth/btusb.c file > > > > Yep, from what I have understood that's the file that needs to be edited. > > before compiling try to revert the commit (see above), for me it worked on > 5.10.x kernels Glad it did. I'll see if this fix will be implemented. Otherwise I'll stick with 5.9 till I'll be forced to update :) same problem with 5.10.2 and 5.10.3. I will stick to 5.9(arch-linux) until its fixed. Created attachment 294393 [details]
fix hci0: don't support firmware rome error
Avoid returning error code when bluetooth version match is not made from qca_devices_table and version high is set.
This reverts an error check that was removed to support WCN6855 which does have the high version set. The fix is to move the check after the table is scanned and no version match is made.
This fix will still produce the error message for example (for ATK3K 13d3:3402 IMC Networks Bluetooth USB Host Controller)
Bluetooth: hci0: don't support firmware rome 0x1020200
But the bluetooth hardware still works as it used to
(In reply to Bradley Jarvis from comment #10) > Created attachment 294393 [details] > fix hci0: don't support firmware rome error > > Avoid returning error code when bluetooth version match is not made from > qca_devices_table and version high is set. > > This reverts an error check that was removed to support WCN6855 which does > have the high version set. The fix is to move the check after the table is > scanned and no version match is made. > > This fix will still produce the error message for example (for ATK3K > 13d3:3402 IMC Networks Bluetooth USB Host Controller) > > Bluetooth: hci0: don't support firmware rome 0x1020200 > > But the bluetooth hardware still works as it used to I have tried it (kernel 5.10.3), I confirm that it works. *** Bug 211013 has been marked as a duplicate of this bug. *** I have the same issue with the Kernel 5.10.6/7 on my laptop with the 5.9.16 it's work I have the same issue also. Fedora 33, kernel 5.10.6 & 5.10.7 Qualcomm Atheros AR9462 Wireless Network / Bluetooth Adapter Rolling back to 5.9.16 resolved the issue. Can confirm on Debian Buster as well. Upgrading to 5.10.4 on Testing causes Bluetooth to fail to enable, reverting to 5.9.15 on Backports solves the issue. It would be very nice if there was a way to fix this not involving recompiling the kernel. Install the kernel https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay/linux419-4.19.169-1-x86_64.pkg.tar.zst $ sudo pacman -U linux419-4.19.169-1-x86_64 .pkg.tar.zst and reconfigure grub.cfg $ sudo grub-mkconfig -o /boot/grub/grub.cfg. This kernel works well. (In reply to jefferson from comment #16) > Install the kernel > https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay/linux419-4.19. > 169-1-x86_64.pkg.tar.zst $ sudo pacman -U linux419-4.19.169-1-x86_64 > .pkg.tar.zst and reconfigure grub.cfg $ sudo grub-mkconfig -o > /boot/grub/grub.cfg. This kernel works well. All kernel below 5.10 works well. You dont need to use 419, you can use eg 5.9. Also if you are using manjaro you can just use MHWD or pacman -S to manage kernels (In reply to Bradley Jarvis from comment #10) > Created attachment 294393 [details] > fix hci0: don't support firmware rome error > > Avoid returning error code when bluetooth version match is not made from Can confirm that this issue exists on fedora 33 5.10.x kernel for atheros usb bluetooth. Installing a kernel.org kernel with Bradley's fix solves the problem. The adaptor shows up as Lite-On Technologoy Corp: Bus 001 Device 004: ID 04ca:3006 Lite-On Technology Corp. This is the firmware rome for the lite-on adaptor Bluetooth: hci0: don't support firmware rome 0x11020000 Has anyone send a (direct) email to Rocky Liao, the author of the troublesome "Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support" commit about this? That is likely the fastest way to get this resolved. (In reply to Hans de Goede from comment #20) > Has anyone send a (direct) email to Rocky Liao, the author of the > troublesome "Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support" > commit about this? > > That is likely the fastest way to get this resolved. It's in the commit author: rjliao@codeaurora.org Created attachment 294865 [details] fix hci0: warn only if high rome (In reply to Bradley Jarvis from comment #10) > Created attachment 294393 [details] > fix hci0: don't support firmware rome error > > Avoid returning error code when bluetooth version match is not made from > qca_devices_table and version high is set. > > This reverts an error check that was removed to support WCN6855 which does > have the high version set. The fix is to move the check after the table is > scanned and no version match is made. > > This fix will still produce the error message for example (for ATK3K > 13d3:3402 IMC Networks Bluetooth USB Host Controller) > > Bluetooth: hci0: don't support firmware rome 0x1020200 > > But the bluetooth hardware still works as it used to Like Bradley Jarvis' fix, but it won't produce an error message but a warning message for a possible incompatibility. Reverted the "don't care" comments for other high ROM versions. Just my 2 cents Bluetooth: hci0: don't support firmware rome 0x1020200 >-------------------------------------------------------- Arch Linux 5.10.11-arch1-1 >03:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter >(rev 01) "fix hci0: don't support firmware rome error" - This patch fixes the problem. But I would not like to rebuild the bluetooth module with every kernel updatе.
>Is a fix for this bug planned?
> Is a fix for this bug planned? As I've mentioned before someone needs to report this to the upstream bluetooth developers. Please send an email to: Rocky Liao <rjliao@codeaurora.org> Who is the author of the troublesome "Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support" commit and add: linux-bluetooth@vger.kernel.org To the Cc of this email. I'm composing something now. linux-bluetooth@vger.kernel.org - not available Can confirm this is still an issue in 5.10.15. I do not understand! This bug is already two months old. Before everything worked fine, but someone broke, and is not going to fix it. What's the matter? The fix is pending in bluetooth-next three according to https://lore.kernel.org/linux-bluetooth/CA2C8796-11CA-4E6F-A603-AE764516C850@holtmann.org/ Hi On Tue, Dec 29, 2020 at 10:50:10AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=210681 > > Bradley Jarvis (brad@pocketinnovations.com.au) changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |brad@pocketinnovations.com. > | |au > > --- Comment #10 from Bradley Jarvis (brad@pocketinnovations.com.au) --- > Created attachment 294393 [details] > --> https://bugzilla.kernel.org/attachment.cgi?id=294393&action=edit > fix hci0: don't support firmware rome error > > Avoid returning error code when bluetooth version match is not made from > qca_devices_table and version high is set. > > This reverts an error check that was removed to support WCN6855 which does > have > the high version set. The fix is to move the check after the table is scanned > and no version match is made. > > This fix will still produce the error message for example (for ATK3K > 13d3:3402 > IMC Networks Bluetooth USB Host Controller) > > Bluetooth: hci0: don't support firmware rome 0x1020200 > > But the bluetooth hardware still works as it used to Several people have reported that since b40f58b97386 ("Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support") they have issues with their Bluetooth adapter stopping working. It was reported at bugzilla[1]. Bradley Jarvis posted/attached a patch which seems to resolve the issue, Moreno has added an alternative patch. [1] https://bugzilla.kernel.org/show_bug.cgi?id=210681 But there is another report at [2] https://bugzilla.kernel.org/show_bug.cgi?id=211571 and that last one was applied to bluetooth-next tree according to https://lore.kernel.org/linux-bluetooth/CA2C8796-11CA-4E6F-A603-AE764516C850@holtmann.org/ Regards, Salvatore This issue also occurs in kernel 5.10.16-arch1-1. usbcore: registered new interface driver btusb Bluetooth: hci0: don't support firmware rome 0x11020000 (In reply to karamba from comment #32) > This issue also occurs in kernel 5.10.16-arch1-1. > > usbcore: registered new interface driver btusb > Bluetooth: hci0: don't support firmware rome 0x11020000 I confirm Confirming the problem. Qualcomm Atheros QCA9565 / AR9565 adapter. Error: hci0: don't support firmware rome 0x31010000 The problem still exists even in 5.11 kernel: root@srv /home/krik # uname -a Linux srv 5.11.0-zen1-1-zen #1 ZEN SMP PREEMPT Mon, 15 Feb 2021 23:08:28 +0000 x86_64 GNU/Linu root@srv /home/krik # dmesg | grep hci0 [ 5.641967] Bluetooth: hci0: don't support firmware rome 0x11020000 Same on Fedora 33: Linux boss 5.10.15-200.fc33.x86_64 #1 SMP Wed Feb 10 17:46:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux [root@boss lib]# dmesg | grep hci0 [ 4.227106] Bluetooth: hci0: don't support firmware rome 0x11020000 Arch has now moved their linux-lts kernel to 5.10.16, which means this problem exists in the main linux and now the -LTS kernel as well. I wish we had a timeline on the fix coming into the main tree. Unfortunately it is taking quite a long time to get the fix for this into Linus' tree and the stable rules say that only fixes which are in Linus' tree can be cherry-picked into the stable series. For Fedora users I've added the upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=234f414efd1164786269849b4fbb533d6c9cdbbf Fixing this as a downstream patch for the Fedora kernels. So this should be fixed in the next F32 and F33 kernel builds, which will likely be the 5.10.18 builds. Same on Fedora 33: Linux daemon.home.bd 5.10.16-200.fc33.x86_64 #1 SMP Sun Feb 14 03:02:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux gj86@daemon:~$ dmesg | grep hci0 [ 4.974879] Bluetooth: hci0: don't support firmware rome 0x11020000 Notebook Asus N76V lspci 03:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01) Bus 001 Device 009: ID 13d3:3362 IMC Networks Atheros AR3012 Bluetooth 4.0 Adapter 12.120238] Bluetooth: hci0: don't support firmware rome 0x1020200 uname -r 5.10.0-14-generic At the installation all runs well, after the last update the bluetooth bugs This bug is fixed in kernel 5.11.1-arch1-1 $ bluetoothctl list Controller XX:XX:XX:XX:XX:XX lenovo [default] (In reply to karamba from comment #41) > This bug is fixed in kernel 5.11.1-arch1-1 > > > $ bluetoothctl list > Controller XX:XX:XX:XX:XX:XX lenovo [default] Confirmed, fixed... kernel 5.11.1: problem still exists, need to patch. (In reply to karamba from comment #41) > This bug is fixed in kernel 5.11.1-arch1-1 > > > $ bluetoothctl list > Controller XX:XX:XX:XX:XX:XX lenovo [default] This is also fixed for me using this kernel Not fixed for me using kernel.org 5.11.1 $ sudo journalctl -b | grep "firmware rome" Feb 24 14:20:05 toast kernel: Bluetooth: hci0: don't support firmware rome 0x11020000 Good news. This bug is fixed in kernel 5.11.1-arch1-1 for me. (In reply to igorog from comment #46) > Good news. This bug is fixed in kernel 5.11.1-arch1-1 for me. Looks like the Arch maintainers pulled this fix into their first 5.11.1 build. https://git.archlinux.org/linux.git/log/?h=v5.11.1-arch1 But, at the same time, the lts-kernel (5.10.18-1-lts), of course, was not fixed. Fedora 33 5.10.18-200 fixed. kernel 5.11.2: the problem has been fixed. Thanks. (In reply to Antonio from comment #50) > kernel 5.11.2: the problem has been fixed. > > Thanks. Definitely fixed in 5.11.2. (In reply to Max Fedotov from comment #49) > Fedora 33 5.10.18-200 fixed. Confirmed. Fixed in Fedora Kernel 5.10.18-200.fc33.x86_64 |