Bug 8294

Summary: After connecting USB-Bluetooth Dongle Belkin F8T012 USB-system stops responding
Product: Drivers Reporter: escalope (bux23)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: RESOLVED CODE_FIX    
Severity: normal CC: marcel, protasnb
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.20.1 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    

Description escalope 2007-04-01 15:28:51 UTC
Distribution: Ubuntu 6.10 (also reproduced under Fedora Core 5 and Knoppix 5.2)
Hardware Environment: Notebook Asus M6800N, Belkin USB Bluetooth Dongle F8T012

Problem Description: After connecting this USB-Dongle the whole USB-subsystem
seems to hang - "lsusb" or "cat /prob/bus/usb/devices" do nothing (they seem to
hang). After disconnecting the Dongle they print out their output (including
information to the bluetooth dongle). "/var/log/messages" prints an pegasus
error message.  

Steps to reproduce: I used this device on several machines and different
distributions - everywhere the same.



/var/log/messages

Apr  1 23:30:38 asus syslogd 1.4.1#18ubuntu6: restart.
Apr  1 23:32:49 asus kernel: [17180353.644000] pegasus 2-1:1.0: fail read_eprom_word
Apr  1 23:32:49 asus kernel: [17180353.896000] pegasus: probe of 2-1:1.0 failed
with error -5
Apr  1 23:32:49 asus kernel: [17180354.148000] pegasus 2-1:1.1: fail read_eprom_word
Apr  1 23:32:49 asus kernel: [17180354.400000] pegasus: probe of 2-1:1.1 failed
with error -5
Apr  1 23:32:50 asus kernel: [17180354.656000] pegasus 2-1:1.2: fail read_eprom_word
Apr  1 23:32:50 asus kernel: [17180354.996000] pegasus: probe of 2-1:1.2 failed
with error -5
Apr  1 23:32:50 asus kernel: [17180355.248000] pegasus 2-1:1.3: fail read_eprom_word
Apr  1 23:32:50 asus kernel: [17180355.496000] pegasus: probe of 2-1:1.3 failed
with error -5
Apr  1 23:32:50 asus kernel: [17180355.496000] usbcore: registered new driver
pegasus
Apr  1 23:32:50 asus kernel: [17180355.592000] Bluetooth: HCI USB driver ver 2.9
Apr  1 23:32:50 asus kernel: [17180355.596000] usb 2-1: USB disconnect, address 2
Apr  1 23:32:51 asus kernel: [17180355.728000] usbcore: registered new driver
hci_usb



/proc/bus/usb

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=050d ProdID=0121 Rev= 1.00
S:  Manufacturer=Broadcom Corp
S:  Product=BELKIN BLUETOOTH USB ADAPTER CL. 1
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)
Comment 1 Robert Bordelon 2007-05-04 16:30:03 UTC
I have the Belkin F8T012xx1 Bluetooth adapter and have the same problem as
described, on Debian unstable / kernel 2.6.20. The problem seems to be because
this adapter uses a VID/PID which is (also?) assigned to a Belkin USB ethernet
adapter, causing an attempt to load the pegasus driver. The driver hangs while
probing the adapter, which causes the whole Bluetooth system to freeze up.
Unplugging the adapter will unfreeze the Bluetooth system, but of course leaving
you without a working adapter.

I worked around this problem (in an ugly manner) by hiding (renaming) the
pegasus.ko driver so it will not be loaded when the adapter is inserted.
Apparently no additional drivers beyond the bluetooth.ko and its dependents are
needed in order to use this adapter. Now the Bluetooth subsystem can find the
adapter, and I can see other Bluetooth devices which are in range. I haven't yet
tried to actually transfer data across the Bluetooth link as I'm just learning
about Bluetooth, but hopefully this will be helpful to others with this adapter.

Robert
Comment 2 Natalie Protasevich 2007-06-14 09:00:54 UTC
Maybe it's a matter of sorting out device ID's.
Will pass it on to maintainer.
Thanks.
Comment 3 Marcel Holtmann 2007-06-14 19:01:26 UTC
If the pegasus.ko driver claims a device with a Bluetooth class identifier then please fix that driver. There is nothing the hci_usb.ko driver can do about. Cls=e0(unk. ) Sub=01 Prot=01 means Bluetooth. Period.
Comment 4 Greg Kroah-Hartman 2007-09-05 06:59:46 UTC
The pegasus driver isn't binding to the driver, but it's device id is saying that it supports this device. I'll work on removing that device id, as it must be incorrect.
Comment 5 Martin Capitanio 2008-05-29 07:15:28 UTC
ubunties released this hack:

http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=commitdiff;h=77d6ec19785ff831150378a1073c21024e88fb05;hp=12863a3ad9e6bb21d8df03076f4ca0b40abec0a7

I can confirm inserting the usb-stick crashes the linux-kernel no more and
it is actually working :-)
Comment 6 Greg Kroah-Hartman 2008-05-29 12:14:31 UTC
This has been fixed in the main kernel tree for a while now, please upgrade your kernel.
Comment 7 Martin Capitanio 2008-05-30 04:17:07 UTC
The 2.6.24 kernel used by latest ubuntu distribution is apparently broken. Do you mean the 2.6.25* or 2.6.26* kernels? I could not grep any notice in git about fixing this bug.
Comment 8 Greg Kroah-Hartman 2008-05-30 08:29:08 UTC
This is not a database for ubuntu kernel bugs, but for issues in the kernel.org releases.

and yes, it should be fixed in 2.6.25, it was resolved with a patch to the relevant drivers.
Comment 9 Martin Capitanio 2008-05-30 16:14:42 UTC
IMHO it was buggy "kernel.org's" 2.6.24 kernel they fixed. Anyway thanks for explanation and closing this bug.