Bug 383581

Summary: bluetooth headset doesn't work.
Product: [Fedora] Fedora Reporter: Kevin Fenzi <kevin>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 9CC: bnocera, jonathansteffan, kernel-maint, kna, rlevi66, sergio.pasra
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-14 18:03:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kevin Fenzi 2007-11-14 23:03:26 UTC
I have a bluetooth headset I want to use with 'twinkle' (SIP phone app). 
I can use it fine if I compile and load the old snd_bt_sco kernel module. 

If I try and use it via the new method described at: 
/usr/lib64/bluetooth/bluetoothd-service-audio

I get the following output from twinkle: 

ALSA lib pcm_bluetooth.c:417:(bluetooth_hsp_hw_params) Protocol not available (92)
ALSA lib pcm_bluetooth.c:417:(bluetooth_hsp_hw_params) Protocol not available (92)

and the following output from /usr/lib64/bluetooth/bluetoothd-service-audio:

audio[18200]: Bluetooth Audio daemon
audio[18200]: Parsing /etc/bluetooth/audio.conf failed: No such file or directory
audio[18200]: Unix socket created: 5
audio[18200]: add_service_record: got record id 0x10000
audio[18200]: add_service_record: got record id 0x10001
audio[18200]: Registered manager path:/org/bluez/audio
audio[18200]: Loading device 00:07:A4:24:C2:0C (headset )
audio[18200]: Got path /org/bluez/hci0 for adapter with address 00:16:41:CD:96:74
audio[18200]: Selecting default device
audio[18200]: Accepted new client connection on unix socket (fd=8)
audio[18200]: Package PKT_TYPE_CFG_REQ:0
audio[18200]: State changed /org/bluez/audio/device0: DISCONNECTED -> CONNECTING
audio[18200]: /org/bluez/audio/device0: Connecting to 00:07:A4:24:C2:0C channel 1
audio[18200]: State changed /org/bluez/audio/device0: CONNECTING -> CONNECTED
audio[18200]: /org/bluez/audio/device0: Connected to 00:07:A4:24:C2:0C
audio[18200]: State changed /org/bluez/audio/device0: CONNECTED -> STREAM_STARTING
audio[18200]: SCO socket opened for headset /org/bluez/audio/device0
audio[18200]: SCO fd=10
audio[18200]: fd=10, fd_opt=1, pkt_len=48, sample_size=2, rate=8000
audio[18200]: 30 bytes sent
audio[18200]: 1 bytes sent
audio[18200]: State changed /org/bluez/audio/device0: STREAM_STARTING -> STREAMING
audio[18200]: Unix client disconnected (fd=8)
audio[18200]: State changed /org/bluez/audio/device0: STREAMING -> DISCONNECTED
audio[18200]: Accepted new client connection on unix socket (fd=8)
audio[18200]: Package PKT_TYPE_CFG_REQ:0
audio[18200]: State changed /org/bluez/audio/device0: DISCONNECTED -> CONNECTING
audio[18200]: /org/bluez/audio/device0: Connecting to 00:07:A4:24:C2:0C channel 1
audio[18200]: State changed /org/bluez/audio/device0: CONNECTING -> CONNECTED
audio[18200]: /org/bluez/audio/device0: Connected to 00:07:A4:24:C2:0C
audio[18200]: State changed /org/bluez/audio/device0: CONNECTED -> STREAM_STARTING
audio[18200]: SCO socket opened for headset /org/bluez/audio/device0
audio[18200]: SCO fd=10
audio[18200]: fd=10, fd_opt=1, pkt_len=48, sample_size=2, rate=8000
audio[18200]: 30 bytes sent
audio[18200]: 1 bytes sent
audio[18200]: State changed /org/bluez/audio/device0: STREAM_STARTING -> STREAMING
audio[18200]: Accepted new client connection on unix socket (fd=11)
audio[18200]: Package PKT_TYPE_CFG_REQ:0
audio[18200]: fd=10, fd_opt=0, pkt_len=48, sample_size=2, rate=8000
audio[18200]: 30 bytes sent
audio[18200]: 1 bytes sent
audio[18200]: Accepted new client connection on unix socket (fd=12)
audio[18200]: Unix client disconnected (fd=11)
audio[18200]: Package PKT_TYPE_CFG_REQ:0
audio[18200]: fd=10, fd_opt=0, pkt_len=48, sample_size=2, rate=8000
audio[18200]: 30 bytes sent
audio[18200]: 1 bytes sent
Received: AT+VGS=11
audio[18200]: Unregistered manager path
audio[18200]: Removing default device
audio[18200]: Removing default headset
audio[18200]: Unregistered device path:/org/bluez/audio/device0
audio[18200]: Exit

