On Sat, 2016-03-26 at 11:31 +0200, Jerome Leclanche wrote: > Hi list > > I've been debugging all morning issues with the Parrot ZIK 3.0 (and > its two previous model versions) not displaying HSP profile as > available. > > Here is the headset in bluetoothctl: > > Device A0:14:3D:6B:E6:7F >         Name: Parrot ZIK 3.0 V3.01 >         Alias: Parrot ZIK 3.0 V3.01 >         Class: 0x240408 >         Icon: audio-card >         Paired: yes >         Trusted: yes >         Blocked: no >         Connected: yes >         LegacyPairing: no >         UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb) >         UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) >         UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb) >         UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb) >         UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb) >         UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb) >         UUID: Vendor specific           (8b6814d3-6ce7-4498-9700-9312c1711f64) >         Modalias: bluetooth:v0043pA003d0000 > > 0000111e-0000-1000-8000-00805f9b34fb is the HSP UUID. It's actually the HFP UUID. HSP UUID is 00001108-0000-1000-8000- 00805f9b34fb. > HSP profile > shows up eg. in pavucontrol, but is "Unavailable". Digging into it, I > found out pulse cannot find a transport for it. > > Attached is a log file of dbus-monitor when the headset is turned on > and automatically connects to pulse. > > In the log files, when the device connects, I always see > "bluetoothd[455]: No valid attributes in request" twice in journalctl. > I looked into it (happens in avrpc.c from bluez)... doesn't *look* > related but can't tell for sure. > > Compiled the latest (0f48b7c8) pulseaudio with native bluetooth > backend / bluez 5.38-2 on Arch Linux. Bluetooth adapter is an > integrated btusb device. > > Fresh out of ideas. Suggestions? I don't have any suggestions. I can tell, however, that this is a somewhat common problem. And now I think I figured out what the underlying issue is. Here's a bug report on the topic: https://bugs.freedesktop.org/show_bug.cgi?id=93898 The bug report shows information about two devices, and now I noticed something that I hadn't noticed earlier: the working device supports both HSP and HFP, but the non-working device only supports HFP. The "native" backend in pulseaudio only supports HSP, so this explains why some headsets don't work. The assumption has been that all headsets would support both profiles anyway, but if there are headsets that don't have HSP, then it seems that we still don't support all headsets with BlueZ 5 (BlueZ 4 should still work fine, but nobody is using it anymore). The oFono backend is of no use for headset support, because it only supports the role where PulseAudio runs on the handsfree device, meaning that you can connect your laptop to your phone and pretend that the laptop is a headset. I don't know when this will be fixed. I'm not volunteering to implement the missing functionality. -- Tanu