Oneplus 6(t) - THE port to get

Fix: Car Bluetooth only shows Media (A2DP) on OP6/enchilada SFOS — enable HFP by adjusting oFono noplugin.conf

Hi everyone,

I finally got Sailfish OS running on my OnePlus 6 (enchilada). Bluetooth music worked fine in my car (A2DP/AVRCP), but the car never showed the “Phone/Calls” profile — only “Media”. So I couldn’t make/receive calls via the car, even though multimedia playback was OK.

Root cause (for me)
My setup was not advertising HFP (Handsfree) over Bluetooth. bluetoothctl show listed A2DP + “Headset AG”, but NOT “Handsfree Audio Gateway” (UUID 0000111f). The reason was that oFono was started with HFP plugins disabled via --noplugin.

How I fixed it (OP6 / SFOS port)

  1. Install bluetoothctl (if missing):
  • bluetoothctl wasn’t present on my system until I installed bluez tools:

    • devel-su

    • pkcon refresh

    • pkcon install bluez5-tools

  1. Check if HFP is advertised:

    • bluetoothctl show
      If you don’t see:

    • UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb)
      …then the car will often only expose media.

  2. Find the oFono noplugin config:
    My oFono systemd unit loads environment files from:

    • /var/lib/environment/ofono/*.conf

In my case, the file was:

  • /var/lib/environment/ofono/noplugin.conf

It contained (among others):

  • ,hfp_bluez5
  • ,hfp_ag_bluez5
  • ,bluez5

So HFP was explicitly disabled.

  1. Remove the HFP-related entries (and bluez5) from the noplugin list:
    Backup first:

    • devel-su

    • cp /var/lib/environment/ofono/noplugin.conf /var/lib/environment/ofono/noplugin.conf.bak

Edit the file and remove these lines from the --noplugin list:

  • ,hfp_bluez5
  • ,hfp_ag_bluez5
  • ,bluez5
  1. Restart services:

    • devel-su

    • systemctl restart bluetooth

    • systemctl restart ofono

  2. Verify HFP is now advertised:

    • bluetoothctl show | egrep -i 'Handsfree|0000111f|Headset|00001112'

I now see:

  • Handsfree Audio Gateway (0000111f)

  • Handsfree (0000111e)

  • Headset AG (00001112)

  1. IMPORTANT: re-pair your car
    Even after HFP shows up, the car may keep the old “media-only” profile from the previous pairing. I had to:
  • remove pairing on the phone

  • remove the phone from the car

  • pair again

Result
After re-pairing, the car immediately enabled the Phone/Calls profile and both call audio + microphone work correctly.

Hope this helps anyone stuck with “Bluetooth works for music but not calls” on ports where oFono has HFP disabled by default.

(OnePlus 6 / enchilada, Sailfish OS port)

Thanks!

UPDATE: Mister Magister has fixed it so these instructions are not longer needed. Follow to the comment just after this one.

6 Likes

BTW to anyone here, please don’t apply the instructions above, I’ll be fixing it via OTA and if you make some changes like above, it will differ from standard image and you might encounter issues others don’t have

Okay it should be fixed now, do the classic zypper ref; zypper dup

8 Likes

@sturai Problem with MSM tools is a USB port, most of the time it does not recognise the connection,if the usb port supports usb3 the connection will not work. I had the same problem on win 11 when I used an older computer with the older usb the connection worked immediately.

You can check your BIOS for settings for the USB 3.0 ports like Legacy mode, Disable xHCI (USB 3.0) or Enable EHCI (USB 2.0). Or use dongle with USB 2.0 ports.

I actually used an USB-C with an official cable from apple. I am glad you manage to solve it.

Did you ever solve this? I’ve been using postmarket on my device for a couple of years. When I try to flash OOS 9.0 my device is also stuck on the boot animation. I have tried a couple of different downloads of the MSM tool and OOS.

I used OOS 10 for postmarket OS. I might try that again.

EDIT: clearing the cache and user data from > Fastboot > recovery seemed to let the device boot normally. No idea why. I assumed the MSM tool cleared the device.

1 Like

I didn’t solve this. And now, it’s not possible for me to access fastboot any more after using the MSM tool or is it?

should be possible.

hold volume up + power for fastboot

Does that work?

Thanks for your advice. I was able to boot the device after clearing the cache in recovery. I had also assumed that using the MSM tool would totally reset the device. I wasn’t able to install SailfishOS though. I followed the instructions and before being able to flash Lineage or Sailfish I had to erase data in TWRP to avoid error messages. I managed to flash both LOS and SFOS successfully, but the phone gets stuck at the warning message concerning the unlocked bootloader. Prior to downgrading OxygenOS I had been running postmarketos for a while. I guess this messes up partitions in a way that is not conducive to easily flashing other roms. So I used the MSM tool again, unlocked the bootloader and installed pmos, which is fine for me. You helped me unbrick my phone and I can sell it to some other tinkerer.

I’m having the same issue as John.
Flashing the flashable OOS9 image also gives me a Qualcomm Crashdump screen.

fastboot oem unlock
fastboot set_active b
fastboot reboot-bootloader
fastboot getvar all
fastboot -w update images.zip (inside the archive you linked)

the last command is what flash-all.bat would do. I’m on linux.

fastboot boot twrp-3.3.1-2 enchilada.img also only works on slot a for some reason. I assumed MsmDownloadTool would flash both slots.

I feel that there must be some magic step that other people “just know” .
If someone knowledgeable happens to be at Fosdem, let me know. I’ll buy lunch for a working SF installation :wink:

What’s wrong with instructions from verdanditeam homepage? Worked fine here.

after step 5 (fastboot boot twrp-3.3.1-2-enchilada.img) I get a Qualcomm Crashdump screen.
So i continue with step 6 and flash twrp to slot a (that works), but after install the linked lineage.zip, i get another Qualcomm Crashdump screen.

Mister_Magister mentioned

which is not part of the VerandiTeam instructions. So things were a bit unclear.
Also, for example, should I reboot-bootloader between set_active b and flash lineage?
Of course I tried the VerandiTeam instructions before, but I was never even able to e.g. boot into lineage, because of the crashdump thing.

Obviously yes? You’re still on a if you don’t reboot bootloader

thanks!

so this gives me a crashdump:
fastboot oem unlock
fastboot set_active b
fastboot reboot-bootloader
fastboot boot twrp-3.3.1-2-enchilada.img

so i try the other option: switch to slot a, boot twrp and install lineage (twrp installs that to slot b, i guess?)
then after reboot I get a crashdump again.
This means that something is wrong with my slot b?
Shouldn’t this be fixed by whatever the MsmDownloadTool is doing?

Anyway, I tried to flash some of the partitions of the fastboot flashable oos9 image to slot b, but that didn’t fix it either.
So as long as I can boot at least twrp from slot b, I can’t install lineage and thus sailfish to slot a, did I get that right?

maybe you should factory reset it with msm download tool again, use it as an android device to check everything is working and start all over again starting with unlocking ….. good luck. I tried a couples times too to get it working.

So the guy who wrote the instructions didn’t post them here so here they are (not authored by me)

He posted them Oneplus 6(t) - THE port to get - #298 by TheLion01

7 Likes

Thanks a lot!

Installing OOS on slot B via sideloading was the missing step.
I’m not sure, if the fasboot-flash stuff was really necessary.

Once that was done, I was able to boot twrp from b and do all the other stuff.

For the users of OnePlus6 (non-T):
you can find the OOS image to sideload here:
https://xdaforums.com/t/oneplus-6-rom-ota-oxygen-os-mirrors-for-official-oxygen-os-roms-and-ota-updates.3792244/
I’ve used OnePlus6Oxygen_22_OTA_034_all_1909112343_31f86cec5f8d4c7b.zip

again, thanks for the support. Let me know if you happen to be at Fosdem.

i’m not gonna happen to be at fosdem but if you feel like it it you can find donation link on the page of any of my apps

As to the flashing, MSMtool should flash slot b
but it doesn’t

fastboot should flash slot b
but it doesn’t

so you have to flash slot b via twrp

which technically just flashing lineage on slot b should achieve the same thing
but alas
it doesn’t

6t McLaren edition is on my local marketplace for 100 €.. 10 GB RAM seems quite appetizing, is anyone here running this port on it, esp. with “borrowed” AppSupport?

Not me, bud I hope you’ll have fun, and give us some feedback once you buy it and flash SFOS on it.