[pulseaudio-discuss] HFP profile of Bluetooth headset is not recognized

Karol Babioch karol at babioch.de
Tue Dec 3 14:51:30 PST 2013


Hi,

I'm not particularly familiar with the whole Linux Bluetooth stack
(especially in combination with PulseAudio and the desktop manager
gluing all of this together), but since the upgrade to BlueZ 5.x along
with GNOME 3.10 a couple of months back, I'm no longer able to toggle
between the A2DP and HFP profile of my Bluetooth headset.

I think I narrowed down the issue to PulseAudio itself, which is the
reason why I'm posting this here. If, at any point, you have the feeling
that this issue should be tackled somewhere else, just let me know.

After fiddling around with the command line interface of "pacmd" I can
verify that PulseAudio is only seeing this profiles:

	profiles:
		a2dp: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)
		off: Aus (priority 0, available: yes)
	active profile: <a2dp>

I'm not sure what exactly the "unknown" status of the "available" field
is telling me, but the headset works just fine. Unfortunately I don't
see a HFP profile I could switch to, which the Bluetooth headset itself
is definitely offering.

sdptool is reporting the following:

[johnpatcher at vpcs ~]$ sdptool records 00:16:94:0E:E2:80
Service RecHandle: 0x10000
Service Class ID List:
  "Audio Sink" (0x110b)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x102
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0102

Service Name: Hands-Free unitService RecHandle: 0x10001
Service Class ID List:
  "Handsfree" (0x111e)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0105

Service Name: HeadsetService RecHandle: 0x10002
Service Class ID List:
  "Headset" (0x1108)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0100

Service RecHandle: 0x10003
Service Class ID List:
  "AV Remote" (0x110e)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x100
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0100

So, at least to me, it seems that BlueZ is able to detect the service,
but somewhere on the way up to PulseAudio it is lost. As said in the
introduction, I'm not too familiar with the internals of these
components, so I'm not sure how to debug this correctly from this point
on. Any advice is very much appreciated. I've seen quite a bunch of
patches regarding the Bluetooth profiles in the git log, but all of this
doesn't seem to resolve my issue in particular. I'm running a PulseAudio
build directly from git:

[johnpatcher at vpcs ~]$ pulseaudio --version
pulseaudio 4.0-318-gce30

Is this a known problem or is this something specific to my setup here?
I would like to have this fixed in the near future. I'm happy to provide
you any log files you need in order to narrow this down and apply some
patches - if necessary.

Best regards,
Karol Babioch

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20131203/258ae723/attachment.pgp>


More information about the pulseaudio-discuss mailing list