Bug 15360 - Bluetooth dongle can't be put into UP state
Bluetooth dongle can't be put into UP state
Status: RESOLVED OBSOLETE
Product: Drivers
Classification: Unclassified
Component: Bluetooth
All Linux
: P1 high
Assigned To: drivers_bluetooth@kernel-bugs.osdl.org
:
Depends on:
Blocks: 14230
  Show dependency treegraph
 
Reported: 2010-02-20 08:00 UTC by Cijoml Cijomlovic Cijomlov
Modified: 2012-06-18 15:08 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.32.3
Tree: Mainline
Regression: Yes


Attachments

Description Cijoml Cijomlovic Cijomlov 2010-02-20 08:00:29 UTC
In 2.6.31:
hci0:   Type: USB
        BD Address: 00:15:AF:FA:36:04 ACL MTU: 1021:8 SCO MTU: 64:1
        UP RUNNING PSCAN
        RX bytes:1348156 acl:3392 sco:0 events:1253 errors:0
        TX bytes:306309 acl:2175 sco:0 commands:42 errors:0

In 2.6.32:
hci0:   Type: USB
        BD Address: 00:00:00:00:00:00 ACL MTU: 1021:8 SCO MTU: 64:1
        UP RUNNING PSCAN
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:42 errors:0

Eee901:/home/cijoml# lsusb
Bus 004 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1
Comment 1 Andrew Morton 2010-02-23 00:08:37 UTC
(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Sat, 20 Feb 2010 08:00:33 GMT bugzilla-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=15360
> 
>            Summary: Bluetooth dongle can't be put into UP state
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: 2.6.32.3
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: high
>           Priority: P1
>          Component: Bluetooth
>         AssignedTo: drivers_bluetooth@kernel-bugs.osdl.org
>         ReportedBy: cijoml@volny.cz
>         Regression: Yes
> 
> 
> In 2.6.31:
> hci0:   Type: USB
>         BD Address: 00:15:AF:FA:36:04 ACL MTU: 1021:8 SCO MTU: 64:1
>         UP RUNNING PSCAN
>         RX bytes:1348156 acl:3392 sco:0 events:1253 errors:0
>         TX bytes:306309 acl:2175 sco:0 commands:42 errors:0
> 
> In 2.6.32:
> hci0:   Type: USB
>         BD Address: 00:00:00:00:00:00 ACL MTU: 1021:8 SCO MTU: 64:1
>         UP RUNNING PSCAN
>         RX bytes:0 acl:0 sco:0 events:0 errors:0
>         TX bytes:0 acl:0 sco:0 commands:42 errors:0
> 
> Eee901:/home/cijoml# lsusb
> Bus 004 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1

It's a 2.6.31 -> 2.6.32 regression.  Is it likely to be in
drivers/bluetooth, or in drivers/usb?
Comment 2 Cijoml Cijomlovic Cijomlov 2010-02-23 07:07:51 UTC
Hello,

it seems to be more Bluetooth driver's problem, because I see the dongle in lsusb

Bus 005 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1

Michal
Comment 3 Cijoml Cijomlovic Cijomlov 2010-02-23 07:41:37 UTC
Hello, 

it seems to be more Bluetooth driver's problem, because I see the dongle in 
lsusb 

Bus 005 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 
2.1 

Michal 

Andrew Morton writes: 

> 
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface). 
> 
> On Sat, 20 Feb 2010 08:00:33 GMT bugzilla-daemon@bugzilla.kernel.org wrote: 
> 
>> http://bugzilla.kernel.org/show_bug.cgi?id=15360 
>> 
>>            Summary: Bluetooth dongle can't be put into UP state
>>            Product: Drivers
>>            Version: 2.5
>>     Kernel Version: 2.6.32.3
>>           Platform: All
>>         OS/Version: Linux
>>               Tree: Mainline
>>             Status: NEW
>>           Severity: high
>>           Priority: P1
>>          Component: Bluetooth
>>         AssignedTo: drivers_bluetooth@kernel-bugs.osdl.org
>>         ReportedBy: cijoml@volny.cz
>>         Regression: Yes 
>> 
>> 
>> In 2.6.31:
>> hci0:   Type: USB
>>         BD Address: 00:15:AF:FA:36:04 ACL MTU: 1021:8 SCO MTU: 64:1
>>         UP RUNNING PSCAN
>>         RX bytes:1348156 acl:3392 sco:0 events:1253 errors:0
>>         TX bytes:306309 acl:2175 sco:0 commands:42 errors:0 
>> 
>> In 2.6.32:
>> hci0:   Type: USB
>>         BD Address: 00:00:00:00:00:00 ACL MTU: 1021:8 SCO MTU: 64:1
>>         UP RUNNING PSCAN
>>         RX bytes:0 acl:0 sco:0 events:0 errors:0
>>         TX bytes:0 acl:0 sco:0 commands:42 errors:0 
>> 
>> Eee901:/home/cijoml# lsusb
>> Bus 004 Device 002: ID 0b05:b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1
> 
> It's a 2.6.31 -> 2.6.32 regression.  Is it likely to be in
> drivers/bluetooth, or in drivers/usb? 
>
Comment 4 Fernando D. Bozzo 2010-03-12 19:23:31 UTC
I've made a full report of this bug here:

