Bluetooth : car kit with A2DP won't play sound through car speakers if I connect to HFP first

REPRODUCIBILITY: Always
OS VERSION: 5.0.0.77
HARDWARE:Jolla C2
UI LANGUAGE: French
REGRESSION: No

DESCRIPTION:

I use my phone with bluetooth and a Toyota Yaris car (HSD from 2012, old multimedia system).
I have : SPP, A2DP, AVRCP, PAN, HFP, PBAP, MAP in bluetooth parameters.
I can pair my phone, and put it in “Car Kit” mode.

The first time I pair it, I can listen to music, at last one time. No issue for this then.
Issue comes with afterward connections to car.
Then :

  • If I set option to “always authorize connexions from this device”, then the next time I’m connected to my phone, music is coming from phone and not car speakers

  • If I do not set this option it will ask every time before connecting, it may ask for A2DP (then AVRCP, always in this order) or HFP (then PBAP, always in this order). A2DP is for music as I understand, HFP for phone calls

    • If I begin with A2DP and validate connections (A2DP then AVRCP), then I validate HFP (then PBAP), then I can listen to music and control it.
    • If I begin with HFP (then PBAP) and validate connections, then I validate A2DP (then AVRCP), then I have no music, it comes from my phone

PRECONDITIONS:

I need to have paired my phone to my car to have the issue, and connect it obviously

STEPS TO REPRODUCE:

  1. Enable Bluetooth. Pair with the car.

  2. Disconnect bluetooth, maybe restart phone

  3. Connect to the car, either automatic (“always authorize connections from this devine”) or connect HFP first

  4. Open any media file, whatever the application

EXPECTED RESULT:

Sound should come from my car speakers

ACTUAL RESULT:

Sound comes from my phone

MODIFICATIONS:

I use stock applications, it won’t work either with media application from sailfish store

ADDITIONAL INFORMATION:

2 Likes

I can confirm the same behaviour on my 2018 Subaru Outback infotainment system (Fujitsu Ten).

When I pair the phone with the car audio system for the first time, everything works as expected. However, I can’t manually switch the audio output. For example, I’d like to temporarily switch playback to the Jolla Phone’s speakers and then switch it back to the car’s Bluetooth audio output, but that doesn’t seem to be possible from the user interface. I understand this can be done via the terminal, but that isn’t a practical solution for everyday use.

Another issue is that after I turn the car off and then start it again, the phone reconnects to Bluetooth automatically, but the music no longer plays through the car audio system. Instead, the audio comes from the phone’s speakers. I understand that the audio sink can be switched back via the terminal, but again, that’s not something an ordinary user should have to do every time.

Tested on a new Jolla Phone 2026.

Could somebody shed some light on this issue? Is there perhaps an app that provides a user interface for controlling PulseAudio, such as selecting the active audio output (sink), instead of having to use terminal commands?

I have opend a bug report for the same error too Bluetooth connection to car radio is not working correctly

I have found similar symptom when playing with BT headsets. Usually cones to headset, but sometimes when switching to an other headset , starts playing via speakers.
Tested one USB-c to 3.5mm adapter and no sound. Installed audio selector. the phone correctly said USB-c audio when adapter plugged in , but played via speaker. Reboot and test wih norma BT earbug , worked ok. Plugged in rhe adapter and , yes the audio was at headset. So there is a kind of glitch , output is detected to be connected and said to be correct/ the one selected but for some reason audio goes to wrong sink.

I’d treat this as a Bluetooth profile order issue, not as a failed pairing.

From your description, A2DP/AVRCP works if it connects first, but if HFP/PBAP connects first, media stays on the phone. That sounds like the car and phone are both paired, but Sailfish is not moving the media route to the car after the handsfree profile is already active.

For testing, I would avoid “always authorize” for now and connect manually in the order that works: A2DP/AVRCP first, then HFP/PBAP. Also delete the Toyota from the phone and delete the phone from the Toyota, then pair fresh with only this phone saved in the car, just to rule out an old car-side Bluetooth profile.

This is more general Android/iPhone-style car Bluetooth troubleshooting, not Sailfish-specific, but the car-side checks are still useful:
https://thefixcar.com/symptoms/bluetooth-not-connecting-to-car/

In this case I would still focus mostly on Sailfish profile routing, because the car clearly can play audio when A2DP connects first.

1 Like

Same behaviour on JP2 running Sailfish OS Finlayson 5.2.0.15 connected to Fujitsu Ten (Subaru)