Re: Setup Synchronous Connection fails when switching Sony WH-H900N headset to HSP

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

 



Hi James,

On Thu, Apr 23, 2020 at 4:06 AM James Belchamber <james@xxxxxxxxxxxxxx> wrote:
>
> Only difference in the btmon output is the handle (256 instead of 67)
> - otherwise it all looks the same and it connects first time.
>
> What logs are useful? I have the Chromebook in developer mode and so I
> can capture whatever you want (hopefully!)

Then I think this is because PulseAudio is using HSP not HFP, the
headset might be expecting a call to exist, or something similar on
HSP, in order to accept the SCO connection so the state machine is not
ready, have a look if Chrome OS is sending any AT command before
trying to connect SCO, or just past the btmon logs in some
pastebing/gist.github.com so we can analyze what is going on.

> On Wed, 22 Apr 2020 at 23:32, Luiz Augusto von Dentz
> <luiz.dentz@xxxxxxxxx> wrote:
> >
> > Hi James,
> >
> > On Wed, Apr 22, 2020 at 11:27 AM James Belchamber <james@xxxxxxxxxxxxxx> wrote:
> > >
> > > Just bumping this for visibility, still an issue with the latest kernel.
> > >
> > > Happy to test anything thrown my way.
> > >
> > > On Mon, 6 Apr 2020 at 16:19, James Belchamber <james@xxxxxxxxxxxxxx> wrote:
> > > >
> > > > When using my Sony WH-H900N headphones and switching from A2DP to
> > > > HSP/HFP the following error appears in journalctl:
> > > >
> > > > (  60.063|   0.000) D: [pulseaudio] module-bluez5-device.c: Acquiring
> > > > transport /org/bluez/hci0/dev_04_5D_4B_E9_C9_90/fd34
> > > > (  60.063|   0.000) I: [pulseaudio] backend-native.c: doing connect
> > > > (  60.174|   0.111) E: [pulseaudio] backend-native.c: connect():
> > > > Function not implemented
> > > >
> > > > And using btmon I can see the HCI command comes back with a failure
> > > > (full log attached):
> > > >
> > > > < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
> > > >         Handle: 67
> > > >         Transmit bandwidth: 8000
> > > >         Receive bandwidth: 8000
> > > >         Max latency: 10
> > > >         Setting: 0x0060
> > > >           Input Coding: Linear
> > > >           Input Data Format: 2's complement
> > > >           Input Sample Size: 16-bit
> > > >           # of bits padding at MSB: 0
> > > >           Air Coding Format: CVSD
> > > >         Retransmission effort: Optimize for power consumption (0x01)
> > > >         Packet type: 0x0380
> > > >           3-EV3 may not be used
> > > >           2-EV5 may not be used
> > > >           3-EV5 may not be used
> > > > > HCI Event: Command Status (0x0f) plen 4
> > > >       Setup Synchronous Connection (0x01|0x0028) ncmd 1
> > > >         Status: Success (0x00)
> > > > > HCI Event: Max Slots Change (0x1b) plen 3
> > > >         Handle: 67
> > > >         Max slots: 1
> > > > > HCI Event: Synchronous Connect Complete (0x2c) plen 17
> > > >         Status: Unspecified Error (0x1f)
> > > >         Handle: 67
> > > >         Address: 04:5D:4B:E9:C9:90 (Sony Corporation)
> > > >         Link type: eSCO (0x02)
> > > >         Transmission interval: 0x00
> > > >         Retransmission window: 0x00
> > > >         RX packet length: 0
> > > >         TX packet length: 0
> > > >         Air mode: u-law log (0x00)
> > > >
> > > > This works on ChromeOS, which also uses a (modified) BlueZ stack -
> > > > though I can't work out why :)
> >
> > It doesn't look like it is a host problem and Ive never seem this
> > error before, have you tried with the same controller on Chrome OS? It
> > may be worth trying to capture the logs in Chrome OS so we can compare
> > if there is something different in the command parameters, but it
> > could as well be that Chrome uses HFP instead of HSP as PulseAudio
> > does and the headset is sensitive to that.
> >
> > --
> > Luiz Augusto von Dentz



-- 
Luiz Augusto von Dentz



[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