No sound with Bluetooth headset PulseAudio
When I switch to “headset_head_unit” profile, I can’t play nor record audio.
root@sr-imx6:~# uname -a
Linux sr-imx6 4.9.124-imx6-sr #1 SMP Sat Sep 15 05:01:08 UTC 2018 armv7l GNU/Linux
root@sr-imx6:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: imxhdmisoc [imx-hdmi-soc], device 0: i.MX HDMI Audio Tx hdmi-hifi.0-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Codec [On-board Codec], device 0: HiFi sgtl5000-0 []
Subdevices: 1/1
Subdevice #0: subdevice #609
root@sr-imx6:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Codec [On-board Codec], device 0: HiFi sgtl5000-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
root@sr-imx6:~# pactl info
Server String: /run/user/0/pulse/native
Library Protocol Version: 32
Server Protocol Version: 32
Is Local: yes
Client Index: 44
Tile Size: 65496
User Name: root
Host Name: sr-imx6
Server Name: pulseaudio
Server Version: 10.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: bluez_sink.1C_52_16_08_FE_C8.headset_head_unit
Default Source: bluez_source.1C_52_16_08_FE_C8.headset_head_unit
Cookie: ea12:bbcf
root@sr-imx6:~# pactl list
Module #0
Name: module-device-restore
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute state of devices"
module.version = "10.0"
Module #1
Name: module-stream-restore
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute/device state of streams"
module.version = "10.0"
Module #2
Name: module-card-restore
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore profile of cards"
module.version = "10.0"
Module #3
Name: module-augment-properties
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Augment the property sets of streams with additional static information"
module.version = "10.0"
Module #4
Name: module-switch-on-port-available
Argument:
Usage counter: n/a
Properties:
Module #5
Name: module-udev-detect
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Detect available audio hardware and load matching drivers"
module.version = "10.0"
Module #7
Name: module-alsa-card
Argument: device_id="1" name="platform-sound-sgtl5000" card_name="alsa_card.platform-sound-sgtl5000" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
Usage counter: 0
Properties:
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "10.0"
Module #8
Name: module-bluetooth-policy
Argument:
Usage counter: n/a
Properties:
module.author = "Frיdיric Dalleau, Pali Rohבr"
module.description = "Policy module to make using bluetooth devices out-of-the-box easier"
module.version = "10.0"
Module #9
Name: module-bluetooth-discover
Argument:
Usage counter: n/a
Properties:
module.author = "Joדo Paulo Rechi Vita"
module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
module.version = "10.0"
Module #10
Name: module-bluez5-discover
Argument:
Usage counter: n/a
Properties:
module.author = "Joדo Paulo Rechi Vita"
module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers"
module.version = "10.0"
Module #11
Name: module-native-protocol-unix
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Native protocol (UNIX sockets)"
module.version = "10.0"
Module #12
Name: module-default-device-restore
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore the default sink and source"
module.version = "10.0"
Module #13
Name: module-rescue-streams
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "When a sink/source is removed, try to move its streams to the default sink/source"
module.version = "10.0"
Module #14
Name: module-always-sink
Argument:
Usage counter: n/a
Properties:
module.author = "Colin Guthrie"
module.description = "Always keeps at least one sink loaded even if it's a null one"
module.version = "10.0"
Module #15
Name: module-intended-roles
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Automatically set device of streams based on intended roles of devices"
module.version = "10.0"
Module #16
Name: module-suspend-on-idle
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "When a sink/source is idle for too long, suspend it"
module.version = "10.0"
Module #17
Name: module-console-kit
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Create a client for each ConsoleKit session of this user"
module.version = "10.0"
Module #18
Name: module-systemd-login
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Create a client for each login session of this user"
module.version = "10.0"
Module #19
Name: module-position-event-sounds
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
module.version = "10.0"
Module #20
Name: module-role-cork
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Mute & cork streams with certain roles while others exist"
module.version = "10.0"
Module #21
Name: module-filter-heuristics
Argument:
Usage counter: n/a
Properties:
module.author = "Colin Guthrie"
module.description = "Detect when various filters are desirable"
module.version = "10.0"
Module #22
Name: module-filter-apply
Argument:
Usage counter: n/a
Properties:
module.author = "Colin Guthrie"
module.description = "Load filter sinks automatically when needed"
module.version = "10.0"
Module #23
Name: module-cli-protocol-unix
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Command line interface protocol (UNIX sockets)"
module.version = "10.0"
Module #26
Name: module-bluez5-device
Argument: path=/org/bluez/hci0/dev_1C_52_16_08_FE_C8
Usage counter: 0
Properties:
module.author = "Joדo Paulo Rechi Vita"
module.description = "BlueZ 5 Bluetooth audio sink and source"
module.version = "10.0"
Sink #0
State: SUSPENDED
Name: alsa_output.platform-sound-sgtl5000.analog-stereo
Description: On-board Codec Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 7
Mute: no
Volume: front-left: 52416 / 80%, front-right: 52416 / 80%
balance 0.00
Base Volume: 65536 / 100%
Monitor Source: alsa_output.platform-sound-sgtl5000.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.id = "HiFi sgtl5000-0"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "On-board Codec"
alsa.long_card_name = "On-board Codec"
device.bus_path = "platform-sound-sgtl5000"
sysfs.path = "/devices/soc0/sound-sgtl5000/sound/card1"
device.string = "hw:1"
device.buffering.buffer_size = "65536"
device.buffering.fragment_size = "16384"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "On-board Codec Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports:
analog-output: Analog Output (priority: 9900)
analog-output-headphones: Headphones (priority: 9000, available)
Active Port: analog-output
Formats:
pcm
Sink #3
State: SUSPENDED
Name: bluez_sink.1C_52_16_08_FE_C8.headset_head_unit
Description: QCY-QY12
Driver: module-bluez5-device.c
Sample Specification: s16le 1ch 8000Hz
Channel Map: mono
Owner Module: 26
Mute: no
Volume: mono: 45875 / 70%
balance 0.00
Base Volume: 65536 / 100%
Monitor Source: bluez_sink.1C_52_16_08_FE_C8.headset_head_unit.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
bluetooth.protocol = "headset_head_unit"
device.intended_roles = "phone"
device.description = "QCY-QY12"
device.string = "1C:52:16:08:FE:C8"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_1C_52_16_08_FE_C8"
bluez.class = "0x240404"
bluez.alias = "QCY-QY12"
device.icon_name = "audio-headset-bluetooth"
Ports:
headset-output: Headset (priority: 0)
Active Port: headset-output
Formats:
pcm
Source #0
State: SUSPENDED
Name: alsa_output.platform-sound-sgtl5000.analog-stereo.monitor
Description: Monitor of On-board Codec Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 7
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.platform-sound-sgtl5000.analog-stereo
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of On-board Codec Analog Stereo"
device.class = "monitor"
alsa.card = "1"
alsa.card_name = "On-board Codec"
alsa.long_card_name = "On-board Codec"
device.bus_path = "platform-sound-sgtl5000"
sysfs.path = "/devices/soc0/sound-sgtl5000/sound/card1"
device.string = "1"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Formats:
pcm
Source #1
State: SUSPENDED
Name: alsa_input.platform-sound-sgtl5000.analog-stereo
Description: On-board Codec Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 7
Mute: no
Volume: front-left: 52429 / 80%, front-right: 52429 / 80%
balance 0.00
Base Volume: 65536 / 100%
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.id = "HiFi sgtl5000-0"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "On-board Codec"
alsa.long_card_name = "On-board Codec"
device.bus_path = "platform-sound-sgtl5000"
sysfs.path = "/devices/soc0/sound-sgtl5000/sound/card1"
device.string = "hw:1"
device.buffering.buffer_size = "65536"
device.buffering.fragment_size = "16384"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "On-board Codec Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports:
analog-input-mic: Microphone (priority: 8700)
Active Port: analog-input-mic
Formats:
pcm
Source #6
State: SUSPENDED
Name: bluez_sink.1C_52_16_08_FE_C8.headset_head_unit.monitor
Description: Monitor of QCY-QY12
Driver: module-bluez5-device.c
Sample Specification: s16le 1ch 8000Hz
Channel Map: mono
Owner Module: 26
Mute: no
Volume: mono: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: bluez_sink.1C_52_16_08_FE_C8.headset_head_unit
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of QCY-QY12"
device.class = "monitor"
device.string = "1C:52:16:08:FE:C8"
device.api = "bluez"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_1C_52_16_08_FE_C8"
bluez.class = "0x240404"
bluez.alias = "QCY-QY12"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Formats:
pcm
Source #7
State: SUSPENDED
Name: bluez_source.1C_52_16_08_FE_C8.headset_head_unit
Description: QCY-QY12
Driver: module-bluez5-device.c
Sample Specification: s16le 1ch 8000Hz
Channel Map: mono
Owner Module: 26
Mute: no
Volume: mono: 65536 / 100%
balance 0.00
Base Volume: 65536 / 100%
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
bluetooth.protocol = "headset_head_unit"
device.intended_roles = "phone"
device.description = "QCY-QY12"
device.string = "1C:52:16:08:FE:C8"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_1C_52_16_08_FE_C8"
bluez.class = "0x240404"
bluez.alias = "QCY-QY12"
device.icon_name = "audio-headset-bluetooth"
Ports:
headset-input: Headset (priority: 0)
Active Port: headset-input
Formats:
pcm
Client #0
Driver: module-systemd-login.c
Owner Module: 18
Properties:
application.name = "Login Session 1"
systemd-login.session = "1"
Client #46
Driver: protocol-native.c
Owner Module: 11
Properties:
application.name = "pactl"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1274"
application.process.user = "root"
application.process.host = "sr-imx6"
application.process.binary = "pactl"
application.language = "en_US.UTF-8"
application.process.machine_id = "e01e4fe0725b4a87bbc49637dc40d56d"
application.process.session_id = "1"
Card #0
Name: alsa_card.platform-sound-sgtl5000
Driver: module-alsa-card.c
Owner Module: 7
Properties:
alsa.card = "1"
alsa.card_name = "On-board Codec"
alsa.long_card_name = "On-board Codec"
device.bus_path = "platform-sound-sgtl5000"
sysfs.path = "/devices/soc0/sound-sgtl5000/sound/card1"
device.string = "1"
device.description = "On-board Codec"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Profiles:
input:analog-mono: Analog Mono Input (sinks: 0, sources: 1, priority: 2, available: yes)
input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 60, available: yes)
output:analog-mono: Analog Mono Output (sinks: 1, sources: 0, priority: 200, available: yes)
output:analog-mono+input:analog-mono: Analog Mono Duplex (sinks: 1, sources: 1, priority: 202, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6000, available: yes)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6060, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: output:analog-stereo+input:analog-stereo
Ports:
analog-input-mic: Microphone (priority: 8700, latency offset: 0 usec)
Properties:
device.icon_name = "audio-input-microphone"
Part of profile(s): input:analog-mono, input:analog-stereo, output:analog-mono+input:analog-mono, output:analog-stereo+input:analog-stereo
analog-output: Analog Output (priority: 9900, latency offset: 0 usec)
Part of profile(s): output:analog-mono, output:analog-mono+input:analog-mono, output:analog-stereo, output:analog-stereo+input:analog-stereo
analog-output-headphones: Headphones (priority: 9000, latency offset: 0 usec, available)
Properties:
device.icon_name = "audio-headphones"
Part of profile(s): output:analog-mono, output:analog-mono+input:analog-mono, output:analog-stereo, output:analog-stereo+input:analog-stereo
Card #3
Name: bluez_card.1C_52_16_08_FE_C8
Driver: module-bluez5-device.c
Owner Module: 26
Properties:
device.description = "QCY-QY12"
device.string = "1C:52:16:08:FE:C8"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_1C_52_16_08_FE_C8"
bluez.class = "0x240404"
bluez.alias = "QCY-QY12"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes)
a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: headset_head_unit
Ports:
headset-output: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): headset_head_unit, a2dp_sink
headset-input: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): headset_head_unit
oot@sr-imx6:~# pulseaudio --version
pulseaudio 10.0
I am able to successfully pair and connect the headset. I am able to play audio trough the headset with “a2dp_sink” profile. But, when I switch to “headset_head_unit” profile, I can’t play nor record audio.
Thank you