eSCO->SCO fallback still doesn't work for me

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I don't know if I'm the unlucky owner of yet another broken Bluetooth
adapter, but I still can't get eSCO->SCO fallback to work, even with
2.6.30-rc7.  Attempting to connect to my headset yields:

	ALSA lib pcm_bluetooth.c:464:(bluetooth_hsp_hw_params) BT_SETCONFIGURATION failed : Input/output error(5)

While my syslog shows:

	hcid[6085]: Audio API: received BT_GETCAPABILITIES_REQ
	hcid[6085]: Audio API: sending BT_GETCAPABILITIES_RSP
	hcid[6085]: Audio API: received BT_SETCONFIGURATION_REQ
	hcid[6085]: config sco - device = 00:0b:2e:03:07:1b access_mode = 2
	hcid[6085]: connect(): Protocol not supported (93)
	hcid[6085]: Unable to lock headset
	hcid[6085]: config failed
	hcid[6085]: Audio API: sending BT_SETCONFIGURATION_RSP

Only by ripping out eSCO support completely[*] can I manage to connect.


I'm attaching the (binary) HCI dump of such a failed connection.  Here's
the output of hciconfig, as well as the relevant part of /proc/usb:

hci0:	Type: USB
	BD Address: 00:10:60:A5:27:84 ACL MTU: 192:8 SCO MTU: 64:8
	UP RUNNING PSCAN ISCAN 
	RX bytes:2414 acl:32 sco:0 events:72 errors:0
	TX bytes:996 acl:30 sco:0 commands:34 errors:0
	Features: 0xff 0xff 0x8f 0xf8 0x18 0x18 0x00 0x80
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
	Link policy: RSWITCH HOLD SNIFF PARK 
	Link mode: SLAVE ACCEPT 
	Name: 'toroia-0'
	Class: 0x080100
	Service Classes: Capturing
	Device Class: Computer, Uncategorized
	HCI Ver: 1.1 (0x1) HCI Rev: 0x639 LMP Ver: 1.1 (0x1) LMP Subver: 0x639
	Manufacturer: Cambridge Silicon Radio (10)

	T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
	D:  Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
	P:  Vendor=0a12 ProdID=0001 Rev=15.93
	C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
	I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
	E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
	E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
	I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
	E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
	I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
	E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
	I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
	E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
	I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
	E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
	I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
	E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
	I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=btusb
	E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
	E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms


Let me know if I can be of any help.


[*] The disable_esco parameter doesn't work for me.  This only turns off
    the one lmp_esco_capable() in net/bluetooth/sco.c, which is not
    enough; there are two more in net/bluetooth/hci_conn.c which will
    make any connection attempt fail.  (There are also two others in
    net/bluetooth/hci_event.c, but they don't appear to have any
    impact.)

-- 
/*
 * Buddy system. Hairy. You really aren't expected to understand this
 *
 */
		-- From /usr/src/linux/mm/page_alloc.cA

Attachment: hci.dump
Description: Binary data


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux