Translation(s): English - Italiano

(!) ?Discussion


Information on connecting a PalmOS device to a Debian system via Bluetooth. Note that most of this material is shamelessly stolen from here.

Configuring a Bluetooth Connection

On the Debian System

The first phase of this process is the configuration of a Bluetooth connection between the Debian system and the PalmOS device. When this is accomplished, we will have a PPP connection between the two systems. We assume that Bluetooth is already installed on the Debian system; instructions for doing this are here.

As of June 2009, the required daemons were removed from the bluetooth package and moved to bluez-compat. So be sure to:

aptitude install bluez-compat ppp

Configure DUN

In /etc/default/bluetooth, make sure that DUN (Dial Up Networking) is enabled:

DUND_ENABLED=1

Set the DUN options as follows:

DUND_OPTIONS="--listen --persist --msdun call palmdevice

You may use any name in the place of palmdevice. Now create a corresponding file named /etc/ppp/peers/palmdevice containing the following:

115200
10.0.1.8:10.0.1.40
local
ms-dns <IP address of your DNS server>
noauth
debug

You may, of course, use any suitable private IP addressing scheme in place of the one given, and ms-dns should be set to the names of your DNS servers, or 127.0.0.1 if you have local DNS or do not require any name resolution.

Since the dund program was removed from the main bluetooth package, you now have to start it yourself. It is not started from the /etc/init.d/bluetooth script. Add the following lines to /etc/rc.local

test -f /etc/default/bluetooth && . /etc/default/bluetooth
[ "$HIDD_ENABLED" -eq 1 ] && /usr/bin/hidd $HIDD_OPTIONS        
[ "$PAND_ENABLED" -eq 1 ] && /usr/bin/pand $PAND_OPTIONS        
[ "$DUND_ENABLED" -eq 1 ] && /usr/bin/dund $DUND_OPTIONS        

Test the connection

I assume here that you've already paired your devices. If not, see the links at the top of the page. Then, manually start the dund server (as root!)

$ sudo dund --nodetach --listen --persist --msdun call palmdevice

The '--nodetach' means that dund will stay in the foreground, so that you can monitor the connection. Hit Ctrl-C when you want to kill dund.

Now, go to your Palm and start a hotsync with the Modem connection that you set up (as per the link at the top of the page). If all is well, you should see the Palm go through its process of connecting successfully and you will see messages like this on the Debian command line:

dund[7252]: Bluetooth DUN daemon version 4.42
dund[7277]: New connection from -Palm MAC Address-
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1feeedf7> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x1feeedf7> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x1feeedf7> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x1feeedf7> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x1feeedf7]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.0.1.8>]
rcvd [LCP EchoRep id=0x0 magic=0x0]
rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfNak id=0x1 <addr 10.0.1.40> <ms-dns1 192.168.1.1> <ms-dns3 192.168.1.1>]
rcvd [LCP ProtRej id=0x3 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 10.0.1.8>]
rcvd [IPCP ConfReq id=0x2 <addr 10.0.1.40> <compress VJ 0f 01> <ms-dns1 192.168.1.1> <ms-dns3 192.168.1.1>]
sent [IPCP ConfAck id=0x2 <addr 10.0.1.40> <compress VJ 0f 01> <ms-dns1 192.168.1.1> <ms-dns3 192.168.1.1>]
Cannot determine ethernet address for proxy ARP
local  IP address 10.0.1.8
remote IP address 10.0.1.40
Script /etc/ppp/ip-up started (pid 7304)
Script /etc/ppp/ip-up finished (pid 7304), status = 0x0
rcvd [IPCP TermReq id=0x3]
IPCP terminated by peer
Connect time 0.7 minutes.
Sent 40 bytes, received 52 bytes.
Script /etc/ppp/ip-down started (pid 7335)
sent [IPCP TermAck id=0x3]
Script /etc/ppp/ip-down finished (pid 7335), status = 0x0
rcvd [LCP TermReq id=0x4]
LCP terminated by peer
sent [LCP TermAck id=0x4]
Hangup (SIGHUP)
Modem hangup
Connection terminated.
dund[7360]: New connection from 00:1D:FE:2D:3B:3B
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x78b8c2b5> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x78b8c2b5> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x78b8c2b5> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x78b8c2b5> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x78b8c2b5]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.0.1.8>]
rcvd [LCP EchoRep id=0x0 magic=0x0]
rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfNak id=0x1 <addr 10.0.1.40> <ms-dns1 192.168.1.1> <ms-dns3 192.168.1.1>]
rcvd [LCP ProtRej id=0x3 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfAck id=0x1 <compress VJ 0f 01> <addr 10.0.1.8>]
rcvd [IPCP ConfReq id=0x2 <addr 10.0.1.40> <compress VJ 0f 01> <ms-dns1 192.168.1.1> <ms-dns3 192.168.1.1>]
sent [IPCP ConfAck id=0x2 <addr 10.0.1.40> <compress VJ 0f 01> <ms-dns1 192.168.1.1> <ms-dns3 192.168.1.1>]
Cannot determine ethernet address for proxy ARP
local  IP address 10.0.1.8
remote IP address 10.0.1.40
Script /etc/ppp/ip-up started (pid 7370)
Script /etc/ppp/ip-up finished (pid 7370), status = 0x0
rcvd [IPCP TermReq id=0x3]
IPCP terminated by peer
Connect time 0.2 minutes.
Sent 1544 bytes, received 20078 bytes.
Script /etc/ppp/ip-down started (pid 7382)
sent [IPCP TermAck id=0x3]
Script /etc/ppp/ip-down finished (pid 7382), status = 0x0
rcvd [LCP TermReq id=0x4]
LCP terminated by peer
sent [LCP TermAck id=0x4]
Hangup (SIGHUP)
Modem hangup
Connection terminated.

If that works, then you can kill dund, and restart your computer (to make sure that everything gets set up properly on reboot). Check 'ps aux | grep dund' to make sure that dund is started on reboot. Then start 'pilot-xfer -l -p net:any' and hit the HotSync button on the palm. You should see a successful connection, and pilot-xfer will list all the files on your palm. [You can also do 'export PILOTPORT=net:' to cause all your pilot-link invocations to listen for connections over the network.]



CategoryHandheld