Bug 1305453

Summary: [CSB] Sound system doesn't handle properly bluetooth headset's microphone
Product: Red Hat Enterprise Linux 7 Reporter: Eric Lavarde <elavarde>
Component: pulseaudioAssignee: Wim Taymans <wtaymans>
Status: CLOSED WONTFIX QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.2CC: apleshak, ccopello, ckellner, elia.f.geretto, ggrasza, gpborges, jkoten, jlabarre, jvisser, jwright, kxra, oliver, pavel.nedr, rtalur, sgraf, stanley.king, tomek, vpakolu, wdh, wtaymans
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-11 21:57:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Eric Lavarde 2016-02-08 09:52:45 UTC
Description of problem:
https://bugzilla.redhat.com/show_bug.cgi?id=1179876 was created and marked as solved, and indeed with CSB / RHEL 7.2 the binding of the headset works better, but still not good enough for daily use.

Version-Release number of selected component (if applicable):
$ rpm -qa | grep bluetooth
gnome-bluetooth-libs-3.14.1-1.el7.x86_64
gnome-bluetooth-3.14.1-1.el7.x86_64
NetworkManager-bluetooth-1.0.6-27.el7.x86_64
pulseaudio-module-bluetooth-6.0-7.el7.x86_64

How reproducible:
Always


Steps to Reproduce:

1. Pair your bluetooth headset (Sennheiser EZX 80 in my case)
2. Connect it
3. Open the sound settings and test your headset

Actual results:

A. Output tab shows my bluetooth headset with two profiles [so far so good]:
- Headset Head Unit (HSP/HFP)
- High Fidelity Playback (A2DP Sink)
B. but the HSP/HFP is mono and the [Test Speakers] test doesn't produce any sound (I hear sometimes a "clack" but nothing more), I need to select A2DP, which appears in stereo even though my headset has only one ear-plug, but the test works, I hear right and left both on my one ear.
C. The Input tab shows also my Headset [also good]
D. If I click on it, though, the dialog continues to show the sound level of my internal microphone (the Built-In Audio).
E. If I click back on Internal Microphone and then again on Headset, the sound level stops reacting to my words (and in the "Output" tab, the sound has jumped back to Built-in Audio).
F. If I click on Output->Headset with HSP/HFP profile, then both output and input the headset don't work (but the Output tab doesn't jump back to Built-In Audio while I change the Input source).

Expected results:

I can hear and speak through my Bluetooth headset without issue.

Additional info:

I suspect that the issue is that the A2DP profile doesn't have a microphone foreseen and that the HSP/HFP isn't properly supported by RHEL (yet). It would be great to have this properly supported (and tested before release; if you've tested it, please tell me your model).

Laptop is a Lenovo T430s.

$ dmesg | grep -i bluetooth
[   20.377757] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[   22.023029] Bluetooth: Core ver 2.16
[   22.023191] Bluetooth: HCI device and connection manager initialized
[   22.023199] Bluetooth: HCI socket layer initialized
[   22.023203] Bluetooth: L2CAP socket layer initialized
[   22.023209] Bluetooth: SCO socket layer initialized
[   23.326385] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   23.326388] Bluetooth: BNEP filters: protocol multicast
[   23.326395] Bluetooth: BNEP socket layer initialized
[   59.692827] Bluetooth: RFCOMM TTY layer initialized
[   59.692838] Bluetooth: RFCOMM socket layer initialized
[   59.692927] Bluetooth: RFCOMM ver 1.11

Comment 2 Oliver Ilian 2016-04-22 11:28:55 UTC
Do we have any news on this bugzilla bug?

Comment 3 Bastien Nocera 2016-04-25 15:23:01 UTC
PulseAudio handles the actual talking to the devices, and most of the weird behaviour will be down to the PulseAudio <-> Bluetooth headset communication not working properly.

Comment 4 Chuck Copello 2016-07-28 14:41:29 UTC
Is there an ETA for getting this fix? I'm using a Lenovo X1 Carbon, RHEL 7.2 (CSB), Jawbone ICON HD. It connects, but the audio goes between laggy and non-existent.

