Skip to main content
Topic: How to enable HSP with bluetooth headset and runit init system (Read 3360 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

How to enable HSP with bluetooth headset and runit init system

So I have a pair of bluetooth headset (OnePluz Buds Z) that are working correctly as an output device. But it's not possible to use it as a headset (both input and output simultaneously) because the HSP profile is not available:
Code: [Select]
> $ pacmd list
Memory blocks currently allocated: 1, size: 63,9 KiB.
Memory blocks allocated during the whole lifetime: 61503, size: 186,3 MiB.
Memory blocks imported from other processes: 0, size: 0 B.
Memory blocks exported to other processes: 0, size: 0 B.
Total sample cache size: 0 B.
Default sample spec: s16le 2ch 44100Hz
Default channel map: front-left,front-right
Default sink name: bluez_sink.E4_41_22_20_3C_13.a2dp_sink
Default source name: bluez_sink.E4_41_22_20_3C_13.a2dp_sink.monitor
Memory blocks of type POOL: 1 allocated/42662 accumulated.
Memory blocks of type POOL_EXTERNAL: 0 allocated/0 accumulated.
Memory blocks of type APPENDED: 0 allocated/0 accumulated.
Memory blocks of type USER: 0 allocated/0 accumulated.
Memory blocks of type FIXED: 0 allocated/377 accumulated.
Memory blocks of type IMPORTED: 0 allocated/18464 accumulated.
27 module(s) loaded.
    index: 0
name: <module-device-restore>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute state of devices"
module.version = "14.2-dirty"
    index: 1
name: <module-stream-restore>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute/device state of streams"
module.version = "14.2-dirty"
    index: 2
name: <module-card-restore>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore profile of cards"
module.version = "14.2-dirty"
    index: 3
name: <module-augment-properties>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Augment the property sets of streams with additional static information"
module.version = "14.2-dirty"
    index: 4
name: <module-switch-on-port-available>
argument: <>
used: -1
load once: yes
properties:
module.author = "David Henningsson"
module.description = "Switches ports and profiles when devices are plugged/unplugged"
module.version = "14.2-dirty"
    index: 5
name: <module-udev-detect>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Detect available audio hardware and load matching drivers"
module.version = "14.2-dirty"
    index: 6
name: <module-alsa-card>
argument: <device_id="0" name="pci-0000_2d_00.1" card_name="alsa_card.pci-0000_2d_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1">
used: 0
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "14.2-dirty"
    index: 7
name: <module-alsa-card>
argument: <device_id="1" name="pci-0000_2f_00.4" card_name="alsa_card.pci-0000_2f_00.4" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1">
used: 0
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "14.2-dirty"
    index: 8
name: <module-bluetooth-policy>
argument: <>
used: -1
load once: yes
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 = "14.2-dirty"
    index: 9
name: <module-bluetooth-discover>
argument: <>
used: -1
load once: yes
properties:
module.author = "João Paulo Rechi Vita"
module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
module.version = "14.2-dirty"
    index: 10
name: <module-bluez5-discover>
argument: <>
used: -1
load once: yes
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 = "14.2-dirty"
    index: 11
name: <module-dbus-protocol>
argument: <>
used: -1
load once: yes
properties:
module.author = "Tanu Kaskinen"
module.description = "D-Bus interface"
module.version = "14.2-dirty"
    index: 12
name: <module-native-protocol-unix>
argument: <>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Native protocol (UNIX sockets)"
module.version = "14.2-dirty"
    index: 13
name: <module-gsettings>
argument: <>
used: -1
load once: yes
properties:
module.author = "Sylvain Baubeau"
module.description = "GSettings Adapter"
module.version = "14.2-dirty"
    index: 14
name: <module-default-device-restore>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Automatically restore the default sink and source"
module.version = "14.2-dirty"
    index: 15
name: <module-always-sink>
argument: <>
used: -1
load once: yes
properties:
module.author = "Colin Guthrie"
module.description = "Always keeps at least one sink loaded even if it's a null one"
module.version = "14.2-dirty"
    index: 16
name: <module-intended-roles>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Automatically set device of streams based on intended roles of devices"
module.version = "14.2-dirty"
    index: 17
name: <module-suspend-on-idle>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "When a sink/source is idle for too long, suspend it"
module.version = "14.2-dirty"
    index: 18
name: <module-console-kit>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Create a client for each ConsoleKit session of this user"
module.version = "14.2-dirty"
    index: 19
name: <module-position-event-sounds>
argument: <>
used: -1
load once: yes
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 = "14.2-dirty"
    index: 20
name: <module-role-cork>
argument: <>
used: -1
load once: yes
properties:
module.author = "Lennart Poettering"
module.description = "Mute & cork streams with certain roles while others exist"
module.version = "14.2-dirty"
    index: 21
name: <module-filter-heuristics>
argument: <>
used: -1
load once: yes
properties:
module.author = "Colin Guthrie"
module.description = "Detect when various filters are desirable"
module.version = "14.2-dirty"
    index: 22
name: <module-filter-apply>
argument: <>
used: -1
load once: yes
properties:
module.author = "Colin Guthrie"
module.description = "Load filter sinks automatically when needed"
module.version = "14.2-dirty"
    index: 23
name: <module-x11-publish>
argument: <display=:0 xauthority=/home/angel/.Xauthority>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "X11 credential publisher"
module.version = "14.2-dirty"
    index: 24
name: <module-x11-xsmp>
argument: <display=:0 xauthority=/home/angel/.Xauthority session_manager=local/sibling:@/tmp/.ICE-unix/1325,unix/sibling:/tmp/.ICE-unix/1325>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "X11 session management"
module.version = "14.2-dirty"
    index: 25
name: <module-bluez5-device>
argument: <path=/org/bluez/hci0/dev_E4_41_22_20_3C_13 autodetect_mtu=0>
used: 0
load once: no
properties:
module.author = "João Paulo Rechi Vita"
module.description = "BlueZ 5 Bluetooth audio sink and source"
module.version = "14.2-dirty"
    index: 26
name: <module-cli-protocol-unix>
argument: <>
used: -1
load once: no
properties:
module.author = "Lennart Poettering"
module.description = "Command line interface protocol (UNIX sockets)"
module.version = "14.2-dirty"
3 sink(s) available.
    index: 0
name: <alsa_output.pci-0000_2d_00.1.hdmi-stereo-extra2>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9030
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
volume steps: 65537
muted: no
current latency: 0,00 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 0
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 1999,82 ms
card: 0 <alsa_card.pci-0000_2d_00.1>
module: 6
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "HDMI 2"
alsa.id = "HDMI 2"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "8"
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 148"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2d:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:2d:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "228b"
device.string = "hdmi:0,2"
device.buffering.buffer_size = "352768"
device.buffering.fragment_size = "176384"
device.access_mode = "mmap+timer"
device.profile.name = "hdmi-stereo-extra2"
device.profile.description = "Digital Stereo (HDMI 3)"
device.description = "HDA NVidia Digital Stereo (HDMI 3)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: yes)
properties:
device.icon_name = "video-display"
device.product.name = "27GL850
     "
active port: <hdmi-output-2>
    index: 1
name: <alsa_output.pci-0000_2f_00.4.iec958-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9038
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
volume steps: 65537
muted: no
current latency: 0,00 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 1
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 0
fixed latency: 100,14 ms
card: 1 <alsa_card.pci-0000_2f_00.4>
module: 7
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALCS1200A Digital"
alsa.id = "ALCS1200A Digital"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfcb00000 irq 150"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2f:00.4"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.4/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1487"
device.product.name = "Starship/Matisse HD Audio Controller"
device.string = "iec958:1"
device.buffering.buffer_size = "17664"
device.buffering.fragment_size = "2944"
device.access_mode = "mmap"
device.profile.name = "iec958-stereo"
device.profile.description = "Digital Stereo (IEC958)"
device.description = "Starship/Matisse HD Audio Controller Digital Stereo (IEC958)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:

active port: <iec958-stereo-output>
  * index: 2
name: <bluez_sink.E4_41_22_20_3C_13.a2dp_sink>
driver: <module-bluez5-device.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9050
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
volume steps: 65537
muted: no
current latency: 0,00 ms
max request: 3 KiB
max rewind: 0 KiB
monitor source: 2
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 0
fixed latency: 45,32 ms
card: 2 <bluez_card.E4_41_22_20_3C_13>
module: 25
properties:
bluetooth.protocol = "a2dp_sink"
device.description = "OnePlus Buds Z"
device.string = "E4:41:22:20:3C:13"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E4_41_22_20_3C_13"
bluez.class = "0x240404"
bluez.alias = "OnePlus Buds Z"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:

active port: <headset-output>
3 source(s) available.
    index: 0
name: <alsa_output.pci-0000_2d_00.1.hdmi-stereo-extra2.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1030
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
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 1999,82 ms
monitor_of: 0
card: 0 <alsa_card.pci-0000_2d_00.1>
module: 6
properties:
device.description = "Monitor of HDA NVidia Digital Stereo (HDMI 3)"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 148"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2d:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:2d:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "228b"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
    index: 1
name: <alsa_output.pci-0000_2f_00.4.iec958-stereo.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1030
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
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 0
fixed latency: 100,14 ms
monitor_of: 1
card: 1 <alsa_card.pci-0000_2f_00.4>
module: 7
properties:
device.description = "Monitor of Starship/Matisse HD Audio Controller Digital Stereo (IEC958)"
device.class = "monitor"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfcb00000 irq 150"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2f:00.4"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.4/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1487"
device.product.name = "Starship/Matisse HD Audio Controller"
device.string = "1"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
  * index: 2
name: <bluez_sink.E4_41_22_20_3C_13.a2dp_sink.monitor>
driver: <module-bluez5-device.c>
flags: DECIBEL_VOLUME LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1050
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
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 0
fixed latency: 45,32 ms
monitor_of: 2
card: 2 <bluez_card.E4_41_22_20_3C_13>
module: 25
properties:
device.description = "Monitor of OnePlus Buds Z"
device.class = "monitor"
device.string = "E4:41:22:20:3C:13"
device.api = "bluez"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E4_41_22_20_3C_13"
bluez.class = "0x240404"
bluez.alias = "OnePlus Buds Z"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
5 client(s) logged in.
    index: 1
driver: <protocol-native.c>
owner module: 12
properties:
application.name = "QPulse"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "1340"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "plasmashell"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "1"
    index: 3
driver: <module-x11-xsmp.c>
owner module: 24
properties:
application.name = "XSMP Session on KDE as 10dcd7c96c000161230259300000013250006"
xsmp.vendor = "KDE"
xsmp.client.id = "10dcd7c96c000161230259300000013250006"
    index: 4
driver: <protocol-native.c>
owner module: 12
properties:
application.name = "Brave input"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "2118"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "brave"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "1"
    index: 13
driver: <protocol-native.c>
owner module: 12
properties:
application.name = "brave"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
window.x11.display = ":0"
window.x11.screen = "0"
application.process.id = "1706"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "brave"
application.language = "en_US.UTF-8"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "1"
    index: 16
driver: <cli.c>
owner module: 26
properties:
application.name = "UNIX socket client"
3 card(s) available.
    index: 0
name: <alsa_card.pci-0000_2d_00.1>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 148"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2d:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:2d:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "228b"
device.string = "0"
device.description = "HDA NVidia"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: unknown)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (priority 5700, available: no)
output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (priority 600, available: no)
output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (priority 600, available: no)
output:hdmi-stereo-extra6: Digital Stereo (HDMI 7) Output (priority 5700, available: no)
output:hdmi-surround-extra6: Digital Surround 5.1 (HDMI 7) Output (priority 600, available: no)
output:hdmi-surround71-extra6: Digital Surround 7.1 (HDMI 7) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: <output:hdmi-stereo-extra2>
sinks:
alsa_output.pci-0000_2d_00.1.hdmi-stereo-extra2/#0: HDA NVidia Digital Stereo (HDMI 3)
sources:
alsa_output.pci-0000_2d_00.1.hdmi-stereo-extra2.monitor/#0: Monitor of HDA NVidia Digital Stereo (HDMI 3)
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: yes)
properties:
device.icon_name = "video-display"
device.product.name = "27GL850
     "
hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-6: HDMI / DisplayPort 7 (priority 5300, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
    index: 1
name: <alsa_card.pci-0000_2f_00.4>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfcb00000 irq 150"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2f:00.4"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.4/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1487"
device.product.name = "Starship/Matisse HD Audio Controller"
device.string = "1"
device.description = "Starship/Matisse HD Audio Controller"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
input:analog-stereo: Analog Stereo Input (priority 65, available: no)
output:analog-stereo: Analog Stereo Output (priority 6500, available: no)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6565, available: no)
output:analog-surround-21: Analog Surround 2.1 Output (priority 1300, available: no)
output:analog-surround-21+input:analog-stereo: Analog Surround 2.1 Output + Analog Stereo Input (priority 1365, available: no)
output:analog-surround-40: Analog Surround 4.0 Output (priority 1200, available: no)
output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (priority 1265, available: no)
output:analog-surround-41: Analog Surround 4.1 Output (priority 1300, available: no)
output:analog-surround-41+input:analog-stereo: Analog Surround 4.1 Output + Analog Stereo Input (priority 1365, available: no)
output:analog-surround-50: Analog Surround 5.0 Output (priority 1200, available: no)
output:analog-surround-50+input:analog-stereo: Analog Surround 5.0 Output + Analog Stereo Input (priority 1265, available: no)
output:analog-surround-51: Analog Surround 5.1 Output (priority 1300, available: no)
output:analog-surround-51+input:analog-stereo: Analog Surround 5.1 Output + Analog Stereo Input (priority 1365, available: no)
output:iec958-stereo: Digital Stereo (IEC958) Output (priority 5500, available: unknown)
output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (priority 5565, available: no)
off: Off (priority 0, available: unknown)
active profile: <output:iec958-stereo>
sinks:
alsa_output.pci-0000_2f_00.4.iec958-stereo/#1: Starship/Matisse HD Audio Controller Digital Stereo (IEC958)
sources:
alsa_output.pci-0000_2f_00.4.iec958-stereo.monitor/#1: Monitor of Starship/Matisse HD Audio Controller Digital Stereo (IEC958)
ports:
analog-input-front-mic: Front Microphone (priority 8500, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-input-microphone"
analog-input-rear-mic: Rear Microphone (priority 8200, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-input-microphone"
analog-input-linein: Line In (priority 8100, latency offset 0 usec, available: no)
properties:

analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: no)
properties:

analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-headphones"
iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:

    index: 2
name: <bluez_card.E4_41_22_20_3C_13>
driver: <module-bluez5-device.c>
owner module: 25
properties:
device.description = "OnePlus Buds Z"
device.string = "E4:41:22:20:3C:13"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E4_41_22_20_3C_13"
bluez.class = "0x240404"
bluez.alias = "OnePlus Buds Z"
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: no) <----------------HERE---------------
off: Off (priority 0, available: yes)
active profile: <a2dp_sink>
sinks:
bluez_sink.E4_41_22_20_3C_13.a2dp_sink/#2: OnePlus Buds Z
sources:
bluez_sink.E4_41_22_20_3C_13.a2dp_sink.monitor/#2: Monitor of OnePlus Buds Z
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:

