Bug 217472 - Patch to Support Broadcom Bluetooth Adapter
Summary: Patch to Support Broadcom Bluetooth Adapter
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 6
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Brian Brock
URL: http://bluetooth-alsa.cvs.sourceforge...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-11-28 02:15 UTC by Jonathan Steffan
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2006-12-22 11:18:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jonathan Steffan 2006-11-28 02:15:29 UTC
Description of problem:
Broadcom bluetooth adaptor not working with bluetooth-alsa

Version-Release number of selected component (if applicable):
btsco 0.42
Built from:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200499
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200498

How reproducible:
Always

Steps to Reproduce:
1. Setup btsco
2. Try to use device
  
Actual results:
Only the microphone works. No audio is able to be sent to device. I am able to
make the device ring, and use the device to adjust the volume level, etc.

Expected results:
Audio will make it to the device.

Additional info:
The suggested patch was pulled from the sourceforge site. I don't know why, so I
pulled the patch from google cache:

--- linux/net/bluetooth/hci_event.c	2006-01-31 07:52:07.000000000 +0100
+++ linux/net/bluetooth/hci_event.c	2006-02-13 10:46:30.000000000 +0100
@@ -320,9 +320,9 @@
 		}
 
 		hdev->acl_mtu  = __le16_to_cpu(bs->acl_mtu);
-		hdev->sco_mtu  = bs->sco_mtu ? bs->sco_mtu : 64;
+		hdev->sco_mtu  = (bs->sco_mtu < 64) ? 64 : bs->sco_mtu;
 		hdev->acl_pkts = hdev->acl_cnt = __le16_to_cpu(bs->acl_max_pkt);
-		hdev->sco_pkts = hdev->sco_cnt = __le16_to_cpu(bs->sco_max_pkt);
+		hdev->sco_pkts = hdev->sco_cnt = bs->sco_max_pkt ?
__le16_to_cpu(bs->sco_max_pkt) : 8;
 
 		BT_DBG("%s mtu: acl %d, sco %d max_pkt: acl %d, sco %d", hdev->name,
 			hdev->acl_mtu, hdev->sco_mtu, hdev->acl_pkts, hdev->sco_pkts);

Comment 1 Jonathan Steffan 2006-11-28 02:17:20 UTC
Just to make the README more apparent:

http://bluetooth-alsa.cvs.sourceforge.net/bluetooth-alsa/btsco/README?view=markup

Comment 2 Marcel Holtmann 2006-11-28 02:39:24 UTC
This fix wasn't accepted upstream and never will be. Most Broadcom based
adapters have a quirk to fix their SCO MTU. If this adapter is not in the list,
you can use the force_scofix module parameter of the hci_usb driver to activate it.


Comment 3 Jonathan Steffan 2006-11-28 20:33:51 UTC
Ok, how do I test this module parameter?

Comment 4 Jonathan Steffan 2006-12-22 11:18:52 UTC
Well, using force_scofix does work. For the record:

Add the following to /etc/modprobe.conf:

options hci_usb force_scofix=1


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