Ubuntu + Palm = Something Completely Useless

 

Palm showing my CPU usage
Palm showing my CPU usage

If you, like me, own a Palm III and also use Linux for your OS, then you are a complete geek. My excuse of owning a Palm is that my friend gave it to me, what’s yours? But that’s not the point of this post. The point of it is to show what ELSE is Palm good for. It is hard to take notes, people look at you as a complete stranger, you can’t connect it to the internet (it’s Palm IIIc we’re talking about), there’s no GPS, so what’s it good for? Well, let’s assume you have a program and want to see the CPU and memory usage while you play use your program. One way to do that is to load System Monitor. But that’s not geeky enough. No, that’s for people who still have a life, not to mention a girlfriend. For us, über-geeks, with no life, external display is the way to go. And Palm is a really good looking external display :). Let’s start.

Things you need:

  1. Palm (I have Palm IIIc, you can use some other Palm, or even an LCD system)
  2. Linux :)
  3. Program for Palm to emulate the LCD display. I used PalmOrb (http://palmorb.sourceforge.net/)
  4. Program for displaying system information from your Linux on a LCD. I used LCDproc (http://lcdproc.org/)

Procedure for deleting your life

First you have to be able to connect your Palm to your ttyS0 (that’s serial port). If it’s not ttyS0, than its one of the above ports (S1, S2, …). For other purposes it is recommended to have /dev/palm as device so do:

sudo ln -s /dev/ttyS0 /dev/palm

This links ttyS0 to “virtual” palm device.

Installing and patching LCDproc

Install LCDproc via synaptic. Download (don’t install) LCDproc and edit server/drivers/MtxOrb.c file, uncomment the line “memset(p->backingstore, 0xFE, (p->width * p->height));” in MtxOrb_clear. Compile it. In terminal, while in the directory, type:

./configure
make

Now, replace the compiled MtxOrb.so in /usr/lib/lcdproc with this one in server/drivers (cp server/drivers/MtxOrb.so /usr/lib/lcdproc/MtxOrb.so). Ok, you have installed the LCDproc and patched it.

Configuration

Configure the LCDd.conf in /etc and edit the following:

in [server] section edit:

Driver=MtxOrb
DriverPath=/usr/lib/lcdproc/

in [MtxORB] section edit:

Device=/dev/pilot
Size=20x4
Type=lkd
Speed=19200

Starting up

On your connected Palm, start PalmOrb. Start LCD deamon:

/etc/init.d/LCDd start

Initiate the deamon to start showing status on the LCD:

lcdproc

Now you should have your system information on you Palm. There are differences for some distros, but you should know how to change the settings for your system, and if you have USB connection, this post shows the settings for USB. Ok, that’s it. You are officially a member of have-no-life people!

  • DougTheBug

    I attempted all this and found it to be troublesome. Eventually I just installed ptelnet on the palm pilot and now just send things to the appropriate USB(serial) port. With a little scripting I have a whole readout with cpu temp, top processes, and date/time refreshing every 10 seconds. Works like a charm.

    Its actually better because I can use the entire screen now too.