I'm trying to connect a bluetooth headset (Insignia NS-CAHBTEB01-B) to my computer, which is running an up-to-date install of Kubuntu 18.04. Everything seems to go smoothly at first -- I am able to pair the headset successfully using the "Bluetooth Devices" System Settings module GUI -- but the headset doesn't play audio output from the computer. Some things I have noticed:
- I can tell the headset has paired successfully because I hear "Your device is connected" through the headphones. Also, pressing the play/pause button while watching a video in VLC will sometimes cause it to play or pause (not reliably), and using
pacmd
to change the active profile toheadset_head_unit
causes the headset to vibrate (see below). - The headset shows up in the "Audio Volume" widget in the system tray and in system settings. I can try to adjust the volume -- when I do this, I hear a faint hissing noise through the headphones. It persists for a second or two after I stop adjusting the volume slider, and then cuts off.
- Running
pacmd list-cards
gives the following output (in part):
index: 4
name: <bluez_card.E8_07_BF_02_3C_F1>
driver: <module-bluez5-device.c>
owner module: 28
properties:
device.description = "NS-CAHBTEB01"
device.string = "E8:07:BF:02:3C:F1"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E8_07_BF_02_3C_F1"
bluez.class = "0x240404"
bluez.alias = "NS-CAHBTEB01"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
profiles:
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 40, available: unknown)
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: unknown)
off: Off (priority 0, available: yes)
active profile: <a2dp_sink>
sinks:
bluez_sink.E8_07_BF_02_3C_F1.a2dp_sink/#6: NS-CAHBTEB01
sources:
bluez_sink.E8_07_BF_02_3C_F1.a2dp_sink.monitor/#9: Monitor of NS-CAHBTEB01
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
I can then run pacmd set-card-profile 4 headset_head_unit
and pacmd set-card-profile 4 a2dp_sink
to switch back and forth between the headset_head_unit
and a2dp_sink
profiles, which seems to be successful (changes the active_profile
line above and causes the headset to buzz when I switch to headset_head_unit
), but doesn't get me sound out of the headphones.
Solutions I have ruled out:
- Just rebooting the computer doesn't seem to help.
- The
bluez
,pulseaudio
, andpulseaudio-module-bluetooth
packages are all installed and at the latest versions. I've also tried installingblueman
andpavucontrol
, with no immediate results (I got the impression these are just GTK GUIs whose functionality is duplicated by KDE, but maybe I'm wrong). - I've looked at some posts here (Blueman Protocol not available, After updating to 16.04, bluetooth audio A2DP mode stopped working) and on the Arch Linux forums (https://bbs.archlinux.org/viewtopic.php?pid=1526534#p1526534). These lead me to suspect that the culprit might be something to do with
/etc/bluetooth/audio.conf
or the PulseAudio modulemodule-bluetooth-discover
. I tried following the steps in Rmano's answer at After updating to 16.04, bluetooth audio A2DP mode stopped working, but it didn't work for me. Some people also suggested switching to HSP/HFP mode, disconnecting, reconnecting, and switching back to A2DP mode, but I think this is the same as what I did above withpacmd
, which didn't work.
The only evidence I've found of something going wrong, other than the lack of audio playing through the headphones, is the fact that running pactl load-module module-bluetooth-discover
gives the error Failure: Module initialization failed
. I'm not sure what's causing this.
How can I get my headset to play audio?
pavucontrol-qt
by default (https://packages.ubuntu.com/bionic/kubuntu-desktop); have you tried using that to select your desired output device? (you only mentioning installpavucontrol
and not using it to change settings) – guiverc Nov 14 '19 at 02:46pavucontrol-qt
is installed and at the latest version. The headset shows up, and I can do the same switching between HSP/HFP and A2DP modes that I did usingpacmd
, with the same results. The headset shows up as "locked together" with the built-in audio and also "set as fallback". I'm not sure if there's another setting I can change to select the headset. – Ross Jennings Nov 14 '19 at 02:57uname -a
) or you could ask your system (hwe-support-status --verbose
). Non-HWE will mean the 4.15 kernel is being used, HWE means your kernel & part of software-stack got updated to 18.10/19.04/19.10 eventually landing on 20.04 (useful for later hardware support esp. graphics; https://wiki.ubuntu.com/Kernel/LTSEnablementStack). Withpavucontrol
I'd hoped "Output Devices" or "Configuration" would be helpful. – guiverc Nov 14 '19 at 03:08pavucontrol
-- I found the device and the "lock together" and "set as fallback" settings in "Output Devices", and the option to switch between HSP/HFP and A2DP in "Configuration". – Ross Jennings Nov 14 '19 at 03:13hwe-support-status --verbose
, I am not running a system with a Hardware Enablement Stack. – Ross Jennings Nov 14 '19 at 03:17bluetoothctl
as described on the ArchWiki (https://wiki.archlinux.org/index.php/Bluetooth_headset) gives me an "org.bluez.Error.AlreadyExists" (for some reason). – Ross Jennings Nov 14 '19 at 04:52