-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluetooth stack broken on latest firmware #238
Comments
Bump - even reverting the firmware and upgrading to the latest kernel (20200811) hasn't fixed the situation - one controller is missing, and one has |
The bthelper script, which is intended to support the built-in Bluetooth interface, actually seems to be run for all Bluetooth interfaces. Previously this must have been relatively harmless, but the change to set the BDADDR (intended for when hciattach is bypassed by letting the kernel initialise Bluetooth on the UART) has inintentionally affected all interfaces. I'm going to have to fix this, @XECDesign. |
It doesn't help that the ancient D-Link dongle I have ignores the address change (or bdaddr ignores it). |
What output do you get from the following?:
|
The
Note that
The error on |
There's a bug in the bthelper script that prevents the UART-attached BT modem restriction from working. If you're feeling brave, try this patch. With your favourite editor running, edit /usr/bin/bthelper as root, e.g.
to:
Being in the sub-shell prevented the |
Ok, that apparently fixed the issue with the duplicate Bluetooth address, but I've still got the one with
|
I'm suspicious that hci1 appears to have kept it's Pi BDADDR (b8:27:eb:xx:yy:zz) - you might have to reprogram it to something unique like 5c:f4:70:81:97:2a. hci2 looks to have a driver/firmware problem - there are other reports of the same errors: https://forums.linuxmint.com/viewtopic.php?p=1810390 The solution appears to be to back-port a patch from 5.8 - I'm doing that now - and grab the firmware from somewhere. There's a link in this README: https://gist.github.com/rometsch/dfd24fb09c85c1ad2f25223dc1481aaa |
The back-port is in rpi-5.4.y now, and will be in future builds. |
Thanks! Is it still required to keep the changes on If the next |
The |
I have run an upgrade on this machine and installed the latest kernel: $ uname -r
5.4.51-v7l+ And I have copied the firmware files following the reported procedure. However, I've still got this situation: $ hciconfig
hci2: Type: Primary Bus: USB
BD Address: 5C:F3:70:81:97:29 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING PSCAN
RX bytes:1596 acl:0 sco:0 events:88 errors:0
TX bytes:4051 acl:0 sco:0 commands:88 errors:0
hci1: Type: Primary Bus: USB
BD Address: B8:27:EB:10:B5:A7 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING
RX bytes:1400 acl:0 sco:0 events:77 errors:0
TX bytes:3660 acl:0 sco:0 commands:93 errors:0
hci0: Type: Primary Bus: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:581 acl:0 sco:0 events:82 errors:0
TX bytes:20540 acl:0 sco:0 commands:83 errors:0 dmesg: $ dmesg -T | grep hci0
[Sat Aug 29 18:20:22 2020] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[Sat Aug 29 18:20:22 2020] Bluetooth: hci0: RTL: rom_version status=0 version=1
[Sat Aug 29 18:20:22 2020] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761a_fw.bin
[Sat Aug 29 18:20:22 2020] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761a_config.bin
[Sat Aug 29 18:20:22 2020] Bluetooth: hci0: RTL: cfg_sz 6, total sz 20210
[Sat Aug 29 18:20:24 2020] Bluetooth: hci0: command 0xfc20 tx timeout
[Sat Aug 29 18:20:33 2020] Bluetooth: hci0: RTL: download fw command failed (-110) Note this:
While, according to what other users reported, it should be:
So it's still trying to load the Has the driver been backported in the latest RPi kernel? -- EDIT -- It seems indeed that the new firmware file isn't there: $ strings /lib/modules/5.4.51-v7l+/kernel/drivers/bluetooth/btrtl.ko | grep rtl_bt/rtl8761a_fw.bin
firmware=rtl_bt/rtl8761a_fw.bin
rtl_bt/rtl8761a_fw.bin
$ strings /lib/modules/5.4.51-v7l+/kernel/drivers/bluetooth/btrtl.ko | grep rtl_bt/rtl8761b_fw.bin
$ |
I ran an
rpi-update
a few days ago to test if it solved some SPI CS issues, and since then the Bluetooth stack on my Raspbian on RPi4 has been broken (although I can't completely rule out if it was broken before).I've tried since then to roll back to the previous stable firmware version:
But that hasn't fixed my Bluetooth issues.
I use four Bluetooth interfaces on my device - the onboard Bluetooth and three USB adapters. It seems however that only three interfaces are detected by
hciconfig
, two of them (hci0
andhci1
) actually share the same address, and the fourth one (hci2
) has00:00:00:00:00:00
address and can't be brought up:Some relevant dmesg lines:
Then, upon
hci2
unplug/plug:Can anyone advise on what's going on here?
The text was updated successfully, but these errors were encountered: