Syncing a Tungsten T with a Linux computer via Bluetooth
Dienstag, 5. April 2005, 22:25 UhrI recently got my mother’s “old and broken” Tungsten T (the digitizer has to be calibrated several times a day, but apart from that everything seems to be fine with it). Hotsync via USB works without any problems (using the pilot-link suite; the only thing you have to know is that by default, port
is created). But hotsync via bluetooth would be nicer, both for showing off and for having less hassle with all the cables.
There is a bluetooth hotsync howto on the pilot-link web site, and using that and another howto I successfully set up a network connection between the Tungsten and my laptop. I am not going to repeat the instructions here. Useful programs at this stage are
- MergicPing, a ping program for Palm OS available for free from mergic.com.
- pssh, a free and open-source SSH client for Palm OS,
- the free Eudora Internet Suite (which contains a web browser and an email program).
The howto then says to use
to connect to the PDA. This did not work for me. I found a program in the pilot-link suite that looked like it might be helpful:
, which the “Connection Service Daemon for Palm Devices”. It should be called like this:
pi-csd -H “magic” -a 10.0.0.1 -n 255.255.255.0
(where
is the hostname of my laptop, and
is the address I gave the laptop in the PPP configuration). Running
and starting the hotsync on the PDA didn’t produce any results.
I remembered that the second howto mentions that there is a bug in Palm OS which requires you to enter the IP address of the laptop in reverse order (in Hotsync -> Main PC Settings -> IP Address), like so:
. Unfortunately, the Palm OS version of my Tungsten also has the endianness bug as described in this email which causes the packets to be invalid. I wasn’t able to find any solution for this problem and was just about to give up.
Some more browsing in the mailing list archive led me to yet another email, however, which describes an entirely different approach. Instead of using the network hotsync, it is possible to just use the “serial” hotsync (which is what the USB hotsync uses via the
module). The approach described there works for me. The only problem I encountered was this error message:
Error read system info on /dev/rfcomm0
PADP TX Unexpected packet, possible port speed problem?
Setting the transfer rate to 57.600 kb/sec (via
) solved this problem.
It looks like the second approach will eventually be supported by pilot-link itself, saving you one or two of the three steps described; I don’t know about the current status, though.
Ooohhh.. A post in English. :)
If I read things correctly, the palm sends the entire packets with the wrong endianness?
It is possible to do something about this, but it would be a bit of an ugly hack…
You would basically have to catch the packets, reverse the endianness and re-inject them into the TCP/IP stack. This sounds fairly complicated, but it could be done in a fairly small C program which uses libpcap (packet capturing library) and libnet (packet injection library).
Although it might be way too much work for something which you won’t be using .)
Yeah, plus I don’t even know whether it’s really an endianness problem. That’s just what they said in that email. But the way it works now is actually how I wanted it to work anyway, I just didn’t find any instructions.
And everybody who hasn’t got a clue what ‘endianness’ means can look it up here.
@Jessica: Oops, yes, things I probably shouldn’t take for granted ;) I put in a link to wikipedia now.