You are not logged in.

#1 2016-10-09 10:48:14

knezi
Member
Registered: 2014-04-13
Posts: 45

microphone in a bluetooth headset not recognised

Hi,
I own a bluetooth headset ZM-HPS10BT. I've paired it and now I am able to connect it. However, only speakers get recognised. After connection there's created a device in pulseaudio for speakers, but not for the microphone. I've tried to connect it dozens of time and once or twice it got recognized.
I am able to connect the microphone on other devs, so it shouldn't be a HW problem. Since the speakers work, I guess my bluetooth receiver should be also fine.

journalctl -f:

Oct 09 12:42:31 holly bluetoothd[1656]: /org/bluez/hci0/dev_00_13_0A_00_4B_34/fd8: fd(22) ready
Oct 09 12:42:31 holly kernel: Bluetooth: Unexpected continuation frame (len 0)
Oct 09 12:42:31 holly kernel: Bluetooth: Unexpected continuation frame (len 0)
Oct 09 12:42:31 holly kernel: Bluetooth: Unexpected continuation frame (len 0)
Oct 09 12:42:31 holly kernel: Bluetooth: Unexpected continuation frame (len 0)
Oct 09 12:42:31 holly kernel: input: 00:13:0A:00:4B:34 as /devices/virtual/input/input38

Thanks,
knezi

Offline

#2 2016-10-09 20:35:01

jeremy31
Member
Registered: 2015-11-01
Posts: 149

Re: microphone in a bluetooth headset not recognised

Is the headset using A2DP or the HSP/HFP as a microphone will usually only work in HSP/HFP mode

Offline

#3 2016-10-14 14:21:23

knezi
Member
Registered: 2014-04-13
Posts: 45

Re: microphone in a bluetooth headset not recognised

Thanks. It really is A2DP, but according to the wiki, support for HSP/HFP was removed in bluez 5, so I have to use software that actually implements HFP such as pulseaudio. Any thoughts how to set it through Pulseaudio?
(There really is no support for HSP in newest bluez, I've checked that).
EDIT: pulseaudio says there are two modes for my dev: A2DP and HSP/HFP, but the latter is not available.

Last edited by knezi (2016-10-14 14:31:50)

Offline

#4 2016-10-14 14:50:08

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,738

Re: microphone in a bluetooth headset not recognised

Define "not available" you have to switch the profile (what are the outputs from

pacmd list-cards
pacmd list-sources

) You might have to switch pulse's bluetooth module to ofono, edit the relevant line in default.pa

load-module module-bluetooth-discover headset="ofono"

)

EDIT: On reading again, it looks like the ofono backend doesn't support the headset case, so it might not be a viable solution.

Last edited by V1del (2016-10-14 14:53:45)

Offline

#5 2016-10-14 15:09:53

knezi
Member
Registered: 2014-04-13
Posts: 45

Re: microphone in a bluetooth headset not recognised

Here are the outputs:
pacmd list-cards