Comment 5 Oliver Ilian 2016-09-01 14:24:13 UTC
Chuck, is the sound getting better for you if you switch the Profile in the sound settings from HSP/HFP to A2DP? (or did you meant audio from your microphone?).

Comment 6 Chuck Copello 2016-09-01 14:41:19 UTC
Hi Oliver, 

My biggest challenge is getting the pairing and connection to stay active. Last week it actually paired, and stayed connected long enough to play music through it. Didn't experiment with microphone. Today I'm trying to connect it, and it's cycling through "Disconnected" and "Connected" (for maybe 1 sec).

Comment 7 Chuck Copello 2016-09-20 19:07:04 UTC
Recorded a video on my phone showing the pairing / not paired switching => https://drive.google.com/open?id=0B5ssspNAkSvTY0s4V0tSSUFfZFk

Since this isn't an audio profile issue and an actual connection issue, should I enter a new BZ (or find an existing BZ focusing on connecting)?

Comment 8 Eric Lavarde 2016-09-21 14:21:45 UTC
@Chuck, I don't have any issue with pairing, so it sounds like a different case.

BTW, on my new laptop, T460s, same software stand (see below), step B  with HSP/HFP profile is still mono but there is white noise instead of only silence. Not sure this is an improvement :-/

$ rpm -qa | grep bluetooth
pulseaudio-module-bluetooth-6.0-7.el7.x86_64
gnome-bluetooth-3.14.1-1.el7.x86_64
gnome-bluetooth-libs-3.14.1-1.el7.x86_64

Comment 9 Chuck Copello 2016-09-21 18:20:13 UTC
Hi Eric,

I have the same as you. I'll open a new BZ.

Comment 10 Chuck Copello 2016-09-21 18:32:34 UTC
I opened up new BZ https://bugzilla.redhat.com/show_bug.cgi?id=1378185 for my pairing issues.

Comment 11 Chuck Copello 2016-12-14 00:58:35 UTC
Back to the party specifically for microphone issue. Same CSB laptop, RHEL 7.3. New PowerBeats Wireless headset. When the PowerBeats pair, it doesn't recognize that the headset has a microphone. I only have internal microphone as my mic option. In Red Hat Tower, my laptop is toward the back of my desk, I sit directly under an air vent, and the internal mic is rendered useless. I bought the headset so I could use them for hours of Bluejeans calls a week without being wired. 

Is the microphone of a Bluetooth headset supported? Doesn't seem like this would be a brand-specific issue.

Comment 12 Eric Lavarde 2017-03-03 10:23:26 UTC
I can reproduce the issue with Fedora 25 under Gnome. Should I create a separate report, or how best to handle (I don't see a cloning button)?

$ rpm -qa | grep blue
gnome-bluetooth-libs-3.20.1-1.fc25.x86_64
NetworkManager-bluetooth-1.4.4-3.fc25.x86_64
bluez-obexd-5.43-2.fc25.x86_64
bluez-5.43-2.fc25.x86_64
pulseaudio-module-bluetooth-10.0-2.fc25.x86_64
gnome-bluetooth-3.20.1-1.fc25.x86_64
bluez-cups-5.43-2.fc25.x86_64
bluez-libs-5.43-2.fc25.x86_64

Comment 13 W. de Heiden 2017-03-28 17:18:19 UTC
Suffering this one on Fedora 25 as wel using a Philips SHB8850NC headphone, in particular using the Bluejeans software.

Comment 14 Gabriel 2017-04-13 00:21:39 UTC
I'm facing the same issue under on a Lenovo T460 and RHEL 7.3.

$ rpm -qa | grep bluetooth
gnome-bluetooth-3.14.1-1.el7.x86_64
pulseaudio-module-bluetooth-6.0-8.el7.x86_64
gnome-bluetooth-libs-3.14.1-1.el7.x86_64

$ dmesg | grep Bluetooth
[   15.319094] Bluetooth: Core ver 2.21
[   15.319110] Bluetooth: HCI device and connection manager initialized
[   15.319114] Bluetooth: HCI socket layer initialized
[   15.319116] Bluetooth: L2CAP socket layer initialized
[   15.319121] Bluetooth: SCO socket layer initialized
[   15.337397] Bluetooth: hci0: Firmware revision 0.0 build 30 week 18 2016
[   16.887770] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   16.887773] Bluetooth: BNEP filters: protocol multicast
[   16.887778] Bluetooth: BNEP socket layer initialized
[   36.300269] Bluetooth: RFCOMM TTY layer initialized
[   36.300278] Bluetooth: RFCOMM socket layer initialized
[   36.300372] Bluetooth: RFCOMM ver 1.11


