Bluetooth Headset and Linux

The Alsa-Bluetooth project project provides a way to use a bluetooth headset with Linux.They do this currently by making an alsa kernel driver which uses bluez to reach the headset.

I Wrote a KDE based user space daemon wich works as drop in replacement for the btsco daemon from the Alsa-Bluetooth package. The Programm is in early beta stage. Just start it from the Console and you will have a small kicker applet in your Systray. KBtsco has a function to discover the BAddr of your Headset. Once you did the pairing via e.g. KBluetoothd package, you can click the headset icon in the Systray to connect to the headset. All actions get visualized via On-Screen-Display in the right corner of your monitor. After connecting you can push your connect button on the headset wich actually opens the sco socket. I used this tool on daily basis with Skype. Sometimes sndbtsco seems to crash and eats all CPU time,it’s still beta i think.

Snes Snes

Picture 1

Picture 2

Download

4 comments

  1. Hello, good job, KBtsco found my (paired) headset, but…
    i can’t connect to the headset, what’s wrong

    KBtsco: KBtscoWorker::run cmd=1
    KBtsco: KBtscoWorker::btscoOpen
    KBtsco: KBtscoWorker::findDevice hwdep next device (hw:0): Operation not permitted
    KBtsco: KBtscoWorker::findDevice control open (hw:1): Permission denied
    Can’t find device. Bail: Permission denied
    KBtsco: KBtscoWorker::run no cmd going to sleep

    anyway this program is a very good idea for a simplier life.

  2. I this call fails.

    err = sndctlopen(ctlhandle, cardid, 0))

    This is something ALSA related. Iam not an ALSA Expert, but i would suggest to test this.

    o Is the sndbtsco module loaded
    hunter david # lsmod | grep sndbtsco
    o Have a correct Alsa setup for it.
    o Does Alsa subsystem init the card ?
    hunter david # cat /proc/asound/cards
    0 [ICH6 ]: ICH4 – Intel ICH6
    Intel ICH6 with AD1986 at 0xdffffe00, irq 23
    1 [Headset ]: Bluetooth SCO – BT Headset
    BT Headset 1
    o Is There a Sound device for the BTsco card ?
    o Do the Sound Device have prober Permission ?
    o Does Alsamixer work on the BTsco card.
    david@hunter ~ $ alsamixer -c 1

  3. @sirkus: You need to compile the emu10k1 module into the kernel. Then you don’t have the hwdep problem anymore.

    But I’ve also a problem: the kbtsco doesn’t use the right rfcomm channel. It selects “/x01” as channel. That’s the output on the console. I’m using a Jabra BT250v headset.
    DO you have any hints?

    Thanks a lot for your help (and of course your program),
    Whoopie

  4. DO you run the SDP server? If not the KBtscoWorker::detectChannel(bdaddr_t * bdaddr) will fail and the default channel 1 is taken. If this isn’t suitable for you, just change the default channel in this method.

Leave a Reply

Your email address will not be published. Required fields are marked *