See the bluez-util thread I posted: 
http://thread.gmane.org/gmane.linux.bluez.devel/13932

Also, twinkle developers claim it's an alsa or bluez bug that prevents it from
working. 

Happy to provide more info, test, or whatever. 

It would be really nice to have this working out of the box...

Comment 1 Bastien Nocera 2008-05-21 00:05:20 UTC
Could you please test again with F9? Note that we still don't consider the
Bluetooth audio support to be ready for general consumption.

Comment 2 Kevin Fenzi 2008-06-08 21:11:23 UTC
Sorry for the delay here... 

I just tried it again on my F9 laptop. 

Now I get: 

ohm(kevin)[~] arecord -D bluetooth -f S16_LE | aplay -D bluetooth -f S16_LE    
 15:03:31
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
ALSA lib pcm_bluetooth.c:460:(bluetooth_hsp_hw_params) BT_SETCONFIGURATION
failed : Input/output error(5)
arecord: set_params:979: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 16
CHANNELS: 1
RATE: 8000
PERIOD_TIME: 125000
PERIOD_SIZE: 1000
PERIOD_BYTES: 2000
PERIODS: 4
BUFFER_TIME: 500000
BUFFER_SIZE: 4000
BUFFER_BYTES: 8000
TICK_TIME: [0 0]
aplay: playback:2019: read error

Nothing I see of particular note in /var/log/messages. 
There doesn't appear to be a headsetd anymore, so I can't run it manually to see
what output it has now. 

Seems like it's getting closer. :) 
Anything to try now?

Comment 3 Kevin Fenzi 2008-09-23 22:15:59 UTC
output of spdtool records XXXX:

Service Name: Headset
Service RecHandle: 0x10000
Service Class ID List:
  "Headset" (0x1108)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0100

Service Name: Hands-Free unit
Service RecHandle: 0x10001
Service Class ID List:
  "Handsfree" (0x111e)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0100

Comment 4 Bastien Nocera 2008-09-23 23:24:49 UTC
Apparently Marcel broke SCO for hands-free in 2.6.27-something, reassigning to kernel.

Comment 5 Kevin Fenzi 2008-09-24 15:57:18 UTC
Well, I am using F9 here, so 2.6.26.5-39.fc9.x86_64

It's never worked for me. ;(

Comment 6 Bastien Nocera 2008-09-24 17:58:28 UTC
(In reply to comment #5)
> Well, I am using F9 here, so 2.6.26.5-39.fc9.x86_64
> 
> It's never worked for me. ;(

That'd be because before, it was user-space that was broken. Trying your current F9 kernel with the bluetooth user-space from rawhide should work.

We never did support headsets before anyway, and the support might not be ready for F10 either.

Comment 7 Kevin Fenzi 2008-11-25 20:40:07 UTC
ok, f10 here now. 

Same errors as before. ;(

Comment 8 Sergio Pascual 2009-05-01 22:49:56 UTC
Testing fedora 11 preview. I can pair with my headset, but the new volume control is not working correctly. When I try to change the volume on the headset, the  volume of internal audio is raised to 100%. There's no way of mute the internal audio and control the volume of the headset

gnome-bluetooth-2.27.4-3
pulseaudio-module-bluetooth-0.9.15-11

Comment 9 Bug Zapper 2009-06-09 23:11:35 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 10 Bug Zapper 2009-07-14 18:03:45 UTC
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.