Gentoo Wiki


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

This article is still a Stub. You can help Gentoo-Wiki by expanding it.



This howto will walk you through the steps involved in linking a Palm, PocketPC, or other Bluetooth-enabled PDA with your Linux-powered computer. This is useful for several reasons:

This tutorial is designed for users of the Gentoo Linux operating system, but it is by no means useable only to those running Gentoo. Be warned, though, that things aren't going to run exactly the same on different distributions.



For this to work, you'll need a couple of pieces of hardware. One of each of the following is required:

This first version of the HOWTO was constructed using a Palm Tungsten T and an IOGear GBU301 Bluetooth dongle. If anyone else is successful, please update this accordingly.

Software, Hardware Setup, and Configuration

For these three items, you should use the excellent Mobile Phone/Bluetooth. The sections Configure the Kernel, Emerge the Packages, Attach the dongle, and Start the Bluetooth device will guide you through the process.

If you're using command-line tools, there are some additional required configuration settings. These will be covered in a later HOWTO, which will more generically describe the setup of Bluetooth on a Linux system; see the Discuss page of the above linked HOWTO for more information on this possibility. For now, I direct you to this post. In fact, you should go there now, as I'm not finished with rewriting this, and I have to go do homework.

I found that the Forum was very useful, though I had to read it many times. I looked a several different

Also if you get the following error, make sure the that bluetooth_pan init script is working correctly. "Error:Serial:timeout. Could be bad cable or faulty Modem. (0x0305)"

Also here is another good resource. pilot-link bluesync HowTo

create bluetooth connection via dun to pc

install net-wireless/bluez-utils-3.22 edit the file /etc/conf.d/bluetooth :

  1. Bluetooth configuraton file
  1. Start of hcid (allowed values are "true" and "false")


  1. Config file for hcid


  1. Start sdpd (allowed values are "true" and "false")


  1. Start hidd (allowed values are "true" and "false")


  1. Arguments to hidd // I'm not excatly sure what it does, but it seems like it makes the mouse and keyboard "auto"-connect


  1. Run hid2hci (allowed values are "true" and "false") // you definitly want this


  1. Bind rfcomm devices (allowed values are "true" and "false")


  1. Config file for rfcomm


DUND_ENABLE=true DUND_OPTIONS="--listen --persist --msdun call dun"

  1. Start pand (allowed values are "true" and "false") // Optional too


  1. Arguments to pand

PAND_OPTIONS="--listen --role NAP"

edit /etc/init.d/bluetooth :

  1. Copyright 1999-2006 Gentoo Foundation
  2. Distributed under the terms of the GNU General Public License v2
  3. $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez-utils/files/3.11/bluetooth-init.d,v 1.1 2007/06/09 11:33:55 betelgeuse Exp $

depend() {

       after coldplug
       need dbus localmount


start() {

       ebegin "Starting Bluetooth"
       if [ -f "${HCID_CONFIG}" ]; then
               ebegin "    Starting hcid"
               # -s enables internal sdp server
               start-stop-daemon --start \
                       --exec /usr/sbin/hcid -- -s -f "${HCID_CONFIG}"
               eend $?
           eend 1
       if [ "${HID2HCI_ENABLE}" = "true" -a -x /usr/sbin/hid2hci ]; then
               ebegin "    Running hid2hci"
               /usr/sbin/hid2hci --tohci -q    #be quiet
               eend $?
               [ "${result}" = "0" ] && result=$?
       if [ "${RFCOMM_ENABLE}" = "true" -a -x /usr/bin/rfcomm ]; then
               if [ -f "${RFCOMM_CONFIG}" ]; then
                       ebegin "    Starting rfcomm"
                       /usr/bin/rfcomm -f "${RFCOMM_CONFIG}" bind all
                       eend $?
                       ewarn "Not enabling rfcomm because RFCOMM_CONFIG does not exists"
       if [ "${DUND_ENABLE}" = "true" -a -x /usr/bin/dund ]; then
               if [ -n "${DUND_OPTIONS}" ]; then
                       ebegin "    Starting dund"
                       start-stop-daemon --start --quiet --exec /usr/bin/dund -- ${DUND_OPTIONS}
                       eend $?
                       ewarn "Not enabling dund because DUND_OPTIONS does not exists"
       eend ${result}


stop() {

       ebegin "Shutting down Bluetooth"
       start-stop-daemon --stop --quiet --exec /usr/sbin/hcid
       [ -x /usr/bin/dund ] && start-stop-daemon --stop --quiet --exec \
       eend $?


so now dund is loaded on startup

now follow the info here on pairing the palm with the pc.

since Bluez-3, the daemons dund and pand are deprecated. They are now implemented as services in the dbus-based hcid-daemon. Configuration of services is done in service.conf files in /etc/bluetooth

Retrieved from ""

Last modified: Wed, 27 Aug 2008 01:38:00 +0000 Hits: 29,861