Re: Some headsets appear don't work when BlueZ connecting with both HSP AG and HFP AG.

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

 



Hi,

Any comments on this?

We have thought about how to fix it in client side, that is registering HFP AG or HSP AG profile with `AutoConnect` disabled and let PipeWire to initiate headset profile connection throw `org.bluez.Device1.ConnectProfile(string uuid).

But for headset has no A2DP support, PipeWire is not possible to get triggered with device connection event when other application is calling `org.bluez.Device1.Connect()` if `AutoConnect` is disabled on HSP AG and HFP AG profiles, so that PipeWire don't know when to initiate headset profile connection.

Currently we disabled HSP AG by default on PipeWire to work around this problem.
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/425

Regards,
Bao.

On 1/23/21 10:14 PM, Huang-Huang Bao wrote:
Hi linux-bluetooth,


PipeWire recently got HFP AG support,

its native headset backend registers both HSP AG profile and HFP AG profile with `AutoConnect` enabled by default.

Hence, BlueZ would trying to connect headset with both HSP and HFP. Seems it causes some headsets stop to work with HFP/HSP profile.

Discussions on PipeWire: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/604#note_773590

Frédéric Danis says:
>Currently it seems to me that there are at least 3 behaviours when both native HSP and HFP are enabled, depending on the Headset/Speaker:
 >
 >    with Sony WH-1000XM3, iiuc:
 >        HFP is tried first, starting SLC process
>        then a connection to HSP is rejected by the headset which stops to send AT commands on the HFP RFComm channel
 >        Audio is not working
 >    with Sony WH-CH710N:
 >        HFP is tried first, starting SLC process
>        then a connection to HSP is rejected by the headset, but the headset keeps on sending AT commands on the HFP RFComm channel
 >        Audio is working
 >    with JBL GO 2 speaker:
 >        HFP is tried first, starting SLC process on a RFComm channel
>        then HSP is connected on a second RFComm channel and following HFP AT commands are sent on this second channel
 >        Audio is not working (iirc)

Can it be fixed in BlueZ? For example, do not auto-connect HSP or HFP profile if the other one has been connected. Maybe to add an extra option "Conflicts" on "org.bluez.ProfileManager1.RegisterProfile()" to indicate UUIDs which conflict with registered profile.

Regards,
Bao



[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