Bug 214111
Summary: | rtl8761b usb bluetooth doesn't work following reboot until unplug/replug | ||
---|---|---|---|
Product: | Drivers | Reporter: | bryanhoop |
Component: | Bluetooth | Assignee: | linux-bluetooth (linux-bluetooth) |
Status: | NEW --- | ||
Severity: | normal | CC: | jacobecc9, marco.rodolfi |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.16.16 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
Issue with the current firmware version in linux-firmware
The output after replacing the firmware with the file from Microsoft Driver update catalog |
Description
bryanhoop
2021-08-19 20:35:04 UTC
Can confirm the same issue personally, but for me it's even worse since this firmware doesen't reconnect 9/10 a previously associated device. I've tried an updated version for this adapter (2020/12, from the folder name contained in it) specific for linux from XMPOW: https://mpow.s3-us-west-1.amazonaws.com/mpow_BH519A_driver+for+Linux.7z And replaced _fw.bin and _config.bin, but nothing changed. Then I've found this post on github: https://gist.github.com/peteristhegreat/b48da772167f86f43decbd34edbd0849 After ordering by date on Microsoft Catalog for "realtek bluetooth", and a dozen downloads, I've finally found a package that contained the firmware version for this rtl8761b, this specific package: https://www.catalog.update.microsoft.com/ScopedViewInline.aspx?updateid=b103336e-5da4-4b03-ad04-7224d591aadd, download link: http://download.windowsupdate.com/d/msdownload/update/driver/drvs/2021/05/ca0e770c-6a5d-4de0-b37a-f4b91cccd8c3_7778831d2b9d721cf94d5a8d8c0676ff1b96c874.cab This has a date of 26/04/2021, and after extracting rtl8761b_mp_chip_bt40_fw_asic_rom_patch_new.dll and renaming the same file to rtl8761b_fw.bin and replacing the file contained in /lib/firmware/rtl_bt/ and deleting the rtl8761b_config.bin file (AFAIK, Windows packages from Realtek doesn't come with a config file, but besides an error in kernel the _bin is sufficient) my adapter works wonderfully. No issues on reconnecting, no issues after reboot, the adapter works correctly. Instead of forcing users to randomly download Windows drivers from the web in home to find a working and updated version for this device, can Realtek add the firmware and kept in sync with the Windows version as it does do with the others bluetooth devices supported in kernel? Any way to contact them? Anyway, for the people who have this issue, try the version linked above. Marco. Forgot to upload logs, sorry. This are my previous logs, that are full of random tx trasmission issues, like: aug 25 09:54:51 Desktop kernel: Bluetooth: hci0: command 0x0c24 tx timeout aug 25 09:54:54 Desktop kernel: Bluetooth: hci0: command 0x0c52 tx timeout aug 25 19:45:17 Desktop kernel: Bluetooth: hci0: command 0x0c24 tx timeout aug 25 20:10:59 Desktop kernel: Bluetooth: hci0: command 0x0c03 tx timeout aug 24 21:26:58 Desktop kernel: Bluetooth: hci0: command 0x0405 tx timeout aug 24 21:27:00 Desktop kernel: Bluetooth: hci0: command 0x0c03 tx timeout aug 24 21:27:08 Desktop kernel: Bluetooth: hci0: HCI reset during shutdown failed aug 24 21:27:26 Desktop kernel: Bluetooth: hci0: command 0x0405 tx timeout aug 24 22:18:46 Desktop kernel: Bluetooth: hci0: command 0x0c1a tx timeout aug 24 14:08:01 Desktop kernel: Bluetooth: hci0: command 0x0c24 tx timeout aug 24 14:08:03 Desktop kernel: Bluetooth: hci0: command 0x0c52 tx timeout The HCI reset failed are triggered when I would try to disable and reenable the adapter from KDE desktop, but to no avail before. Now it works perfectly fine and I've no errors anywhere in the dmesg log, I'll also post it. All the kernel logs are filtered with grep Bluetooth. Hope to see this issue fixed soon, Marco. Created attachment 298483 [details]
Issue with the current firmware version in linux-firmware
Errors that show up by just trying to reconnect a previously associated PS4 controller to the adapter.
Created attachment 298485 [details]
The output after replacing the firmware with the file from Microsoft Driver update catalog
(In reply to Marco from comment #1) > Can confirm the same issue personally, but for me it's even worse since this > firmware doesen't reconnect 9/10 a previously associated device. I've tried > an updated version for this adapter (2020/12, from the folder name contained > in it) specific for linux from XMPOW: > > https://mpow.s3-us-west-1.amazonaws.com/mpow_BH519A_driver+for+Linux.7z > > And replaced _fw.bin and _config.bin, but nothing changed. > > Then I've found this post on github: > > https://gist.github.com/peteristhegreat/b48da772167f86f43decbd34edbd0849 > > After ordering by date on Microsoft Catalog for "realtek bluetooth", and a > dozen downloads, I've finally found a package that contained the firmware > version for this rtl8761b, this specific package: > https://www.catalog.update.microsoft.com/ScopedViewInline. > aspx?updateid=b103336e-5da4-4b03-ad04-7224d591aadd, download link: > http://download.windowsupdate.com/d/msdownload/update/driver/drvs/2021/05/ > ca0e770c-6a5d-4de0-b37a- > f4b91cccd8c3_7778831d2b9d721cf94d5a8d8c0676ff1b96c874.cab > > This has a date of 26/04/2021, and after extracting > rtl8761b_mp_chip_bt40_fw_asic_rom_patch_new.dll and renaming the same file > to rtl8761b_fw.bin and replacing the file contained in /lib/firmware/rtl_bt/ > and deleting the rtl8761b_config.bin file (AFAIK, Windows packages from > Realtek doesn't come with a config file, but besides an error in kernel the > _bin is sufficient) my adapter works wonderfully. No issues on reconnecting, > no issues after reboot, the adapter works correctly. > > Instead of forcing users to randomly download Windows drivers from the web > in home to find a working and updated version for this device, can Realtek > add the firmware and kept in sync with the Windows version as it does do > with the others bluetooth devices supported in kernel? Any way to contact > them? > > Anyway, for the people who have this issue, try the version linked above. > > Marco. Thanks for these steps Marco. This gives some hope that a fixed firmware will eventually be upstreamed on Linux. I replaced the fw with the MS version in your link and everything is mostly working now. The major problem I ran into with the updated firmware was audio dropouts using the A2DP AAC codec, but I switched over to SBC-XQ (even higher bandwidth, funnily enough) by editing /usr/share/pipewire/media-session.d/bluez-monitor.conf and it's working flawlessly now. (In reply to bryanhoop from comment #5) > ... > > Thanks for these steps Marco. This gives some hope that a fixed firmware > will eventually be upstreamed on Linux. There is still hope, especially since there is already kernel support for the chipset itself, just the firmware is problematic apparently, and it's even harder since there is no real date timestamp on the firmware itself, so you can't even know if the driver with a higher version number contains an actual updated firmware or not; I hope it does, at least :P > I replaced the fw with the MS version in your link and everything is mostly > working now. The major problem I ran into with the updated firmware was > audio dropouts using the A2DP AAC codec, but I switched over to SBC-XQ (even > higher bandwidth, funnily enough) by editing > /usr/share/pipewire/media-session.d/bluez-monitor.conf and it's working > flawlessly now. According to a similar chip from the Realtek site (https://www.realtek.com/en/products/communications-network-ics/item/rtl8763b) mentioned in the github thread linked above, the supported codec are AAC and SBC, so in theory it should work, but AFAIK bluetooth audio on Linux is a little bit of a lottery, unfortunately. Glad to see it works now :) I still hope that Realtek will give us proper firmware support, though. Unfortunately after the update to linux-firmware-20210919-125.fc34.noarch, it appears that the workaround is no longer working. Even with the updated firmware I still have to unplug/replug the dongle after startup to get bluetooth working. (In reply to bryanhoop from comment #7) > Unfortunately after the update to linux-firmware-20210919-125.fc34.noarch, > it appears that the workaround is no longer working. Even with the updated > firmware I still have to unplug/replug the dongle after startup to get > bluetooth working. Recently tested this, and even with the new firmware on my side the workaround still works here, even leaving the old config in place. Don't really know why it's not working for you anymore. (In reply to bryanhoop from comment #7) > Unfortunately after the update to linux-firmware-20210919-125.fc34.noarch, > it appears that the workaround is no longer working. Even with the updated > firmware I still have to unplug/replug the dongle after startup to get > bluetooth working. Just realized right now, if you are using Arch, the firmware seems to be packed in a xz archive on my system. It was still working here because for some reason the .bin probably is getting loaded before the .bin.xz file from the distribution. By the way, I've seen that a Realtek engineer has updated the firmware file at the end of last year, as of https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/rtl_bt/rtl8761bu_fw.bin?id=45dc5f0b8e2f2d43312d22511cb26658b9ee2c80, but the bug with that firmware still remains. I need to force disable and enable the device. I'll probably just get an adapter for a mPCIEx or M2 laptop to PCIEx and install an already available Intel module that I got flotaing around at this point, I doubt that this will ever be fixed on this hardware, unfortunately. Marco. With the latest changes and the default firmware it literally doesn't work. Kernel loads a firmware, but the adapter is undetected from the OS. This will never be fixed at this point. Kernel 6.5.5. |