Treo 650, Bluetooth, and Fedora Core 4

I recently acquired a Cingular Treo 650 smartphone.  I wanted to
make sure to get the 650 because of the bluetooth functionality. 
I have had a bit of trouble syncing it with Linux.  The easiest to
get working was infrared.  USB syncing would work on a SUSE 9.3
box, but not FC4 for some reason.  Apparently the problem is known
and the pilot-link guys are working on it.  Although IR sync is
nice, I wanted to get bluetooth syncing and general networking setup
with my linux laptop (T41p)…

After going through several HOWTOs on getting bluetooth palm syncing setup under linux, I finally found one
that got me somewhere.  It turns out, FC4 has a bug related to
SELinux which prevents some of the bluetooth daemons from operating
correctly.  So, after disabling SELinux protection for the
bluetooth daemon in the "Security Level" tool, things started working.

I created a small script in /etc/bluetooth/pin, containing the following:

#!/bin/bash
echo "PIN:1234"

Next, I edited /etc/bluetooth/hcid.conf as directed in the
article.  I also edited /etc/bluetooth/rfcomm.conf and added the
MAC of my Treo.  At this point, I started the bluetooth service
and established a partnership between the computer and the Treo.

In order to get a PPP connection to work over bluetooth, you have to
have a PPP peer defined.  I created /etc/ppp/peers/dun with the
following contents:

115200
192.168.1.8:192.168.1.128
local
ms-dns 192.168.201.1
noauth
debug
nodetach
defaultroute

Next, I ran "dund -s call dun", which starts pppd when the Treo tries
to connect to the DUN service.  At this point, I created a network
connection on the Treo to use bluetooth, with automatic IP and
DNS.  Now, I can hit "connect" and get a network pipe to the
laptop.  By running the following command, I’m able to surf from
the treo:

iptables -t nat -A POSTROUTING -j MASQUERADE

The Treo can now be set up to do a network sync to 192.168.1.8.  I used JPilot, with a device set to "net:any".

Whee!

Category(s): Linux

Comments are closed.