headset-input: Headset (priority 0, latency offset 0 usec, available: no) <----------------HERE---------------
properties:

0 sink input(s) available.
0 source output(s) available.
0 cache entrie(s) available.
In the Arch wiki there's an entry about HFP not working with PulseAudio which seems to be my exact issue. The thing is that in order to fix the problem you need the ofono package from the AUR and start its service. Being Arch a systemd based distro this exact steps cannot be taken due to the fact that my Artix system is using runit. So when I try to power and activate the modem, after starting the user phonesim, I am getting the following error:
Code: [Select]
✦ ❯ dbus-send --print-reply --system --dest=org.ofono /phonesim org.ofono.Modem.SetProperty string:"Powered" variant:boolean:true
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files
Which seems normal when I haven't started any service. So my question is if there's a workaround to this problem or is there any package for running it with runit. I guess a solution would be creating my own runit service, but I am not that "advanced" in this topic.

Some feedback would be appreciated. Thanks in advance.

Re: How to enable HSP with bluetooth headset and runit init system

Reply #1
if you really read the instructions in detail, it says:
Quote
To solve the respective issue, update to pulseaudio (> = 13) and potentially pulseaudio-modules-bt-gitAUR and bluez (> = 5.5) to latest versions. Then install ofono AUR (start and enable using systemctl) and phonesim AUR and create / activate a fake modem as described here [4]:

I'm pretty sure you started phonesim without starting ofono service before (otherwise you would write it here  ;) )  and because is  systemd only stuff, you need start ofono service manually (or write a service script for runit  ;) )

if you open ofono.service you can see:

Code: [Select]
[picasso home]# cat ofono.service 
[Unit]
Description=Telephony service
After=syslog.target

[Service]
Type=dbus
BusName=org.ofono
ExecStart=/usr/sbin/ofonod -n
StandardError=null

[Install]
WantedBy=multi-user.target


so you should start command "/usr/sbin/ofonod -n" before you use phonesim

Re: How to enable HSP with bluetooth headset and runit init system

Reply #2
do the following:

make a run file at your /etc/runit/service/ofonod/run which contains the following:
Code: [Select]
#!/bin/sh

sv check dbus >/dev/null || exit 1
exec /usr/sbin/ofonod -n
make it executable and link it by:
Code: [Select]
sudo chmod +x /etc/runit/service/ofonod/run
sudo ln -s /etc/runit/service/ofonod /run/runit/service
finallly (although supervisor should start it):
Code: [Select]
sudo sv up ofonod
sudo sv check ofonod

Re: How to enable HSP with bluetooth headset and runit init system

Reply #3
runit is really very simple, i will ty it someday....  8)  8)  :D  :D

Re: How to enable HSP with bluetooth headset and runit init system

Reply #4
All are simple, not only Runit, but yes, is rather simple.

Perhaps, I should prepare the scripts for Universe, for all of them :D :D

Re: How to enable HSP with bluetooth headset and runit init system

Reply #5
do the following:

make a run file at your /etc/runit/service/ofonod/run which contains the following:
Code: [Select]
#!/bin/sh

sv check dbus >/dev/null || exit 1
exec /usr/sbin/ofonod -n
make it executable and link it by:
Code: [Select]
sudo chmod +x /etc/runit/service/ofonod/run
sudo ln -s /etc/runit/service/ofonod /run/runit/service
finallly (although supervisor should start it):
Code: [Select]
sudo sv up ofonod
sudo sv check ofonod
Thanks for the reply. I just needed to know what was the command I needed to exec and you save me the time of looking for it. I have the service running correctly and was able to run the necessary commands as phonesim user. But unfortunately the HSP profile keeps unavailable.

Code: [Select]
❯ $ sudo rsm
> [rsm] - sibling (/run/runit/service) - 16 services

   SERVICE              STATE   ENABLED   PID      COMMAND           TIME
 ✔ agetty-tty1          run     true      1019     agetty            1 day
 ✔ agetty-tty2          run     true      1018     agetty            1 day
 ✔ agetty-tty3          run     true      1020     agetty            1 day
 ✔ agetty-tty4          run     true      1017     agetty            1 day
 ✔ agetty-tty5          run     true      1015     agetty            1 day
 ✔ agetty-tty6          run     true      1016     agetty            1 day
 ✔ alsa                 run     true      1022     alsa              1 day
 ✔ bluetoothd           run     true      5224     bluetoothd        11 minutes
 ✔ dbus                 run     true      1027     dbus-daemon       1 day
 ✔ elogind              run     true      6572     elogind           5 minutes
 ✔ NetworkManager       run     true      1025     NetworkManager    1 day
 ✔ ofonod               run     true      4357     ofonod            14 minutes <----------HERE-----------
 ✔ postgresql           run     true      1030     postgres          1 day
 ✔ sddm                 run     true      1028     sddm              1 day
 ✔ tor                  run     true      1021     tor               1 day
 ✔ udevd                run     true      1023     udevd             1 day
But the output of pactl list....
Code: [Select]
❯ $ 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 = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

Module #4
Name: module-switch-on-port-available
Argument:
Usage counter: n/a
Properties:
module.author = "David Henningsson"
module.description = "Switches ports and profiles when devices are plugged/unplugged"
module.version = "14.2-dirty"

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 = "14.2-dirty"

Module #6
Name: module-alsa-card
Argument: device_id="0" name="pci-0000_2d_00.1" card_name="alsa_card.pci-0000_2d_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
Usage counter: 0
Properties:
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "14.2-dirty"

Module #7
Name: module-alsa-card
Argument: device_id="1" name="pci-0000_2f_00.4" card_name="alsa_card.pci-0000_2f_00.4" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
Usage counter: 0
Properties:
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

Module #11
Name: module-dbus-protocol
Argument:
Usage counter: n/a
Properties:
module.author = "Tanu Kaskinen"
module.description = "D-Bus interface"
module.version = "14.2-dirty"

Module #12
Name: module-native-protocol-unix
Argument:
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "Native protocol (UNIX sockets)"
module.version = "14.2-dirty"

Module #13
Name: module-gsettings
Argument:
Usage counter: n/a
Properties:
module.author = "Sylvain Baubeau"
module.description = "GSettings Adapter"
module.version = "14.2-dirty"

Module #14
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 = "14.2-dirty"

Module #15
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 = "14.2-dirty"

Module #16
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 = "14.2-dirty"

Module #17
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 = "14.2-dirty"

Module #18
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 = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

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 = "14.2-dirty"