Headset is a Logitech H800 and the pairing works smoothly. I can also see the HSP/HFP profile. However, the mic is not recognized.

gpborges@gpborges:~$ bluetoothctl
[NEW] Controller A4:34:D9:83:10:9D gpborges.br.ibm.com [default]
[NEW] Device 00:0D:44:DE:83:86 H800 Logitech Headset
[H800 Logitech Headset]# info 
Device 00:0D:44:DE:83:86
	Name: H800 Logitech Headset
	Alias: H800 Logitech Headset
	Class: 0x240404
	Icon: audio-card
	Paired: yes
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: no
	UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
	UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
	UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
[H800 Logitech Headset]# 

It would be great if we see this bug fixed.

Thanks in advance!

Comment 15 Christian Kellner 2017-04-13 07:29:43 UTC
This seems like a combination of different issues, I strongly suspect bugs.freedesktop.org#90027 to be the cause of problem B) in the first comment. I am personally also seeing at least E) present on Fedora 25. I will have a look at these issues.

Comment 16 Gabriel 2017-05-09 20:02:29 UTC
Folks, were anyone able to make any progress on this investigation? Thanks in advance!

Comment 17 Christian Kellner 2017-05-10 07:04:57 UTC
The problem that HFP/HSP does not work seems to be a kernel issue that has been fixed in 4.11 (at least for my combination of hardware involved). Will try different headsets to confirm. Some of the UI issues still remain though.