https://bugs.launchpad.net/bugs/493747

Hope it helps!
Comment 5 Florian Mickler 2010-10-07 20:14:35 UTC
Hi Fernando!
Is this still present in current mainline kernels?

If yes, could you try to run git-bisect on the bug? (see man git-bisect)

That will (hopefully) give us the exact patch that introduced this regressen and will probably help us in finding the root cause of this issue.

Regards,
Flo
Comment 6 Fernando D. Bozzo 2010-10-09 17:52:15 UTC
Hi Florian:

I would like to help, but don't know when to run git-bisect and with wich parameters. Do I run it before or after pluging the dongle?
If you can guide me, I will do it

Thanks!
Comment 7 Florian Mickler 2010-10-09 20:12:58 UTC
git-bisect is a tool that is part of git, the version control system used for developing the linux kernel. 
( installed probably via
$ sudo aptitude -y install git-core
)



It is not that hard, but you need to compile roughly 15 kernels and test each of them for the bug. If all goes well, it fingers you the exact change that broke your setup.


For starters, take your current kernel .config and save it somewhere
$zcat /proc/config.gz > ~/my_config  #for example

Then you use git to get the kernel sources by downloading Linus repository: 

$git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

This gives you a folder called "linux-2.6" which is your clone of Linus git repository. It contains all the source code of Linux. 

The instructions for git bisect are in the man page
$man git-bisect

To get started just do (inside the "linux-2.6" directory):
 
$ git bisect start
$ git bisect good v2.6.31 #known good version
$ git bisect bad v2.6.32 #known bad version

[now git checks out a status between v2.6.31 and v2.6.32. Once that is done, you copy your saved copy of the kernel configuration from ~/my_config to .config in the linux-2.6 directory, and type : ]

$ make oldconfig 

[ this massages the config into the right form, just hit enter, if it asks you something.

now use this commandline to build you a kernel package: ]

$ CONCURRENCY_LEVEL=4 fakeroot make-kpkg --initrd --append-to-version=bisection kernel-image 

$ cd ..
$  dpkg -i {name of the kernel package}

[ now reboot into that new kernel and test if it exhibits the issue ]

if it exhibits the issue type:
 
$ git bisect bad 

else 
$ git bisect good 

to let git check out your next kernel. 
Now, again,  compile that kernel (starting with your original config from ~/my_config) ,install it, boot it and test it for the bug. 


if you encounter a kernel that does not boot, or does not compile, just use 

$ git bisect skip 

to let git hand you another kernel to check. 

and with 
$ git bisect visualize

you can look at the range of commits that are yet to test.

Hope this helps. 

Regards,
Flo

Note You need to log in before you can comment on or make changes to this bug.