Module #23
Name: module-x11-publish
Argument: display=:0 xauthority=/home/angel/.Xauthority
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "X11 credential publisher"
module.version = "14.2-dirty"

Module #24
Name: module-x11-xsmp
Argument: display=:0 xauthority=/home/angel/.Xauthority session_manager=local/sibling:@/tmp/.ICE-unix/9426,unix/sibling:/tmp/.ICE-unix/9426
Usage counter: n/a
Properties:
module.author = "Lennart Poettering"
module.description = "X11 session management"
module.version = "14.2-dirty"

Module #26
Name: module-bluez5-device
Argument: path=/org/bluez/hci0/dev_E4_41_22_20_3C_13 autodetect_mtu=0
Usage counter: 0
Properties:
module.author = "João Paulo Rechi Vita"
module.description = "BlueZ 5 Bluetooth audio sink and source"
module.version = "14.2-dirty"

Sink #1
State: SUSPENDED
Name: alsa_output.pci-0000_2f_00.4.iec958-stereo
Description: Starship/Matisse HD Audio Controller Digital Stereo (IEC958)
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 Source: alsa_output.pci-0000_2f_00.4.iec958-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALCS1200A Digital"
alsa.id = "ALCS1200A Digital"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfcb00000 irq 150"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2f:00.4"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.4/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1487"
device.product.name = "Starship/Matisse HD Audio Controller"
device.string = "iec958:1"
device.buffering.buffer_size = "17664"
device.buffering.fragment_size = "2944"
device.access_mode = "mmap"
device.profile.name = "iec958-stereo"
device.profile.description = "Digital Stereo (IEC958)"
device.description = "Starship/Matisse HD Audio Controller Digital Stereo (IEC958)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Ports:
iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, availability unknown)
Active Port: iec958-stereo-output
Formats:
pcm

Sink #5
State: SUSPENDED
Name: alsa_output.pci-0000_2d_00.1.hdmi-stereo
Description: HDA NVidia Digital Stereo (HDMI)
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 6
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 Source: alsa_output.pci-0000_2d_00.1.hdmi-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "HDMI 0"
alsa.id = "HDMI 0"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "3"
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 148"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2d:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:2d:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "228b"
device.string = "hdmi:0"
device.buffering.buffer_size = "352768"
device.buffering.fragment_size = "176384"
device.access_mode = "mmap+timer"
device.profile.name = "hdmi-stereo"
device.profile.description = "Digital Stereo (HDMI)"
device.description = "HDA NVidia Digital Stereo (HDMI)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Ports:
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, available)
Active Port: hdmi-output-0
Formats:
pcm

Sink #7
State: SUSPENDED
Name: bluez_sink.E4_41_22_20_3C_13.a2dp_sink
Description: OnePlus Buds Z
Driver: module-bluez5-device.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 26
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 Source: bluez_sink.E4_41_22_20_3C_13.a2dp_sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
bluetooth.protocol = "a2dp_sink"
device.description = "OnePlus Buds Z"
device.string = "E4:41:22:20:3C:13"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E4_41_22_20_3C_13"
bluez.class = "0x240404"
bluez.alias = "OnePlus Buds Z"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Ports:
headset-output: Headset (type: Headset, priority: 0, availability unknown)
Active Port: headset-output
Formats:
pcm

Source #1
State: SUSPENDED
Name: alsa_output.pci-0000_2f_00.4.iec958-stereo.monitor
Description: Monitor of Starship/Matisse HD Audio Controller Digital Stereo (IEC958)
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.pci-0000_2f_00.4.iec958-stereo
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of Starship/Matisse HD Audio Controller Digital Stereo (IEC958)"
device.class = "monitor"
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfcb00000 irq 150"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2f:00.4"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.4/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1487"
device.product.name = "Starship/Matisse HD Audio Controller"
device.string = "1"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Formats:
pcm

Source #5
State: SUSPENDED
Name: alsa_output.pci-0000_2d_00.1.hdmi-stereo.monitor
Description: Monitor of HDA NVidia Digital Stereo (HDMI)
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 6
Mute: no
Volume: front-left: 65528 / 100% / -0,00 dB,   front-right: 65528 / 100% / -0,00 dB
        balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor of Sink: alsa_output.pci-0000_2d_00.1.hdmi-stereo
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of HDA NVidia Digital Stereo (HDMI)"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 148"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2d:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:2d:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "228b"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Formats:
pcm

Source #7
State: SUSPENDED
Name: bluez_sink.E4_41_22_20_3C_13.a2dp_sink.monitor
Description: Monitor of OnePlus Buds Z
Driver: module-bluez5-device.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 26
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: bluez_sink.E4_41_22_20_3C_13.a2dp_sink
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of OnePlus Buds Z"
device.class = "monitor"
device.string = "E4:41:22:20:3C:13"
device.api = "bluez"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E4_41_22_20_3C_13"
bluez.class = "0x240404"
bluez.alias = "OnePlus Buds Z"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Formats:
pcm

Client #1
Driver: protocol-native.c
Owner Module: 12
Properties:
application.name = "QPulse"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "9448"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "plasmashell"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "2"

Client #3
Driver: module-x11-xsmp.c
Owner Module: 24
Properties:
application.name = "XSMP Session on KDE as 10dcd7c96c000161242936400000094260008"
xsmp.vendor = "KDE"
xsmp.client.id = "10dcd7c96c000161242936400000094260008"

Client #4
Driver: protocol-native.c
Owner Module: 12
Properties:
application.name = "Brave input"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "10296"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "brave"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "2"

