[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21e6.hcd



It might be that the heart of the problem could be:
# hciconfig hci0 up
Can't init device hci0: Invalid request code (56)
And that consequently, at some point, "btusb" could be unloaded, with the 
consequence that
hciconfig --all
wouldn't show anything anymore.

If I put that point aside... Some things are working:

# systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor 
preset: enabled)
   Active: active (running) since Wed 2017-05-31 01:45:22 CEST; 7min ago
     Docs: man:bluetoothd(8)
 Main PID: 12520 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bluetooth.service
           └─12520 /usr/lib/bluetooth/bluetoothd

May 31 01:45:22 pluto systemd[1]: Stopping Bluetooth service...
May 31 01:45:22 pluto systemd[1]: Stopped Bluetooth service.
May 31 01:45:22 pluto systemd[1]: Starting Bluetooth service...
May 31 01:45:22 pluto bluetoothd[12520]: Bluetooth daemon 5.43
May 31 01:45:22 pluto systemd[1]: Started Bluetooth service.
May 31 01:45:22 pluto bluetoothd[12520]: Starting SDP server
May 31 01:45:22 pluto bluetoothd[12520]: Bluetooth management interface 1.14 
initialized

# hciconfig --all
hci0:   Type: Primary  Bus: USB
        BD Address: 9C:2A:70:82:50:FB  ACL MTU: 1021:8  SCO MTU: 64:1
        DOWN 
        RX bytes:10122 acl:0 sco:0 events:1227 errors:0
        TX bytes:108651 acl:0 sco:0 commands:1224 errors:0
        Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
        Link policy: RSWITCH SNIFF 
        Link mode: SLAVE ACCEPT 

But hci0 can't be brought up, and therefore nobody can see it,
starting with bluetoothctl.

I might have gathered sufficient information to take that issue to bluez-devel 
mailing list.