3 card(s) available.
    index: 0
        name: <alsa_card.pci-0000_00_1b.0>
        driver: <module-alsa-card.c>
        owner module: 6
        properties:
                alsa.card = "0"
                alsa.card_name = "HDA Intel"
                alsa.long_card_name = "HDA Intel at 0xfe9f4000 irq 27"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:00:1b.0"
                sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
                device.bus = "pci"
                device.vendor.id = "8086"
                device.vendor.name = "Intel Corporation"
                device.product.id = "293e"
                device.product.name = "82801I (ICH9 Family) HD Audio Controller"
                device.form_factor = "internal"
                device.string = "0"
                device.description = "Vnitřní zvukový systém"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
        profiles:
                input:analog-stereo: Analogové stereo Input (priority 60, available: unknown)
                output:analog-stereo: Analogové stereo Output (priority 6000, available: unknown)
                output:analog-stereo+input:analog-stereo: Analogové duplexní stereo (priority 6060, available: unknown)
                off: Vypnuto (priority 0, available: unknown)
        active profile: <output:analog-stereo+input:analog-stereo>
        sinks:
                alsa_output.pci-0000_00_1b.0.analog-stereo/#0: Vnitřní zvukový systém Analogové stereo
        sources:
                alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#0: Monitor of Vnitřní zvukový systém Analogové stereo
                alsa_input.pci-0000_00_1b.0.analog-stereo/#1: Vnitřní zvukový systém Analogové stereo
        ports:
                analog-input-internal-mic: Interní mikrofon (priority 8900, latency offset 0 usec, available: unknown)
                        properties:
                                device.icon_name = "audio-input-microphone"
                analog-input-mic: Mikrofon (priority 8700, latency offset 0 usec, available: no)
                        properties:
                                device.icon_name = "audio-input-microphone"
                analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: no)
                        properties:
                                device.icon_name = "audio-speakers"
                analog-output-headphones: Analogová sluchátka (priority 9000, latency offset 0 usec, available: yes)
                        properties:
                                device.icon_name = "audio-headphones"
    index: 1
        name: <bluez_card.00_13_0A_00_4B_34>
        driver: <module-bluez5-device.c>
        owner module: 23
        properties:
                device.description = "ZM-HPS10BT"
                device.string = "00:13:0A:00:4B:34"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_00_13_0A_00_4B_34"
                bluez.class = "0x240404"
                bluez.alias = "ZM-HPS10BT"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"
        profiles:
                headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: no)
                a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: yes)
                off: Vypnuto (priority 0, available: yes)
        active profile: <a2dp_sink>
        sinks:
                bluez_sink.00_13_0A_00_4B_34/#1: ZM-HPS10BT
        sources:
                bluez_sink.00_13_0A_00_4B_34.monitor/#2: Monitor of ZM-HPS10BT
        ports:
                headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
                        properties:

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

    index: 2
        name: <bluez_card.00_13_0A_00_4B_34.2>
        driver: <module-bluez5-device.c>
        owner module: 25
        properties:
                device.description = "ZM-HPS10BT"
                device.string = "00:13:0A:00:4B:34"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_00_13_0A_00_4B_34"
                bluez.class = "0x240404"
                bluez.alias = "ZM-HPS10BT"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"
        profiles:
                headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: no)
                a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: yes)
                off: Vypnuto (priority 0, available: yes)
        active profile: <off>
        ports:
                headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
                        properties:

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

pacmd list-sources

3 source(s) available.
    index: 0
        name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
        driver: <module-alsa-card.c>
        flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: RUNNING
        suspend cause: 
        priority: 1950
        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: yes
        current latency: 0,00 ms
        max rewind: 344 KiB
        sample spec: s16le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 2
        linked by: 2
        configured latency: 40,00 ms; range is 0,50 .. 2000,00 ms
        monitor_of: 0
        card: 0 <alsa_card.pci-0000_00_1b.0>
        module: 6
        properties:
                device.description = "Monitor of Vnitřní zvukový systém Analogové stereo"
                device.class = "monitor"
                alsa.card = "0"
                alsa.card_name = "HDA Intel"
                alsa.long_card_name = "HDA Intel at 0xfe9f4000 irq 27"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:00:1b.0"
                sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
                device.bus = "pci"
                device.vendor.id = "8086"
                device.vendor.name = "Intel Corporation"
                device.product.id = "293e"
                device.product.name = "82801I (ICH9 Family) HD Audio Controller"
                device.form_factor = "internal"
                device.string = "0"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
  * index: 1
        name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
        driver: <module-alsa-card.c>
        flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: RUNNING
        suspend cause: 
        priority: 9959
        volume: front-left: 66728 / 102% / 0,47 dB,   front-right: 66728 / 102% / 0,47 dB
                balance 0,00
        base volume: 6368 /  10% / -60,75 dB
        volume steps: 65537
        muted: no
        current latency: 0,08 ms
        max rewind: 0 KiB
        sample spec: s16le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 1
        linked by: 1
        configured latency: 40,00 ms; range is 0,50 .. 2000,00 ms
        card: 0 <alsa_card.pci-0000_00_1b.0>
        module: 6
        properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "VT1708S Analog"
                alsa.id = "VT1708S Analog"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "0"
                alsa.card_name = "HDA Intel"
                alsa.long_card_name = "HDA Intel at 0xfe9f4000 irq 27"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:00:1b.0"
                sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
                device.bus = "pci"
                device.vendor.id = "8086"
                device.vendor.name = "Intel Corporation"
                device.product.id = "293e"
                device.product.name = "82801I (ICH9 Family) HD Audio Controller"
                device.form_factor = "internal"
                device.string = "front:0"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analogové stereo"
                device.description = "Vnitřní zvukový systém Analogové stereo"
                alsa.mixer_name = "VIA VT1708S"
                alsa.components = "HDA:11060397,10431111,00100000"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
        ports:
                analog-input-internal-mic: Interní mikrofon (priority 8900, latency offset 0 usec, available: unknown)
                        properties:
                                device.icon_name = "audio-input-microphone"
                analog-input-mic: Mikrofon (priority 8700, latency offset 0 usec, available: no)
                        properties:
                                device.icon_name = "audio-input-microphone"
        active port: <analog-input-internal-mic>
    index: 2
        name: <bluez_sink.00_13_0A_00_4B_34.monitor>
        driver: <module-bluez5-device.c>
        flags: DECIBEL_VOLUME LATENCY 
        state: RUNNING
        suspend cause: 
        priority: 1030
        volume: front-left: 55562 /  85% / -4,30 dB,   front-right: 55562 /  85% / -4,30 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: 1
        linked by: 1
        fixed latency: 45,32 ms
        monitor_of: 1
        card: 1 <bluez_card.00_13_0A_00_4B_34>
        module: 23
        properties:
                device.description = "Monitor of ZM-HPS10BT"
                device.class = "monitor"
                device.string = "00:13:0A:00:4B:34"
                device.api = "bluez"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_00_13_0A_00_4B_34"
                bluez.class = "0x240404"
                bluez.alias = "ZM-HPS10BT"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"

As for the ofono, I've set it, but didn't help. But systemctl status pulseaudio:

holly pulseaudio[5904]: E: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files

Should I install this: https://aur.archlinux.org/packages/ofono/?

As I understand it the problem is that I have to persuade pulseaudio to connect to the device itself. I've tried:

pacmd load-module "module-bluez5-device path=/org/bluez/hci0/dev_00_13_0A_00_4B_34"

Unfortunately got this:

holly pulseaudio[5904]: E: [pulseaudio] bluez5-util.c: Transport Acquire() failed for transport /org/bluez/hci0/dev_00_13_0A_00_4B_34/fd2 (Operation Not Authorized)

Since pulseaudio is running with user's permission, but bluez with root's. It might be only needed to tell bluez to permit this action.

Offline

#6 2016-10-15 15:43:34

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,738

Re: microphone in a bluetooth headset not recognised

You would have to install the ofono package yes, but leave that for now, I don't think it's what you want. Does your headset provide some form of physical switch? Does forcing the HFP profile in pulseaudio work?

pacmd set-card-profile bluez_card.00_13_0A_00_4B_34.2 headset_head_unit

pulse is already connected to your device, it wouldn't show a sink if that wasn't the case.

Offline

#7 2016-10-15 17:31:11

knezi
Member
Registered: 2014-04-13
Posts: 45

Re: microphone in a bluetooth headset not recognised

Thanks for reply.
There's no physical switch. I can't force it. Pavucontrol shows it, but it's greyed, so can't choose it. Your CLI command returns an error `Failed to set card profile to 'headset_head_unit'` (the pacmd list-cards says it is unavailable).
From wiki:

HSP/HFP profiles
bluez5 removed support for the HSP/HFP profiles (telephony headset for TeamSpeak, Skype, etc.). You need to install PulseAudio (>= version 6) or another application that implements HSP/HFP itself. ,

Maybe pulseaudio fails to detect it. I don't know how to force going the transfer through pulseaudio.

Offline

#8 2016-10-15 19:11:36

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,738

Re: microphone in a bluetooth headset not recognised

Pulse already detects it, you wouldn't have the speakers otherwise (the paragraph you refer to, is talking about the use case where bluez itself creates the audio device as an ALSA card, which has nothing to do with the problem at hand, you still use the normal pairing routine, pulse's modules will pick up on that),  might be an initial connection issue. The wiki mentions to reconnect a few times via bluetoothctl. You could still try and see if the ofono backend helps out, although description from the release announcement of pulseaudio makes me think that this would be the opposite effect of what you want.

Offline

#9 2016-10-15 20:21:21

knezi
Member
Registered: 2014-04-13
Posts: 45

Re: microphone in a bluetooth headset not recognised

Oh, thanks. I understand it finally. That must be the reason why I managed to connect it a couple of times when I was trying it. I can't do it thought now. Tried it ten times and didn't help.
I'll try ofono tomorrow, the AUR package seems broken, so I may have to compile from the source.

Offline

#10 2016-10-19 10:58:54

gkun
Member
Registered: 2016-06-11
Posts: 91

Re: microphone in a bluetooth headset not recognised

Did it work out? I seem to have the same problem with a bluetooth headset which is correctly seen as a headset. Pulse audio lets me select the HFP profile, but then the speaker seems to be disabled.

Offline

#11 2016-11-04 07:18:33

ttux
Member
Registered: 2008-04-22
Posts: 29

Re: microphone in a bluetooth headset not recognised

What I needed to do to have it working was to edit ~/.config/pulse/audio.conf with:

[General]
#Disable=Socket
Enable=Socket
#AutoConnect=true

I have left out the #Disable=Socket as that's what might work for you instead of Enable=Socket

Offline

Board footer

Powered by FluxBB