All of lore.kernel.org
 help / color / mirror / Atom feed
* Failure to connect Sony headsets
@ 2018-06-14  7:05 João Paulo Rechi Vita
  2018-06-14 11:57 ` Tanu Kaskinen
  0 siblings, 1 reply; 13+ messages in thread
From: João Paulo Rechi Vita @ 2018-06-14  7:05 UTC (permalink / raw)
  To: Luiz Augusto von Dentz, Tanu Kaskinen
  Cc: linux-bluetooth, General PulseAudio Discussion,
	João Paulo Rechi Vita, linux

Hello Luiz and Tanuk,

I have been trying to understand a problem when trying to establish a
connection between my Sony MW-600 headset and my laptop (PulseAudio
11.1 + a backport that gives higher priority to A2DP, BlueZ 5.47,
Linux 4.16.9). When the connection is initiated by the peripheral,
after it has already been paired on a previous connection, the
peripheral does not remain connected. When the computer initiates the
connection everything works fine. The problem seems to be that when we
create the card in PulseAudio is created before the AVDTP connection
reaches the OPEN state, the headset decides to abort the AVDTP
connection. In this case the card was created before the transport for
the card profile a2dp_sink is available and headset_head_unit was the
active profile, because WAIT_FOR_PROFILES_TIMEOUT_USEC was reached.

Increasing the timeout to 60s makes the problem go away. The AVDTP
channel becomes connected about 50s after the HSP connection has
started and the card is created with a2dp_sink as the active profile.
I also had to disable module-card-restore, otherwise it tries to
switch to the saved a2dp_sink profile right when the card is created,
which also makes the device abort the AVDTP connection for some
reason.

I have collected btmon dumps with a slightly modified version of btmon
to avoid flooding the logs with SCO data and uploaded to
https://gist.github.com/jprvita/a7482db4601d099788c4f820ea984ba9.

Similar symptoms have been reported by our QA team with another Sony
model (MDR-XB950N1) and with a few Chinese headsets, but the MW-600 is
the only one I have access to where I can reproduce the problem
consistently (works fine on a Sennheiser MM-450 and a JBL Flip 2).

Also, the involvement of module-card-restore in this problem made me
think whether it actually makes sense to restore the active profile
from the previous connection on bluetooth cards, since we already have
module-bluetooth-policy to automatically select the right profile
depending on the stream type.

Please let me know if you can help me understand what is making the
headset decide to disconnect AVDTP in these cases, and what is the
best way to fix this, or any ideas that may help investigating this
further.

Thanks!

--
Jo=C3=A3o Paulo Rechi Vita
http://about.me/jprvita

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-06-27 22:55 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-14  7:05 Failure to connect Sony headsets João Paulo Rechi Vita
2018-06-14 11:57 ` Tanu Kaskinen
2018-06-14 15:05   ` João Paulo Rechi Vita
2018-06-14 15:27     ` Tanu Kaskinen
2018-06-14 23:33       ` João Paulo Rechi Vita
2018-06-20 14:47         ` Luiz Augusto von Dentz
2018-06-21 10:27           ` Luiz Augusto von Dentz
2018-06-21 19:21             ` João Paulo Rechi Vita
2018-06-26 10:55               ` Luiz Augusto von Dentz
2018-06-26 15:41                 ` João Paulo Rechi Vita
2018-06-27  7:08                   ` Tanu Kaskinen
2018-06-27  8:15                   ` Luiz Augusto von Dentz
2018-06-27 22:55                     ` João Paulo Rechi Vita

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.