On Tuesday, May 30, 2017 7:15:18 PM CEST you wrote:
> (note: that chipset is probably used by all recent thinkpad, which probably
> show that when iphones have no jack anymore, BT might not be so much used by
> Linux users)
> 
> If I do a "modprobe" (https://ubuntuforums.org/showthread.php?t=2346879)
> modprobe -r btusb
> modprobe btusb
> 
> I get that:
> 
> May 30 18:53:06 pluto kernel: usbcore: deregistering interface driver btusb
> May 30 18:53:06 pluto kernel: Bluetooth: hci0 urb ffff8de95167e600 failed to
> resubmit (2)
> May 30 18:53:06 pluto systemd[1]: Starting Load/Save RF Kill Switch
> Status... May 30 18:53:06 pluto bluetoothd[457]: Endpoint unregistered:
> sender=:1.33 path=/MediaEndpoint/A2DPSource
> May 30 18:53:06 pluto systemd[1]: bluetooth.target: Unit not needed anymore.
> Stopping.
> May 30 18:53:06 pluto bluetoothd[457]: Endpoint unregistered: sender=:1.33
> path=/MediaEndpoint/A2DPSink
> May 30 18:53:06 pluto systemd[1]: Stopped target Bluetooth.
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:06 pluto systemd[1]: Started Load/Save RF Kill Switch Status.
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:11 pluto systemd[1]: Reached target Bluetooth.
> May 30 18:53:11 pluto kernel: usbcore: registered new interface driver btusb
> May 30 18:53:11 pluto kernel: Bluetooth: hci0: BCM: chip id 63
> May 30 18:53:11 pluto kernel: Bluetooth: hci0: ChromeLinux_8A81
> May 30 18:53:11 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> build 0000
> May 30 18:53:11 pluto kernel: bluetooth hci0: firmware: direct-loading
> firmware brcm/BCM20702A1-0a5c-21e6.hcd
> May 30 18:53:12 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> build 1757
> May 30 18:53:12 pluto kernel: Bluetooth: hci0: Broadcom Bluetooth Device
> 
> 
> root@pluto:/lib/firmware/brcm# hciconfig -a
> hci0:   Type: Primary  Bus: USB
>         BD Address: 9C:2A:70:82:50:FB  ACL MTU: 1021:8  SCO MTU: 64:1
>         DOWN
>         RX bytes:3374 acl:0 sco:0 events:409 errors:0
>         TX bytes:36217 acl:0 sco:0 commands:408 errors:0
>         Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
>         Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
>         Link policy: RSWITCH SNIFF
>         Link mode: SLAVE ACCEPT
> 
> Seems nice, but actually, I do not have any adapter anymore:
> 
> root@pluto:/lib/firmware/brcm# bluetoothctl
> [bluetooth]# list
> [bluetooth]#
> 
> 
> You can see that here too:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801084
> 
> ====
> 
> I also did that:
> sudo cp /lib/firmware/brcm/BCM43142A0-0a5c-21e6.hcd
> /lib/firmware/brcm/BCM.hcd
> 
> Then modprobe -r and modprobe btusb
> 
> And then the result: "bluetooth.target: Unit not needed anymore. Stopping"
> 
> May 30 18:53:06 pluto kernel: usbcore: deregistering interface driver btusb
> May 30 18:53:06 pluto kernel: Bluetooth: hci0 urb ffff8de95167e600 failed to
> resubmit (2)
> May 30 18:53:06 pluto systemd[1]: Starting Load/Save RF Kill Switch
> Status... May 30 18:53:06 pluto bluetoothd[457]: Endpoint unregistered:
> sender=:1.33 path=/MediaEndpoint/A2DPSource
> May 30 18:53:06 pluto systemd[1]: bluetooth.target: Unit not needed anymore.
> Stopping.
> May 30 18:53:06 pluto bluetoothd[457]: Endpoint unregistered: sender=:1.33
> path=/MediaEndpoint/A2DPSink
> May 30 18:53:06 pluto systemd[1]: Stopped target Bluetooth.
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:06 pluto systemd[1]: Started Load/Save RF Kill Switch Status.
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:06 pluto dbus[458]: [system] Rejected send message, 3 matched
> rules; type="error", sender=":1.33" (uid=1000 pid=1859 comm="/usr/bin/
> pulseaudio --start --log-target=syslog ") in
> May 30 18:53:11 pluto systemd[1]: Reached target Bluetooth.
> May 30 18:53:11 pluto kernel: usbcore: registered new interface driver btusb
> May 30 18:53:11 pluto kernel: Bluetooth: hci0: BCM: chip id 63
> May 30 18:53:11 pluto kernel: Bluetooth: hci0: ChromeLinux_8A81
> May 30 18:53:11 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> build 0000
> May 30 18:53:11 pluto kernel: bluetooth hci0: firmware: direct-loading
> firmware brcm/BCM20702A1-0a5c-21e6.hcd
> May 30 18:53:12 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> build 1757
> May 30 18:53:12 pluto kernel: Bluetooth: hci0: Broadcom Bluetooth Device
> May 30 18:55:41 pluto wpa_supplicant[570]: wlan1: WPA: Group rekeying
> completed with 7c:03:d8:81:d2:53 [GTK=CCMP]
> May 30 18:56:48 pluto kernel: Bluetooth: hci0: BCM: chip id 63
> May 30 18:56:48 pluto kernel: Bluetooth: hci0: Broadcom Bluetooth Device
> May 30 18:56:48 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> build 1757
> May 30 18:56:48 pluto kernel: bluetooth hci0: firmware: direct-loading
> firmware brcm/BCM20702A1-0a5c-21e6.hcd
> May 30 18:56:49 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> build 1757
> May 30 18:56:49 pluto kernel: Bluetooth: hci0: Broadcom Bluetooth Device
> May 30 19:02:43 pluto systemd[1]: Starting Load/Save RF Kill Switch
> Status... May 30 19:02:44 pluto kernel: usbcore: deregistering interface
> driver btusb May 30 19:02:43 pluto systemd[1]: bluetooth.target: Unit not
> needed anymore. Stopping.
> May 30 19:02:43 pluto systemd[1]: Stopped target Bluetooth.
> May 30 19:02:43 pluto systemd[1]: Started Load/Save RF Kill Switch Status.
> 
> Things couldn't be worse.
> 
> On Tuesday, May 30, 2017 5:50:39 PM CEST you wrote:
> > Dear all, (debian/sid)
> > 
> > Because I had this error in journalctl:
> > Mar 09 15:17:09 pluto kernel: Bluetooth: hci0: BCM20702A
> > Mar 09 15:17:09 pluto kernel: Bluetooth: hci0: BCM20702A1 (001.002.014)
> > build 0000
> > Mar 09 15:17:09 pluto kernel: bluetooth hci0: firmware: failed to load
> > brcm/ BCM20702A1-0a5c-21e6.hcd (-2)
> > Mar 09 15:17:09 pluto kernel: bluetooth hci0: Direct firmware load for
> > brcm/ BCM20702A1-0a5c-21e6.hcd failed with error -2
> > Mar 09 15:17:09 pluto kernel: Bluetooth: hci0: BCM: Patch brcm/
> > BCM20702A1-0a5c-21e6.hcd not found
> > 
> > And because my BT was working... But not so well...
> > 
> > And after taking advices on #debian-next...
> > 
> > (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831592)
> > 
> > I followed the instructions there:
> > https://github.com/winterheart/broadcom-bt-firmware
> > 
> > and simply copied the file:
> > BCM20702A1-0a5c-21e6.hcd
> > there:
> > /lib/firmware/brcm
> > 
> > =====
> > 
> > After that, and some reboot, I didn't have any bluetooth at all anymore:
> > The only thing BT in journalctl was:
> > May 30 17:18:03 pluto dbus[416]: [system] Failed to activate service
> > 'org.bluez': timed out
> > 
> > And no trace anymore of the mere string "BCM20702" (ignore case option...)
> > 
> > I did even thought that it had "burnt" my chipset
> > 
> > =====
> > 
> > So I removed the file BCM20702A1-0a5c-21e6.hcd altogether,
> > 
> > And rebooted,
> > 
> > And now I do have BT again;
> > 
> > Though minimalist and not working well...
> > (actually can't be used, broken; can be use 1 minute, with
> > difficulties...)
> > 
> > =====
> > 
> > I would appreciate help to have that working.
> > 
> > 
> > Best,
> > Chris



Reply to: