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

Sander van Grieken sander at outrightsolutions.nl
Thu Jun 11 16:35:53 UTC 2015


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.

old dongle:
    HCI Version: 1.1 (0x1)  Revision: 0x20d
    LMP Version: 1.1 (0x1)  Subversion: 0x20d

onboard adapter:
    HCI Version: 3.0 (0x5)  Revision: 0x1b07
    LMP Version: 3.0 (0x5)  Subversion: 0xfc00

The old dongle doesn't support eSCO, the onboard adapter does:

old dongle:
$ hciconfig hci0 features
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:02:72:B2:A5:15  ACL MTU: 192:8  SCO MTU: 64:8
        Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
                <3-slot packets> <5-slot packets> <encryption> <slot offset>
                <timing accuracy> <role switch> <hold mode> <sniff mode>
                <park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
                <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
                <power control> <transparent SCO>

onboard adapter:
$ hciconfig hic0 features
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 88:53:2E:41:AD:F6  ACL MTU: 310:10  SCO MTU: 64:8
        Features page 0: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x87
                <3-slot packets> <5-slot packets> <encryption> <slot offset>
                <timing accuracy> <role switch> <hold mode> <sniff mode>
                <park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
                <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
                <power control> <transparent SCO> <broadcast encrypt>
                <EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan>
                <interlaced iscan> <interlaced pscan> <inquiry with RSSI>
                <extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave>
                <AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL>
                <sniff subrating> <pause encryption> <AFH cap. master>
                <AFH class. master> <EDR eSCO 2 Mbps> <EDR eSCO 3 Mbps>
                <3-slot EDR eSCO> <extended inquiry> <simple pairing>
                <encapsulated PDU> <non-flush flag> <LSTO> <inquiry TX power>
                <EPC> <extended features>
        Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

The headset does NOT advertise eSCO, only SCO:

        BD Address:  00:13:17:D4:B6:3D
        OUI Company: GN Netcom as (00-13-17)
        Device Name: Jabra BT150
        LMP Version: 1.2 (0x2) LMP Subversion: 0x611
        Manufacturer: Cambridge Silicon Radio (10)
        Features: 0xfc 0xfe 0x0b 0x00 0x08 0x08 0x00 0x00
                <encryption> <slot offset> <timing accuracy> <role switch>
                <hold mode> <sniff mode> <RSSI> <channel quality> <SCO link>
                <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
                <paging scheme> <transparent SCO> <AFH cap. slave>
                <AFH cap. master>

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.




-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (750, 'testing'), (700, 'stable'), (600, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages bluez depends on:
ii  dbus                 1.8.18-1
ii  init-system-helpers  1.23
ii  kmod                 20-1
ii  libc6                2.19-18
ii  libdbus-1-3          1.8.18-1
ii  libglib2.0-0         2.44.1-1
ii  libreadline6         6.3-8+b3
ii  libudev1             215-18
ii  lsb-base             4.1+Debian13+nmu1
ii  udev                 215-18

bluez recommends no packages.

bluez suggests no packages.

-- no debconf information



More information about the Pkg-bluetooth-maintainers mailing list