Handspring in action

Palm September 11th, 2006

It is quite surprising to find the legendary handspring is still in use in GridWorld 2006. The staff scans the bar code on the badge with this gadget, and authenticate whether the visitor is eligible to access the specific session. Here is a picture of it in action:

Handspring in action


RSS feeds on th go

Desktop, Gentoo, Palm August 7th, 2006

I spend 3 - 5 hours for transportation weekly, and spend at least 40 minutes to browse/read the subscripted RSS feeds daily. What if I could utilize the trivial time in the metro to read something I am really interested in?

Here is one “just works” solution. Install Sunrise in the computer, and Plucker in the Palm. Export my favorite feeds from the RSS reader in OPML format, and import it to Sunrise which would synchronize the feeds and convert them to Plucker format later.

Import OPML

Download PDB files via kpilot to my Palm via IrDA. It works, but it involves in TOO MUCH interactivities with the users, you wanna catch the bus or not?

What I need is a cron job running in the background, check, convert and save. Whenever I do a HotSync, the files are updated; or just simply beam them to my Palm. Here is my proposal to work it around:

  • Develop a RSS fetcher/parser using RSS for Python to fetch the contents.
  • Develop a wrapper to invoke official Plucker Desktop to convert them to Plucker PDB
  • Develop a file synchronization plugin for KPilot
  • Customize a script to beam the files
  • Develop a init script to glue them together

Any suggestions?

Sync Palm via IrDA

Desktop, Gentoo, Palm August 3rd, 2006

I have complained the lame Palm Sync socket for quite a long time, eventually, I decide to try HotSync my Palm via IrDA on my Dell Latitude D600, which is equipped with SMSC IrDA Controller.

Prepare Hardware

The very first thing is to enable IrDA in the BIOS setting, since D600 has a COM1 serial port, IrDA is then assigned to COM2, aka /dev/ttyS1 in Linux.

BIOS setting



Boot to the overweighted Windows XP, and check the IRQ/DMA/SIR/FIR in Device Manager.

Device Manager


The findchip in irda-utils package is supposed to probe the system, unfortunately, it does not work in D600.

Build the Kernel

Just follow this HOWTO to build IrDA modules.

— IrDA (infrared) subsystem support
—   IrDA protocol
<M>  IrLAN protocol
<M>  IrNET protocol
<M>  IrCOMM protocol
[*]   Ultra (connectionless) protocol
—   IrDA options
[*]   Cache last LSAP
[*]   Fast RRs (low latency)

— SIR device drivers                 
<M> IrTTY (uses Linux serial driver)
<M> IrPORT (IrDA serial driver)     
— FIR device drivers                 
<M> SMSC IrCC (EXPERIMENTAL)

SIR stands for Standard IR, which uses generic serial protocol to talk with IrDA; FIR needs specific driver to achieve Fast IR. Although IrLAN and IrNET are rarely used, it does not hurt to build them as modules.

Test drive

Since /dev/ttyS1 is also driven by serial, we need explicitly to tell the kernel this device is controlled by irda:

sudo setserial /dev/ttyS1 uart none

Then configure the module options in a Gentoo way, put the information collected from Windows into /etc/modules.d/irda:

options smsc-ircc2 ircc_irq=3 ircc_dma=3 ircc_sir=0×2f8 ircc_fir=0×280
alias irda0 smsc-ircc2

run modules-update to refresh the environment.

Insert the necessary modules and bind the device and port together:

sudo modprobe smsc-ircc2
sudo modprobe irda
sudo modprobe rcomm
sudo modprobe ircomm_tty
sudo /usr/sbin/irattach irda0 -s

Open another console and run

sudo irdadump

If everything is OK, some packets are dumped when the Palm is close to the laptop’s IR port.

Sync the Palm

I am using korganizer/kontact/kpilot suite. Configure the Pilot device as /dev/ircomm0[1]; Uncheck Do not sync when screensaver is active, this is essential for the lightweight WM(e.g FVWM, Fluxbox) users. Bingo !

Glue the pieces together

Inspired by Gentoo official irda init script and this. I develops the /etc/init.d/irda-fir, and /etc/conf.d/irda-fir. Add irda-fir to default runlevel if Palm is a part of your life.

Further work

[1] Are we still using the high-speed FIR if the kopete is configured to access /dev/ircomm0? Since FIR maps IR port to the network interface, irda0, I have tried to configure the Pilot devcie to net:irda0 or net:any according to this undocumented hack, but it does not work and kpilot hangs sometimes.

I still prefer the USB sync when downloading huge files for the sake of speed. Any idea to make dbus/ivman to link /dev/pilot to /dev/ircomm0 or /dev/ttyUSB0 automatically?

Lame Tungsten T’s Sync

Palm September 19th, 2005

I have a Palm powered device, Tungsten T. This device is released to fill the gap between the classical PalmOS4 and legendary PalmOS6 aka Garnet. As the first generation OS5 device, no SSL support, digitization drift prone, short battery life… nevertheless, the device itself is still solid for daily user, while the connection to the external world is really pain of the ass.

  • The Palm. Inc prefers the same sophisticated socket for the power adapter and the USB cradle is not the standard accessory. I have to put the device leaning on the wall when charging. Thank you, the gravity.
  • The Sync cable really drives me nuts. The connection depends on the pin-to-pin hitting, why not use the standard USB socket?

Farewell, Palm OS

Palm September 9th, 2005

I can’t believe my eyes when I browse the slashdot: PalmSource was purchased by Access, a Japanese cell phone software company.

I need to reconsider whether I would stand on the side of Palm since things have changed. Nobody knows where Access would lead Palm Source to, the destiny of PalmOS is doomed. Hope my Tungsten T is solid enough before the emergence of next promising handheld device.

Farewell, Palm OS.