Skip to content

Bluetooth not working for Asus Bt-400 0b05:17cb Broadcom BCM20702A0 - Controller not found #2494

Open
@dcs3spp

Description

@dcs3spp

Hi,

I have bluetooth dongle (Asus Bt-400 ) that I am using on a Raspberry Pi Model B (v1). I cannot seem to get bluetooth working. I am running kernel 4.14.32-1, with Arch Linux ARM installed. I am using Bluez 5.49. The bluetooth dongle is connected to a USB hub, LOGIK - L4THUB10. The details for the bluetooth usb dongle when I run lsusb is given as:

Bus 001 Device 006: ID 0b05:17cb ASUSTek Computer, Inc. Broadcom BCM20702A0 Bluetooth

When I run the following bluetoothctl commands no controller is found.

bluetoothctl
Agent registered
[bluetooth]# agent on
Agent is already registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# list
[bluetooth]# 

I have to shutdown the raspberry pi, power off the usb usb, power on again and hope that the controller device is recognised by bluetoothctl. Sometimes this works, sometimes it doesn't.

I have tried the following:

  1. Installed the firmware file, BCM20702A1-0b05-17cb.hcd, for the device, available from community Arch Packages. This is installed at /usr/lib/firmware/brcm.
  2. Downloaded the Asus windows driver and inspected the inf file to identify the correct hex driver file for the device. Subsequently I used hex2hcd for my device and installed the firmware file (BCM20702A1-0b05-17cb.hcd) at /usr/lib/firmware/brcm
  3. Built bluez-utils-compat 5.49-1 from Arch community repository to test with deprecated bluetooth toolset.

When I run dmesg | egrep -i 'blue|firm' I get the following dmesg output....

[    1.816784] raspberrypi-firmware soc:firmware: Attached to firmware from 2018-03-16 16:17
[   25.250290] Bluetooth: Core ver 2.22
[   25.301799] Bluetooth: HCI device and connection manager initialized
[   25.432350] Bluetooth: HCI socket layer initialized
[   25.539945] Bluetooth: L2CAP socket layer initialized
[   25.657534] Bluetooth: SCO socket layer initialized
[   26.034466] Bluetooth: hci0: BCM: chip id 63
[   26.138468] Bluetooth: hci0: BCM: features 0x07
[   26.276530] Bluetooth: hci0: BCM20702A
[   26.291533] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[   28.889841] Bluetooth: hci0 command 0xfc4c tx timeout
[   36.230097] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   36.244019] Bluetooth: BNEP filters: protocol multicast
[   36.470289] Bluetooth: BNEP socket layer initialized
[   36.970529] Bluetooth: hci0: BCM: Patch command fc4c failed (-110)
[   39.209790] Bluetooth: hci0 command 0x1001 tx timeout
[   39.537967] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   39.844410] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
[   47.209794] Bluetooth: hci0: BCM: Reading local version info failed (-110)

Sometimes I also get the following...

dmesg | egrep -i 'blue|firm'
[    1.816785] raspberrypi-firmware soc:firmware: Attached to firmware from 2018-03-16 16:17
[   25.002668] Bluetooth: Core ver 2.22
[   25.066306] Bluetooth: HCI device and connection manager initialized
[   25.189457] Bluetooth: HCI socket layer initialized
[   25.289129] Bluetooth: L2CAP socket layer initialized
[   25.397880] Bluetooth: SCO socket layer initialized
[   25.793880] Bluetooth: hci0: BCM: chip id 63
[   27.908806] Bluetooth: hci0 command 0xfc6e tx timeout
[   35.353127] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   35.353140] Bluetooth: BNEP filters: protocol multicast
[   35.353177] Bluetooth: BNEP socket layer initialized
[   36.329932] Bluetooth: hci0: BCM: Read controller features failed (-110)
[   37.389283] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   37.453147] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36

When I plug the bluetooth dongle into the usb hub, many instances of the message below is logged. This only happens when I plug the bluetooth dongle into the USB hub. The hub is running other USB devices. The message is not logged when I remove the bluetooth device from the hub.

WARN::dwc_otg_handle_mode_mismatch_intr:68: Mode Mismatch Interrupt: currently in Host mode

I have also tried modifying the systemd bluetooth.service to be configured and run before the networking service as suggested at Arch Linux Wiki. Furthermore, if I run rfkill the device is listed as unblocked.

sudo rfkill list
[sudo] password for alarm: 
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

Modules listed by lsmod are included below:

Module                  Size  Used by
ccm                    20480  3
bnep                   20480  2
arc4                   16384  2
rt2800usb              28672  0
rt2800lib             110592  1 rt2800usb
rt2x00usb              20480  1 rt2800usb
rt2x00lib              53248  3 rt2800lib,rt2800usb,rt2x00usb
mac80211              647168  3 rt2800lib,rt2x00lib,rt2x00usb
btusb                  40960  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                16384  1 btusb
cfg80211              577536  2 rt2x00lib,mac80211
bluetooth             356352  12 btrtl,btintel,bnep,btbcm,btusb
crc_ccitt              16384  1 rt2800lib
ecdh_generic           28672  1 bluetooth
bcm2835_rng            16384  0
rng_core               16384  1 bcm2835_rng
uio_pdrv_genirq        16384  0
fixed                  16384  0
uio                    16384  1 uio_pdrv_genirq
sch_fq_codel           20480  5
snd_bcm2835            32768  0
snd_pcm                94208  1 snd_bcm2835
snd_timer              32768  1 snd_pcm
snd                    65536  3 snd_timer,snd_bcm2835,snd_pcm
crypto_user            16384  0
ip_tables              24576  0
x_tables               24576  1 ip_tables
ipv6                  434176  40

Upon inspecting the code for the btusb driver I notice the following at lines 156-158:

/* ASUSTek Computer - Broadcom based */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0b05, 0xff, 0x01, 0x01),
.driver_info = BTUSB_BCM_PATCHRAM },

There does not appear to be an individual usb device configuration for the bluetooth dongle, e.g.
{ USB_DEVICE(0x0b05, 0x17cb) }

Is this a bluetooth driver issue or an issue with usb hub driver?

Kind Regards
dcs3spp

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions