[Pkg-bluetooth-maintainers] Bug#788466: bluez attempts eSCO connection, even when device only advertises SCO

Dave Williams dave at opensourcesolutions.co.uk
Tue Jan 12 23:10:06 UTC 2016


ander van Grieken <sander at outrightsolutions.nl> wrote:

> Package: bluez
> Version: 5.23-2+b1
> Severity: important
> 
> I have an old Jabra BT150 headset that I have since recently been able
> to use
> again because Bluez5 has added support for HSP.
> 
> Now, I can make it work using an old dongle, but with a (newer)
> onboard adapter
> the audio connection fails.
> 
> But regardless, using the onboard adapter bluez will still attempt to
> set up an
> eSCO connection:
> 
> < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
>     handle 40 voice setting 0x0060 ptype 0x0380
> > HCI Event: Number of Completed Packets (0x13) plen 5
>     handle 40 packets 1
> > HCI Event: Command Status (0x0f) plen 4
>     Setup Synchronous Connection (0x01|0x0028) status 0x1a ncmd 1
>     Error: Unsupported Remote Feature / Unsupported LMP Feature
> 
> With old dongle:
> < HCI Command: Add SCO Connection (0x01|0x0007) plen 4
>     handle 41 ptype 0x00e0
>     Packet type: HV1 HV2 HV3
> ....
> 
> It looks like the capabilities of the headset are not taken into
> account.
Further analysis of the issue shows there is a bug in the bluetooth
kernel module in respect to disable_esco option switch. This switch is
used in conjunction with the device capabilities to set the link type to
SCO_LINK or ESCO_LINK in in sco_connect() in sco.c. This type is picke
up in hci_conn_add() in hci_conn.c and reinterpreted to set the actual
link type used. Unfortunately it ONLY uses the device capability and
ignores the disable_esco option overriding what might have been set.

The net result is that older devices that maybe dont report their
capability properly cannot be configured to receive only SCO via the
option switch and subsequently fail with exactly the 0x1a Unsupported
Remote Feature you reported.

This is probably easy to fix.

I am having this issue with a Blackberry (Plantronics) HS 655 headset
where pulseaudio fails to set HSP/HFP profile because of this.


Dave



More information about the Pkg-bluetooth-maintainers mailing list