Bug 87284 - Cannot switch bluetooth headset to HSP/HPF profile .
Summary: Cannot switch bluetooth headset to HSP/HPF profile .
Status: RESOLVED NOTOURBUG
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: modules (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-13 15:04 UTC by petrol.91
Modified: 2015-03-13 07:49 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description petrol.91 2014-12-13 15:04:22 UTC
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.
Comment 1 Tanu Kaskinen 2014-12-15 12:59:46 UTC
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).
Comment 2 Tanu Kaskinen 2015-03-13 07:49:27 UTC
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.