2019-09-28 08:55:51

by Mohammad Rasim

[permalink] [raw]
Subject: [BUG] command 0x1009 tx timeout error in BCM2070

Hi,
This bug has been in the kernel for years and it was posted on kernel
bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64671

My exact bluetooth module with IDS is:
0a5c:21b4 Broadcom Corp. BCM2070 Bluetooth 2.1 + EDR

on pc startup the bluetooth device is not ready and bluetoothctl doesn't
see the controller

looking at the dmesg errors I see this line:
```
[ 11.618685] Bluetooth: hci0: command 0x1009 tx timeout
```

There are two ways to workaround this issue:
1- reload the btusb kernel modules:

rmmod btusb
modprobe btusb

This will reset the device and now the controller is up and recognised
by bluetoothctl

2- reset the device
I used this python script to reset the device:

```
#!/usr/bin/python

from usb.core import find as finddev
dev = finddev(idVendor=0x0a5c, idProduct=0x21b4)
dev.reset()
```

after running this the controller is working and i can connect an pair
devices and i see this in the dmesg errors:

```
[ 62.746083] Bluetooth: hci0: unexpected event for opcode 0x1009
```
Maybe this is a timing issue in which the btusb driver is trying to
probe the device before it's ready ?!

I hope this can be solved from within the kernel code, I can test
any patches and give my feedback.

Regards