Comment 18 Gabriel 2017-05-26 21:41:24 UTC
I just installed kernel 4.11.3 (4.11.3-1.el7.elrepo.x86_64) in my RHEL 7.3 and the mic is still not working for my Logitech H800. :-( I am using Cinnamon and I used bluebuerry (GUI) to pair it. Same thing as with kernel 3.10. It lists the HFP but no mic is displayed to be selected. Tried from default sound settings and also pauvcontrol.

Did you do anything specific to get your setup working with kernel 4.11?

Thx.

Comment 19 Eric Lavarde 2017-05-29 08:05:29 UTC
I wanted to inform you that I've got now the sound working with my bluetooth headset (Sennheiser EZX 80) since a little while on Fedora 25 with kernel 4.10. HFP is correctly recognized and doesn't jump, I can hear and talk, e.g. with cheese or BlueJeans. The only small glitch remaining is that the sound test in the sound settings doesn't work properly (only white noise).

At the same time where the kernel was upgraded from 4.9 to 4.10, bluez was upgraded from 5.43 to 5.44:

Transaction ID : 44
Begin time     : Fri Mar 31 10:33:33 2017
[...]
    Upgraded bluez-5.43-2.fc25.x86_64                               @updates
    Upgrade        5.44-1.fc25.x86_64                               @updates
    Upgraded bluez-cups-5.43-2.fc25.x86_64                          @updates
    Upgrade             5.44-1.fc25.x86_64                          @updates
    Upgraded bluez-libs-5.43-2.fc25.x86_64                          @updates
    Upgrade             5.44-1.fc25.x86_64                          @updates
    Upgraded bluez-obexd-5.43-2.fc25.x86_64                         @updates
    Upgrade              5.44-1.fc25.x86_64                         @updates
[...]
    Install  kernel-4.10.5-200.fc25.x86_64                          @updates
    Erase    kernel-4.9.13-200.fc25.x86_64                          @updates
    Install  kernel-core-4.10.5-200.fc25.x86_64                     @updates
    Erase    kernel-core-4.9.13-200.fc25.x86_64                     @updates
    Upgrade  kernel-headers-4.10.5-200.fc25.x86_64                  @updates
    Upgraded kernel-headers-4.9.14-200.fc25.x86_64                  @updates
    Install  kernel-modules-4.10.5-200.fc25.x86_64                  @updates
    Erase    kernel-modules-4.9.13-200.fc25.x86_64                  @updates
    Upgrade  kernel-tools-4.10.5-200.fc25.x86_64                    @updates
    Upgraded kernel-tools-4.9.14-200.fc25.x86_64                    @updates
    Upgrade  kernel-tools-libs-4.10.5-200.fc25.x86_64               @updates
    Upgraded kernel-tools-libs-4.9.14-200.fc25.x86_64               @updates
[...]

Sadly, I didn't pay exactly attention when it got better, but the time stamp makes roughly sense. I hope it helps to find the right thing to backport.

Comment 20 Christian Kellner 2017-05-29 08:48:25 UTC
(In reply to Eric Lavarde from comment #19)
> I wanted to inform you that I've got now the sound working with my bluetooth
> headset (Sennheiser EZX 80) since a little while on Fedora 25 with kernel
> 4.10. HFP is correctly recognized and doesn't jump, I can hear and talk,
> e.g. with cheese or BlueJeans. 
Glad to hear it!

> The only small glitch remaining is that the
> sound test in the sound settings doesn't work properly (only white noise).
Ironically, that is work as expected: the test sound for the mono speaker is static noise. I think that is quite confusing and therefore I filed a bug about it: https://bugs.freedesktop.org/show_bug.cgi?id=100977

> At the same time where the kernel was upgraded from 4.9 to 4.10, bluez was
> upgraded from 5.43 to 5.44:
For my experiments it seems you need to have both updates. I was planning to nail this down but then got busy with other things. Thanks very much for your input, very much appreciated.

Comment 21 Chuck Copello 2018-09-13 14:46:56 UTC
Still an issue 2.5 years later on RHEL 7.5. The microphone in a BT headset still isn't recognized.

Comment 22 Laura Bailey 2019-07-22 05:52:46 UTC
Still an issue on my wired/wireless headphones (Beats Studio) on F30. I can't get the mic recognised even when the headphones are connected via headphone jack, but can play music this way just fine.

Comment 25 John Visser 2020-04-08 13:35:45 UTC
Is there a workaround for this, like resetting or reloading some component?  I've tried reloading bluetooth, and reloading pulseaudio to no avail.  If there's a way to get it working without rebooting that would be great.

Comment 26 Wim Taymans 2020-04-13 09:37:17 UTC
(In reply to John Visser from comment #25)
> Is there a workaround for this, like resetting or reloading some component? 
> I've tried reloading bluetooth, and reloading pulseaudio to no avail.  If
> there's a way to get it working without rebooting that would be great.

did you try:

 pacmd unload-module module-bluetooth-discover

and then

 pacmd load-module module-bluetooth-discover

Comment 30 Chris Williams 2020-11-11 21:57:06 UTC
Red Hat Enterprise Linux 7 shipped it's final minor release on September 29th, 2020. 7.9 was the last minor releases scheduled for RHEL 7.
From intial triage it does not appear the remaining Bugzillas meet the inclusion criteria for Maintenance Phase 2 and will now be closed. 

From the RHEL life cycle page:
https://access.redhat.com/support/policy/updates/errata#Maintenance_Support_2_Phase
"During Maintenance Support 2 Phase for Red Hat Enterprise Linux version 7,Red Hat defined Critical and Important impact Security Advisories (RHSAs) and selected (at Red Hat discretion) Urgent Priority Bug Fix Advisories (RHBAs) may be released as they become available."

If this BZ was closed in error and meets the above criteria please re-open it flag for 7.9.z, provide suitable business and technical justifications, and follow the process for Accelerated Fixes:
https://source.redhat.com/groups/public/pnt-cxno/pnt_customer_experience_and_operations_wiki/support_delivery_accelerated_fix_release_handbook  

Feature Requests can re-opened and moved to RHEL 8 if the desired functionality is not already present in the product. 

Please reach out to the applicable Product Experience Engineer[0] if you have any questions or concerns.  

[0] https://bugzilla.redhat.com/page.cgi?id=agile_component_mapping.html&product=Red+Hat+Enterprise+Linux+7