Skip to contentSkip to conversation

Problem with hci_usb

Bluez-devel Nils Faerber 3 participants 5 messages Mar 2, 2004 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

Hi!
I just found a quite strange problem with the hci_usb driver. We have a Fujitsu Siemens Lifebook with builtin Bluetooth here. This seems to be a CSR chipset connected via USB internally.
The problem is that the chipset is set to SCO-PCM not SCO-HCI. Subsequently when SCO is enabled in the hci_usb driver something goes wrong and the usb-uhci driver constanly generates interrupts which are accounted to the UHCI and as ERR interrupts (in /proc/interrupts). Enabling debugging for USB does not produce anything new. What helped a lot is to disable the SCO option for the hci_usb driver. But this solution is quite unsatisfying since externally connected USB Bluetooth dongles would bow also not be able to use SCO over HCI even if they support it.

This is kernel 2.4.25 without additional patches.

The hci_usb in 2.6.3 must be somewhat different.
It reports unsupported isochronous URBs (sorry, might be wrong, this is from my memory since I do not have 2.6.3 logs anymore) and disbled it at device startup. No more unnecessary interrupts and especially no ERR interrupts here.

So, are those changes also available as patch to fix the 2.4.25 driver? The current 2.4.25-mh1 patch at least does not seem to include a fix for this problem...

Apart from that, works like a charm! (Oh, I had to increase the USB hub.c DEBOUNCE_TIMEOUT from 400 to 1500 to make the device detect work...)

CU
nils faerber

Signature · 16 lines
kernel concepts          Tel: +49-271-771091-12
Dreisbachstr. 24         Fax: +49-271-771091-19
D-57250 Netphen          D1 : +49-170-2729106
--



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
maintainer
#1 lore raw

Hi Nils,

Quoted 4 lines

I just found a quite strange problem with the hci_usb driver. We have a Fujitsu Siemens Lifebook with builtin Bluetooth here. This seems to be a CSR chipset connected via USB internally. The problem is that the chipset is set to SCO-PCM not SCO-HCI.

Quoted 8 lines

Subsequently when SCO is enabled in the hci_usb driver something goes wrong and the usb-uhci driver constanly generates interrupts which are accounted to the UHCI and as ERR interrupts (in /proc/interrupts). Enabling debugging for USB does not produce anything new. What helped a lot is to disable the SCO option for the hci_usb driver. But this solution is quite unsatisfying since externally connected USB Bluetooth dongles would bow also not be able to use SCO over HCI even if they support it.

these are the ISOC transfers. The fix is to submit the ISOC URB's only when we really have a SCO connection and don't consume USB bandwith with ISOC URB's when they are not needed.

Quoted 5 lines

The hci_usb in 2.6.3 must be somewhat different.
It reports unsupported isochronous URBs (sorry, might be wrong, this is from my memory since I do not have 2.6.3 logs anymore) and disbled it at device startup. No more unnecessary interrupts and especially no ERR interrupts here.

This should be fixed in 2.6.4-rc1 and 2.6.3-mh3.

Quoted 3 lines

So, are those changes also available as patch to fix the 2.4.25 driver? The current 2.4.25-mh1 patch at least does not seem to include a fix for this problem...

Currently there is no real fix for it and once we have one, I have no plans to backport it to 2.4.

Quoted 3 lines

Apart from that, works like a charm! (Oh, I had to increase the USB hub.c DEBOUNCE_TIMEOUT from 400 to 1500 to make the device detect work...)

This should be send to the USB guys.

Regards

Marcel

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#2 lore raw

Am Di, den 02.03.2004 schrieb Marcel Holtmann um 18:30:

Quoted 1 line

Hi Nils,

Hi!

Quoted 11 lines
Quoted 5 lines

The hci_usb in 2.6.3 must be somewhat different.
It reports unsupported isochronous URBs (sorry, might be wrong, this is from my memory since I do not have 2.6.3 logs anymore) and disbled it at device startup. No more unnecessary interrupts and especially no ERR interrupts here.

This should be fixed in 2.6.4-rc1 and 2.6.3-mh3.

Quoted 3 lines

So, are those changes also available as patch to fix the 2.4.25 driver? The current 2.4.25-mh1 patch at least does not seem to include a fix for this problem...

Currently there is no real fix for it and once we have one, I have no plans to backport it to 2.4.

Why that?
2.4 is still the stable kernel and used by many users, so I think it would be worth the effort.
Would you accept a patch given that someone else does the backport?

Quoted 4 lines
Quoted 3 lines

Apart from that, works like a charm! (Oh, I had to increase the USB hub.c DEBOUNCE_TIMEOUT from 400 to 1500 to make the device detect work...)

This should be send to the USB guys.

Sure ... just mentioned it for completeness...

Quoted 2 lines

Regards
Marcel

CU
nils faerber

Signature · 4 lines
kernel concepts          Tel: +49-271-771091-12
Dreisbachstr. 24         Fax: +49-271-771091-19
D-57250 Netphen          D1 : +49-170-2729106
--
maintainer
#3 lore raw

Hi Nils,

Quoted 6 lines
Quoted 2 lines

Currently there is no real fix for it and once we have one, I have no plans to backport it to 2.4.

Why that?
2.4 is still the stable kernel and used by many users, so I think it would be worth the effort.

the current stable kernel is 2.6 and it seems that 2.4 will be closed with 2.4.27.

Quoted 1 line

Would you accept a patch given that someone else does the backport?

For this feature you need first to backport the voice setting patch from 2.6 and you have to add the notify framework patch. Both are HCI core changes and I think these are 2.6 changes only, but if anyone builds a clean set of patches for 2.4 we can talk again.

Regards

Marcel

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#4 lore raw
In reply to Nils Faerber
Quoted 26 lines · Nils Faerber

Hi!
I just found a quite strange problem with the hci_usb driver. We have a Fujitsu Siemens Lifebook with builtin Bluetooth here. This seems to be a CSR chipset connected via USB internally.
The problem is that the chipset is set to SCO-PCM not SCO-HCI. Subsequently when SCO is enabled in the hci_usb driver something goes wrong and the usb-uhci driver constanly generates interrupts which are accounted to the UHCI and as ERR interrupts (in /proc/interrupts). Enabling debugging for USB does not produce anything new. What helped a lot is to disable the SCO option for the hci_usb driver. But this solution is quite unsatisfying since externally connected USB Bluetooth dongles would bow also not be able to use SCO over HCI even if they support it.

This is kernel 2.4.25 without additional patches.

The hci_usb in 2.6.3 must be somewhat different.
It reports unsupported isochronous URBs (sorry, might be wrong, this is from my memory since I do not have 2.6.3 logs anymore) and disbled it at device startup. No more unnecessary interrupts and especially no ERR interrupts here.

So, are those changes also available as patch to fix the 2.4.25 driver? The current 2.4.25-mh1 patch at least does not seem to include a fix for this problem...

Quoted 7 lines

Apart from that, works like a charm! (Oh, I had to increase the USB hub.c DEBOUNCE_TIMEOUT from 400 to 1500 to make the device detect work...)

CU
nils faerber

SCO support in bluez is still in development.
Once it works correctly in 2.6.x, someone might back port it to 2.4.x, but there is no point in back porting something until it is finished. Everything you describe above is "known issues".

Cheers
James

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel