Pulseaudio 5.99-3 from Debian/experimental repository is unable to switch profile of Samsung WEP301 HSP/HFP Headset. When it is asked to switch it, response from pactl is "Input/output error" and loginctl returns such line: pulseaudio[1533]: [pulseaudio] backend-native.c: connect(): Unsupported protocol.
The error message comes from bluez5_sco_acquire_cb(). The function first creates a socket: sock = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO); Then it associates the local bluetooth adapter's address with the socket: bind(sock, (struct sockaddr *) &addr, sizeof(addr)) These steps succeed, but when the socket is connected to the remote device, that fails. err = connect(sock, (struct sockaddr *) &addr, sizeof(addr)); I don't know how to interpret the "Unsupported protocol" error. Does that mean that the kernel thinks that this particular device doesn't support the SCO protocol? How could that happen? Hints from the BlueZ developers would be welcome (I'll try to get Luiz to comment).
I believe this was a kernel regression that has been fixed in 3.18. See this mailing list thread: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/22912 If you still have this problem after updating your kernel to 3.18 or newer, feel free to reopen.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.