Client #7
Driver: protocol-native.c
Owner Module: 12
Properties:
application.name = "brave"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
window.x11.display = ":0"
window.x11.screen = "0"
application.process.id = "9940"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "brave"
application.language = "en_US.UTF-8"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "2"

Client #12
Driver: protocol-native.c
Owner Module: 12
Properties:
application.name = "QPulse"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "29957"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "latte-dock"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "2"

Client #29
Driver: protocol-native.c
Owner Module: 12
Properties:
application.name = "QPulse"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "4642"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "systemsettings5"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "2"

Client #31
Driver: protocol-native.c
Owner Module: 12
Properties:
application.name = "pactl"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "7322"
application.process.user = "angel"
application.process.host = "sibling"
application.process.binary = "pactl"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "e431076a88e9934de524891e60059d3f"
application.process.session_id = "2"

Card #0
Name: alsa_card.pci-0000_2d_00.1
Driver: module-alsa-card.c
Owner Module: 6
Properties:
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xfc080000 irq 148"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2d:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:2d:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.id = "228b"
device.string = "0"
device.description = "HDA NVidia"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-stereo-extra6: Digital Stereo (HDMI 7) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround-extra6: Digital Surround 5.1 (HDMI 7) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra6: Digital Surround 7.1 (HDMI 7) Output (sinks: 1, sources: 0, priority: 600, available: no)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: output:hdmi-stereo
Ports:
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, available)
Properties:
device.icon_name = "video-display"
device.product.name = "27GL850
     "
Part of profile(s): output:hdmi-stereo
hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, not available)
Properties:
device.icon_name = "video-display"
Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, not available)
Properties:
device.icon_name = "video-display"
Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, not available)
Properties:
device.icon_name = "video-display"
Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3
hdmi-output-4: HDMI / DisplayPort 5 (type: HDMI, priority: 5500, latency offset: 0 usec, not available)
Properties:
device.icon_name = "video-display"
Part of profile(s): output:hdmi-stereo-extra4, output:hdmi-surround-extra4, output:hdmi-surround71-extra4
hdmi-output-5: HDMI / DisplayPort 6 (type: HDMI, priority: 5400, latency offset: 0 usec, not available)
Properties:
device.icon_name = "video-display"
Part of profile(s): output:hdmi-stereo-extra5, output:hdmi-surround-extra5, output:hdmi-surround71-extra5
hdmi-output-6: HDMI / DisplayPort 7 (type: HDMI, priority: 5300, latency offset: 0 usec, not available)
Properties:
device.icon_name = "video-display"
Part of profile(s): output:hdmi-stereo-extra6, output:hdmi-surround-extra6, output:hdmi-surround71-extra6

Card #1
Name: alsa_card.pci-0000_2f_00.4
Driver: module-alsa-card.c
Owner Module: 7
Properties:
alsa.card = "1"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfcb00000 irq 150"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:2f:00.4"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.4/sound/card1"
device.bus = "pci"
device.vendor.id = "1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.product.id = "1487"
device.product.name = "Starship/Matisse HD Audio Controller"
device.string = "1"
device.description = "Starship/Matisse HD Audio Controller"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Profiles:
input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: no)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: no)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: no)
output:analog-surround-21: Analog Surround 2.1 Output (sinks: 1, sources: 0, priority: 1300, available: no)
output:analog-surround-21+input:analog-stereo: Analog Surround 2.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1365, available: no)
output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority: 1200, available: no)
output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1265, available: no)
output:analog-surround-41: Analog Surround 4.1 Output (sinks: 1, sources: 0, priority: 1300, available: no)
output:analog-surround-41+input:analog-stereo: Analog Surround 4.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1365, available: no)
output:analog-surround-50: Analog Surround 5.0 Output (sinks: 1, sources: 0, priority: 1200, available: no)
output:analog-surround-50+input:analog-stereo: Analog Surround 5.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1265, available: no)
output:analog-surround-51: Analog Surround 5.1 Output (sinks: 1, sources: 0, priority: 1300, available: no)
output:analog-surround-51+input:analog-stereo: Analog Surround 5.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1365, available: no)
output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5565, available: no)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: output:iec958-stereo
Ports:
analog-input-front-mic: Front Microphone (type: Mic, priority: 8500, latency offset: 0 usec, not available)
Properties:
device.icon_name = "audio-input-microphone"
Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:iec958-stereo+input:analog-stereo
analog-input-rear-mic: Rear Microphone (type: Mic, priority: 8200, latency offset: 0 usec, not available)
Properties:
device.icon_name = "audio-input-microphone"
Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:iec958-stereo+input:analog-stereo
analog-input-linein: Line In (type: Line, priority: 8100, latency offset: 0 usec, not available)
Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:iec958-stereo+input:analog-stereo
analog-output-lineout: Line Out (type: Line, priority: 9000, latency offset: 0 usec, not available)
Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21, output:analog-surround-21+input:analog-stereo, output:analog-surround-40, output:analog-surround-40+input:analog-stereo, output:analog-surround-41, output:analog-surround-41+input:analog-stereo, output:analog-surround-50, output:analog-surround-50+input:analog-stereo, output:analog-surround-51, output:analog-surround-51+input:analog-stereo
analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, not available)
Properties:
device.icon_name = "audio-headphones"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo

Card #3
Name: bluez_card.E4_41_22_20_3C_13
Driver: module-bluez5-device.c
Owner Module: 26
Properties:
device.description = "OnePlus Buds Z"
device.string = "E4:41:22:20:3C:13"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_E4_41_22_20_3C_13"
bluez.class = "0x240404"
bluez.alias = "OnePlus Buds Z"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Profiles:
a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 40, available: yes)
headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 30, available: no)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: a2dp_sink
Ports:
headset-output: Headset (type: Headset, priority: 0, latency offset: 0 usec, availability unknown)
Part of profile(s): a2dp_sink, headset_head_unit
headset-input: Headset (type: Headset, priority: 0, latency offset: 0 usec, not available)
Part of profile(s): headset_head_unit

Re: How to enable HSP with bluetooth headset and runit init system

Reply #6
Please check the relative Wiki

[EDIT] Also this link

Re: How to enable HSP with bluetooth headset and runit init system

Reply #7
Please check the relative Wiki

[EDIT] Also this link
Of course I did I am referring to the wiki on my first post... As for the link, it is really not the same issue so it isn't helping. But thanks.

Re: How to enable HSP with bluetooth headset and runit init system

Reply #8
Well, the lack of profile is not a matter of the service.

I do not use this software, or this kind of hardware, to assist you more.

Re: How to enable HSP with bluetooth headset and runit init system

Reply #9
Well, the lack of profile is not a matter of the service.

I do not use this software, or this kind of hardware, to assist you more.
Oh, okay. Well I hope someone can help. Thank you anyway.

 

Re: How to enable HSP with bluetooth headset and runit init system

Reply #10
 Most mobile bluetooth headsets switch between HSP/HFP and A2DP depending on what the headset is being used for.

HSP/HFP - used in mobile calls, enables low quality audio playback with the Mic enabled.

A2DP - used for listening to general audio, higher quality audio with Mic disabled.
Some Desktop Environments may offer a option to switch profiles under Audio Settings, did you tried it??

As you can see on picture, i can select and swith profile at my Soundcore buds manually (KDE Plasma), but default = a2dp

Starting from Pulseaudio v. 11.0, it's possible to automatically switch the profile whenever microphone access is requested by the application, but it's disabled by
default.

Code: [Select]
Find load-module module-bluetooth-policy line in /etc/pulse/default.pa
Change it to load-module module-bluetooth-policy auto_switch=2

Now pulseaudio (after restart the service) should switch the device profile to HSP whenever microphone access is requested and change it back to A2DP after stream is closed.


Re: How to enable HSP with bluetooth headset and runit init system

Reply #11
but as i tested my buds, i have not this error as you (HSP/HFP) (priority 30, available: no)...

BT paired, a2dp:
Code: [Select]
[alois@picasso ~]$ pacmd list | grep headset_head_unit
                headset_head_unit: Náhlavní souprava (HSP/HFP) (priority 30, available: unknown)

BT paired, switched from a2dp to HSP:
Code: [Select]
[alois@picasso ~]$ pacmd list | grep headset_head_unit 
Default sink name: bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit
Default source name: bluez_source.88_D0_39_E6_A9_9E.headset_head_unit
        name: <bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit>
                bluetooth.protocol = "headset_head_unit"
        name: <bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit.monitor>
        name: <bluez_source.88_D0_39_E6_A9_9E.headset_head_unit>
                bluetooth.protocol = "headset_head_unit"
                headset_head_unit: Náhlavní souprava (HSP/HFP) (priority 30, available: yes)
        active profile: <headset_head_unit>
                bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit/#6: Soundcore Life Dot 2
                bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit.monitor/#7: Monitor of Soundcore Life Dot 2
                bluez_source.88_D0_39_E6_A9_9E.headset_head_unit/#8: Soundcore Life Dot 2
        sink: 6 <bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit>

my settings of pulseaudio: https://github.com/alium/share/blob/master/default.pa

Re: How to enable HSP with bluetooth headset and runit init system

Reply #12
Most mobile bluetooth headsets switch between HSP/HFP and A2DP depending on what the headset is being used for.

HSP/HFP - used in mobile calls, enables low quality audio playback with the Mic enabled.

A2DP - used for listening to general audio, higher quality audio with Mic disabled.
Some Desktop Environments may offer a option to switch profiles under Audio Settings, did you tried it??

As you can see on picture, i can select and swith profile at my Soundcore buds manually (KDE Plasma), but default = a2dp

Starting from Pulseaudio v. 11.0, it's possible to automatically switch the profile whenever microphone access is requested by the application, but it's disabled by
default.

Code: [Select]
Find load-module module-bluetooth-policy line in /etc/pulse/default.pa
Change it to load-module module-bluetooth-policy auto_switch=2

Now pulseaudio (after restart the service) should switch the device profile to HSP whenever microphone access is requested and change it back to A2DP after stream is closed.


I use KDE too, but HSP doesn't appear as an option in the audio settings. I've already tried changing that option on pulseaudio config before posting, but no luck.

Re: How to enable HSP with bluetooth headset and runit init system

Reply #13
but as i tested my buds, i have not this error as you (HSP/HFP) (priority 30, available: no)...

BT paired, a2dp:
Code: [Select]
[alois@picasso ~]$ pacmd list | grep headset_head_unit
                headset_head_unit: Náhlavní souprava (HSP/HFP) (priority 30, available: unknown)

