Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Bluetooth BCM20702A1 timeout
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
slackline
Veteran
Veteran


Joined: 01 Apr 2005
Posts: 1477
Location: /uk/sheffield

PostPosted: Sun Apr 05, 2020 5:29 pm    Post subject: Bluetooth BCM20702A1 timeout Reply with quote

Hi,

I'm trying to get a USB Bluetooth device working, its a BCM20702A1 and initially on plugging it in it wasn't detected...

Code:

[ 5527.699357] usb 1-9: Product: BCM20702A0
[ 5527.699358] usb 1-9: Manufacturer: Broadcom Corp
[ 5527.699358] usb 1-9: SerialNumber: 5CF370993818
[ 5527.736234] Bluetooth: Core ver 2.22
[ 5527.736244] NET: Registered protocol family 31
[ 5527.736245] Bluetooth: HCI device and connection manager initialized
[ 5527.736248] Bluetooth: HCI socket layer initialized
[ 5527.736249] Bluetooth: L2CAP socket layer initialized
[ 5527.736250] Bluetooth: SCO socket layer initialized
[ 5527.748900] usbcore: registered new interface driver btusb
[ 5527.860635] Bluetooth: hci0: BCM: chip id 63
[ 5527.861658] Bluetooth: hci0: BCM: features 0x07
[ 5527.877579] Bluetooth: hci0: BCM20702A
[ 5527.878561] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ 5527.878602] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
[ 5527.878603] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e8.hcd not found


I found a thread on a Ubuntu forum (didn't bookmark it can't find it now) that suggested grabbing the firmware from here so I placed BCM20702A1-0a5c-21e8.hcd into /lib/firmware/brcm/ directory and the device is now detected but dmesg shows a timeout...

Code:

[87601.845352] usb 1-10: USB disconnect, device number 10
[87606.336172] usb 1-10: new full-speed USB device number 34 using xhci_hcd
[87606.464812] usb 1-10: New USB device found, idVendor=0a5c, idProduct=21e8, bcdDevice= 1.12
[87606.464814] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[87606.464815] usb 1-10: Product: BCM20702A0
[87606.464816] usb 1-10: Manufacturer: Broadcom Corp
[87606.464816] usb 1-10: SerialNumber: 5CF370993818
[87606.576483] Bluetooth: hci0: BCM: chip id 63
[87606.577433] Bluetooth: hci0: BCM: features 0x07
[87606.593430] Bluetooth: hci0: BCM20702A
[87606.594424] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[87608.694143] Bluetooth: hci0: command 0x0a0a tx timeout


lsusb detects it but also timesout with errors...

Code:

Bus 001 Device 034: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         1
  bDeviceProtocol         1
  bMaxPacketSize0        64
  idVendor           0x0a5c Broadcom Corp.
  idProduct          0x21e8 BCM20702A0 Bluetooth 4.0
  bcdDevice            1.12
  iManufacturer           1 (error)
  iProduct                2 (error)
  iSerial                 3 (error)
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00da
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      1
      iInterface              0
      Device Firmware Upgrade Interface Descriptor:
        bLength                             9
        bDescriptorType                    33
        bmAttributes                        5
          Will Not Detach
          Manifestation Tolerant
          Upload Unsupported
          Download Supported
        wDetachTimeout                   5000 milliseconds
        wTransferSize                      64 bytes
        bcdDFUVersion                   1.10
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered


I found an old thread in the Arch Linux forums that claims to have solved it by downgrading bluez, but a) its an old thread; b) Portage only has 5.54 available.

On trying to start blueman-manager it errors out, being unable to find the device...

Code:

❱ blueman-manager

(blueman-manager:10977): dbind-WARNING **: 18:12:35.408: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
blueman-manager version 2.1.2 starting

(blueman-manager:10977): GLib-GIO-CRITICAL **: 18:12:35.472: g_dbus_connection_call_sync_internal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Traceback (most recent call last):
  File "/home/neil/.local/lib64/python3.6/site-packages/gi/overrides/Gio.py", line 296, in __call__
    return self._unpack_result(result)
  File "/home/neil/.local/lib64/python3.6/site-packages/gi/overrides/Gio.py", line 302, in _unpack_result
    result = result.unpack()
AttributeError: 'NoneType' object has no attribute 'unpack'

(blueman-manager:10977): GLib-GIO-CRITICAL **: 18:12:35.472: g_dbus_connection_call_sync_internal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Traceback (most recent call last):
  File "/home/neil/.local/lib64/python3.6/site-packages/gi/overrides/Gio.py", line 296, in __call__
    return self._unpack_result(result)
  File "/home/neil/.local/lib64/python3.6/site-packages/gi/overrides/Gio.py", line 302, in _unpack_result
    result = result.unpack()
AttributeError: 'NoneType' object has no attribute 'unpack'
blueman-manager 18.12.35 ERROR    Manager:118 on_dbus_name_appeared: Default adapter not found, trying first available.
blueman-manager 18.12.35 ERROR    Manager:122 on_dbus_name_appeared: No adapter(s) found, exiting


Tried using hciconfig and it can see the device but can't bring it up, it just timesout...

Code:

# hciconfig -a
hci0:   Type: Primary  Bus: USB
   BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
   DOWN
   RX bytes:322 acl:0 sco:0 events:8 errors:0
   TX bytes:40 acl:0 sco:0 commands:10 errors:0
   Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
   Packet type: DM1 DH1 HV1
   Link policy:
   Link mode: SLAVE ACCEPT

# hciconfig hci0 up
Can't init device hci0: Connection timed out (110)


Completely new to bluetooth (only investigating as I got a BangleJS Smartwatch that needs it) so haven't a clue what to try and suggestions gratefully received.
_________________
"Science is what we understand well enough to explain to a computer.  Art is everything else we do." - Donald Knuth
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54827
Location: 56N 3W

PostPosted: Sun Apr 05, 2020 9:10 pm    Post subject: Reply with quote

slackline,

How is net-wireless/bluez built?
You may want USE=deprecated and even extra-tools
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
slackline
Veteran
Veteran


Joined: 01 Apr 2005
Posts: 1477
Location: /uk/sheffield

PostPosted: Sun Apr 05, 2020 9:38 pm    Post subject: Reply with quote

Hi NeddySeagoon,

I'd clocked that USE=deprecated was useful and had already emerged it with that and used hciconfig, now added extra-tools, I'll go and do some reading on these.

Thanks for the pointer to get me started
_________________
"Science is what we understand well enough to explain to a computer.  Art is everything else we do." - Donald Knuth
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum