#4 Native Bluetooth support for kphone

Jan Janak

It uses the Bluez protocol stack which is included in
recent 2.6.x
kernels. Kphone is linked with -lbluetooth library, on
debian this
library is provided by libbluetooth1-dev.

I only tried with Bluetake BT400 G3 headset, with that
one it seems to
work fine, but it should work with any bluetooth headset.


- Make sure you have bluetooth support in the linux
kernel (modules
bluetooth, rfcomm, sco, l2cap, and hci_usb if you
have USB bluetooth
dongle). Note that most laptops with bluetooth
support seem to have a
USB dongle.

- Make sure you have bluez-utils installed and running,
on debian you
can start it using /etc/init.d/bluez-utils start
You need to have hcid and sdpd daemons running.

- Verify that you have bluetooth interface up and
running using
hciconfig -a
You should see hci0 interface UP RUNNING

- Switch your bluetooth headset into pairing mode

- Run hcitool scan
This should show your bluetooth headset and its
address, write down
the address.

- Try to ping the headset using
l2ping <bdaddr>

You will be asked for the pin for the first time.

- start kphone, go to Audio options, click on bluetooth
and enter the
address of the headset in the edit window below.

- You will see bluetooth related debug messages in
terminal window if
you started kphone from terminal

There is no need to repeat the steps above once you
have the headset
paired with the computer. They will remember each other
and next time
you can only turn on the headset and start kphone and
it should work.

The shared secret negotiated during paring is stored in
/etc/bluetooth/link_key on debian. If you delete the
file then you will
be prompted for the pin again once you try to establish
a connection to
the headset. Try to delete the file if you get
"Permission denied" when
trying to either ping or connect the headset.

Pressing the button on the headset will bring up "New
Call" dialog in
kphone. Setting microphone/speaker volume does not work
yet because
there is no widget for this in kphone. Well setting
speaker volume works
beucase this is done by the headset internaly, setting
microphone volume
does not work yet because we would n
It works fine for me, bluetooth headset is quite
convenient replacement
of traditional headsets and also it does not block your
soundcard when
making phone calls (although alsa can be configured
this way too).

If you decided to buy a bluetooth headset, go for a
headset that uses
+5V for charging. Such headsets can be easily
re-charged directly from USB
ports and you do not have to carry extra charger when
travelling :-).
eed a control for that in kphone.


  • Jan Janak

    Jan Janak - 2005-10-13
  • klaus fleischmann

    Logged In: YES

    This patch is a "nice to have" BUT without bluetooth
    libraries installed on your box, compiling will fail.

    So the patch is quite useless for non-bluetooth users.
    Conditional compiling is the minimum requirement!


Log in to post a comment.