FS#27449 - [linux] Bluetooth: hci0 command tx timeout
Attached to Project:
Arch Linux
Opened by René Herman (rene) - Sunday, 04 December 2011, 18:39 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 07 February 2012, 08:16 GMT
Opened by René Herman (rene) - Sunday, 04 December 2011, 18:39 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 07 February 2012, 08:16 GMT
|
Details
Description:
Recently, my brand-less USB bluetooth adapter has stopped working. Upon insertion, it's recognized but immediately bombs out with: [ 28.823352] usb 2-1: new full speed USB device number 2 using uhci_hcd [ 29.045600] Bluetooth: Generic Bluetooth USB driver ver 0.6 [ 29.215328] usbcore: registered new interface driver btusb [ 30.350008] Bluetooth: hci0 command tx timeout Used to work fine up to and including, if I'm not mistaken, 3.0.x. Already tons of this report out there in the google results; I'm hoping that bundling this problem through a distro-bugzilla helps in getting it fixed. Additional info: linux-3.1.4-1 (and, probably/maybe, a few version before that). A self-compiled 3.1 acts the same. Steps to reproduce: Try to use bluetooth |
This task depends upon
Closed by Andrea Scarpino (BaSh)
Tuesday, 07 February 2012, 08:16 GMT
Reason for closing: Upstream
Additional comments about closing: AFAIK is fixed in linux
Tuesday, 07 February 2012, 08:16 GMT
Reason for closing: Upstream
Additional comments about closing: AFAIK is fixed in linux
Have sent this also to the commit authors and LKML, but it hasn't appeared in the LKML archives yet. Will update this to include the link later if I remember.
EDIT: https://lkml.org/lkml/2011/12/22/388
EDIT2: The email setup of a poster in that thread breaks threading on lkml.org (sigh...). If someone wants to view it:
http://groups.google.com/group/kernelarchive/browse_thread/thread/aa1be3172da10dac/6a81de4139de27c6?show_docid=6a81de4139de27c6#
[code]
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 56943ad..c7f794e 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -540,7 +540,7 @@ int hci_dev_open(__u16 dev)
ret = __hci_request(hdev, hci_init_req, 0,
msecs_to_jiffies(HCI_INIT_TIMEOUT));
- if (lmp_host_le_capable(hdev))
+ if (lmp_le_capable(hdev))
ret = __hci_request(hdev, hci_le_init_req, 0,
msecs_to_jiffies(HCI_INIT_TIMEOUT));
[/code]
http://article.gmane.org/gmane.linux.bluez.kernel/19950/
http://article.gmane.org/gmane.linux.bluez.kernel/19951/
Versions that apply cleanly against 3.1.7 available at:
https://lkml.org/lkml/2012/1/4/143
$ uname -r
3.2-pf
dmesg:
[ 3816.704098] usb 4-1: USB disconnect, device number 3
[ 3818.160051] usb 4-1: new full-speed USB device number 4 using uhci_hcd
[ 3819.464016] Bluetooth: hci0 command tx timeout
[ 3829.598020] Bluetooth: hci0 command tx timeout
[ 3830.204069] usb 4-1: USB disconnect, device number 4
As indicated in the above, my specific problem was (triggered by) my bluetooth adapter not supporting little-endian and the patches in 3.3 fix that specific issue. You seem to have a different issue.
If you are sure that the adapter worked in 3.0.N and stopped in, say, 3.1.M then I wouldn't have a much better suggestion than bisecting the problem. This presupposes that you are comfortable with compiling your own kernels. If you'd have a git tree setup that includes those stable versions (*), you'd start the process with
$ git bisect good v3.0.N
$ git bisect bad v3.1.M
Git now checks out an intermediate tree, which you then make / install / boot / test. If it's still not working in that one:
$ git bisect bad
... and repeat the make/test cycle. If it IS working, "git bisect good" instead and do the same. This should in the end lead you to the offending commit. The process entails a few kernel compiles, which you might be able to speed up by installing "ccache" before starting the bisection process:
https://wiki.archlinux.org/index.php/Ccache
Beware that the ccache version of the tools have to come in the path before the regular versions to have this work.
(*) "git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git"
(note: I'd still like to request closure of this bug; the very unspecific error message means we'd be gathering up basically all different Bluetooth adapter-errors in this one report, which would be less than helpful.)