Bug 2004740 - Bluetooth headphones only show A2DP profiles, no HFP/HSP profiles available
Summary: Bluetooth headphones only show A2DP profiles, no HFP/HSP profiles available
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pipewire
Version: 35
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Wim Taymans
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-09-15 20:21 UTC by Mikhail Kondrashov
Modified: 2021-10-08 20:47 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-10-08 20:47:29 UTC
Type: Bug


Attachments (Terms of Use)

Description Mikhail Kondrashov 2021-09-15 20:21:12 UTC
Description of problem:

The sound settings doesn't have HSP/HFP profiles, only A2DP ones.

Hardware Details:
MB: Asus ROG STRIX B360-I Gaming
BT: Intel 9460/9560
Headset: Sony WH-1000XM2 headset was used for test.

Software Details:
kernel-5.14.3-300
pipewire-0.3.35-2
wireplumber-0.4.1-2
bluez-5.61-1
gnome-bluetooth-3.34.5-2
NetworkManager-bluetooth-1.32.10-2

How reproducible:
Always

Steps to Reproduce:
1. Pair headset
2. Go to Sound settings -> Configuration

Actual results:
No HSP/HFP profiles

Expected results:
HSP/HFP profiles present along with A2DP ones

Additional info:
Everything works as a charm on Fedora 34 with following software versions
kernel-5.13.14-200
pipewire-0.3.35-2
bluez-5.61-1
gnome-bluetooth-3.34.5-1
NetworkManager-bluetooth-1.30.6-1

Logs (during headset pairing):
Sep 15 15:32:33 fedora kernel: input: WH-1000XM2 (AVRCP) as /devices/virtual/input/input32
Sep 15 15:32:33 fedora systemd-logind[919]: Watching system buttons on /dev/input/event24 (WH-1000XM2 (AVRCP))
Sep 15 15:32:42 fedora systemd[1715]: app-gnome-gnome\x2dbluetooth\x2dpanel-4807.scope: Consumed 10.428s CPU time.

Comment 1 Mikhail Kondrashov 2021-09-27 23:17:37 UTC
I've installed "Fedora Nightly": "Fedora-35-20210927.n.0" and performed "sudo dnf update --refresh".

Software Details:
bluez-5.61-1.fc35.x86_64
pipewire-0.3.37-1.fc35.x86_64
wireplumber-0.4.2-1.fc35.x86_64

The issue is still there but "wireplumber" raises new error:
"wireplumber[2489]: bluez5-device: trying to set invalid profile 1, codec 0, 00000015 00000001"

Still works as a charm on Fedora 34 on my PC and laptop.

Comment 2 Mikhail Kondrashov 2021-10-04 01:53:23 UTC
Update:
The HSP/HFP profiles appears only after I do "systemctl --user restart pipewire".
Same for https://bugzilla.redhat.com/show_bug.cgi?id=2004742

Still works as a charm on Fedora 34 on both PC and laptop.

I'll report it to pipewire's git since the issue doesn't get any attention here.

Comment 3 Yogendra Jog 2021-10-05 01:44:11 UTC
Yes, HSP/HFP profile appear only after - systemctl --user restart pipewire but why ?

Comment 4 Mikhail Kondrashov 2021-10-05 02:03:01 UTC
I've re-created the issue here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1683

Errors during "wireplumber.service" starting:
Oct 04 17:46:26 fedora systemd[2184]: Started Multimedia Service Session Manager.
Oct 04 17:46:26 fedora wireplumber[2521]: native: listen(): Address already in use
Oct 04 17:46:26 fedora wireplumber[2521]: native: RegisterProfile() failed: org.bluez.Error.NotPermitted
Oct 04 17:46:26 fedora wireplumber[2521]: native: RegisterProfile() failed: org.bluez.Error.NotPermitted

When I added a 20 sec delay to "wireplumber.service", there were no errors in logs and all worked as a charm without restarting "wireplumber.service":
[Service]
TimeoutStartSec=infinity
ExecStartPre=/bin/sleep 20

Comment 5 Mikhail Kondrashov 2021-10-05 14:45:59 UTC
Claimed to be fixed in master:
https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/222

Can't test it yet.

Comment 6 Yogendra Jog 2021-10-06 17:28:42 UTC
(In reply to Mikhail Kondrashov from comment #4)
> I've re-created the issue here:
> https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1683
> 
> Errors during "wireplumber.service" starting:
> Oct 04 17:46:26 fedora systemd[2184]: Started Multimedia Service Session
> Manager.
> Oct 04 17:46:26 fedora wireplumber[2521]: native: listen(): Address already
> in use
> Oct 04 17:46:26 fedora wireplumber[2521]: native: RegisterProfile() failed:
> org.bluez.Error.NotPermitted
> Oct 04 17:46:26 fedora wireplumber[2521]: native: RegisterProfile() failed:
> org.bluez.Error.NotPermitted
> 
> When I added a 20 sec delay to "wireplumber.service", there were no errors
> in logs and all worked as a charm without restarting "wireplumber.service":
> [Service]
> TimeoutStartSec=infinity
> ExecStartPre=/bin/sleep 20

Adding ^^ to /usr/lib/systemd/user/wireplumber.service works HFP/HSP profiles are back.

Comment 7 Adam Williamson 2021-10-08 16:34:56 UTC
There's a new wireplumber update now:

https://bodhi.fedoraproject.org/updates/FEDORA-2021-b70755fdc3

which should have the fix, I believe. Can you check that? Thanks!

Comment 8 Mikhail Kondrashov 2021-10-08 19:31:39 UTC
wireplumber-0.4.3-1.fc35 fixed the issue for me, thanks!

Comment 9 Adam Williamson 2021-10-08 20:47:29 UTC
OK, that update is pushed stable now, so we can close this.


Note You need to log in before you can comment on or make changes to this bug.