BT paired, switched from a2dp to HSP:
Code: [Select]
[alois@picasso ~]$ pacmd list | grep headset_head_unit 
Default sink name: bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit
Default source name: bluez_source.88_D0_39_E6_A9_9E.headset_head_unit
        name: <bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit>
                bluetooth.protocol = "headset_head_unit"
        name: <bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit.monitor>
        name: <bluez_source.88_D0_39_E6_A9_9E.headset_head_unit>
                bluetooth.protocol = "headset_head_unit"
                headset_head_unit: Náhlavní souprava (HSP/HFP) (priority 30, available: yes)
        active profile: <headset_head_unit>
                bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit/#6: Soundcore Life Dot 2
                bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit.monitor/#7: Monitor of Soundcore Life Dot 2
                bluez_source.88_D0_39_E6_A9_9E.headset_head_unit/#8: Soundcore Life Dot 2
        sink: 6 <bluez_sink.88_D0_39_E6_A9_9E.headset_head_unit>

my settings of pulseaudio: https://github.com/alium/share/blob/master/default.pa
As you can see the output in my case does not say available: unknown but available: no:
Code: [Select]
❯ $ pacmd list | grep headset_head_unit
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: no)
That's the issue which is explained in the Arch wiki that can be fixed by using ofono. Here you can see my pulseaudio config (it is basically the same as yours):
Code: [Select]
[37m#!/usr/bin/pulseaudio -nF
[37m#
[37m# This file is part of PulseAudio.
[37m#
[37m# PulseAudio is free software; you can redistribute it and/or modify it
[37m# under the terms of the GNU Lesser General Public License as published by
[37m# the Free Software Foundation; either version 2 of the License, or
[37m# (at your option) any later version.
[37m#
[37m# PulseAudio is distributed in the hope that it will be useful, but
[37m# WITHOUT ANY WARRANTY; without even the implied warranty of
[37m# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[37m# General Public License for more details.
[37m#
[37m# You should have received a copy of the GNU Lesser General Public License
[37m# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

[37m# This startup script is used only if PulseAudio is started per-user
[37m# (i.e. not in system mode)

.fail

[37m### Automatically restore the volume of streams and devices
[36mload-module module-device-restore
[36mload-module module-stream-restore
[36mload-module module-card-restore

[37m### Automatically augment property information from .desktop files
[37m### stored in /usr/share/application
[36mload-module module-augment-properties

[37m### Should be after module-*-restore but before module-*-detect
[36mload-module module-switch-on-port-available

[37m### Automatically switch to newly-connected devices
[36mload-module module-switch-on-connect

[37m### Load audio drivers statically
[37m### (it's probably better to not load these drivers manually, but instead
[37m### use module-udev-detect -- see below -- for doing this automatically)
[37m#load-module module-alsa-sink
[37m#load-module module-alsa-source device=hw:1,0
[37m#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
[37m#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
[37m#load-module module-null-sink
[37m#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.[34melse
[37m### Use the static hardware detection module (for systems that lack udev support)
[36mload-module module-detect
.endif

[37m### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
[36mload-module module-jackdbus-detect channels=2
.fail
.endif

[37m### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
[36mload-module module-bluetooth-policy auto_switch=2
.endif

.ifexists module-bluetooth-discover.so
[36mload-module module-bluetooth-discover
.endif

[37m### Load several protocols
[36mload-module module-dbus-protocol
.ifexists module-esound-protocol-unix.so
[36mload-module module-esound-protocol-unix
.endif
[36mload-module module-native-protocol-unix

[37m### Network access (may be configured with paprefs, so leave this commented
[37m### here if you plan to use paprefs)
[37m#load-module module-esound-protocol-tcp
[37m#load-module module-native-protocol-tcp
[37m#load-module module-zeroconf-publish

[37m### Load the RTP receiver module (also configured via paprefs, see above)
[37m#load-module module-rtp-recv

[37m### Load the RTP sender module (also configured via paprefs, see above)
[37m#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
[37m#load-module module-rtp-send source=rtp.monitor

[37m### Load additional modules from GSettings. This can be configured with the paprefs tool.
[37m### Please keep in mind that the modules configured by paprefs might conflict with manually
[37m### loaded modules.
.ifexists module-gsettings.so
.nofail
[36mload-module module-gsettings
.fail
.endif


[37m### Automatically restore the default sink/source when changed by the user
[37m### during runtime
[37m### NOTE: This should be loaded as early as possible so that subsequent modules
[37m### that look up the default sink/source get the right value
[36mload-module module-default-device-restore

[37m### Make sure we always have a sink around, even if it is a null sink.
[36mload-module module-always-sink

[37m### Honour intended role device property
[36mload-module module-intended-roles

[37m### Automatically suspend sinks/sources that become idle for too long
[36mload-module module-suspend-on-idle

[37m### If autoexit on idle is enabled we want to make sure we only quit
[37m### when no local session needs us anymore.
.ifexists module-console-kit.so
[36mload-module module-console-kit
.endif
[37m#.ifexists module-systemd-login.so
[37m#load-module module-systemd-login
[37m#.endif

[37m### Enable positioned event sounds
[36mload-module module-position-event-sounds

[37m### Cork music/video streams when a phone stream is active
[36mload-module module-role-cork

[37m### Modules to allow autoloading of filters (such as echo cancellation)
[37m### on demand. module-filter-heuristics tries to determine what filters
[37m### make sense, and module-filter-apply does the heavy-lifting of
[37m### loading modules and rerouting streams.
[36mload-module module-filter-heuristics
[36mload-module module-filter-apply

[37m### Make some devices default
[37m#set-default-sink output
[37m#set-default-source input

Re: How to enable HSP with bluetooth headset and runit init system

Reply #14
And why ofono not fixed it after you installed it? Where is the problem now?
Ofono is installed and run....

As I saw results in Internet, more users have problems with Oneplus buds....