Connect a Palm V to the Internet with a Mac

A few months ago, I found a fun page on the site Hack A Day : a contest offering to try to go visit a simple page with an old device. An old device is an item that was released before the advent of the Internet for the public, so basically that came out in the 90s or earlier. A 1998 iMac that has a modem and an Ethernet connector is way too easy. So I found another old Palm to try… and I succeeded.
En français.
palmv

I found an IBM WorkPad C3 at a low cost, in perfect condition, and running under Palm OS 3.5 (I’ll put it under Palm OS 4.1 one day). The WorkPad C3 is a clone of Palm V(x) manufactured by IBM. The main difference is that it is black, which makes it some classy.

WorkPad C3, alias Palm Vx

WorkPad C3

For my first try, I used Windows XP, with a program called Mocha PPP. It’s pretty simple : put the Palm on its dock, connect it to the computer (in my case, with a serial/USB adapter and a virtual machine) and configure. After a few mistakes, especially to find a functional browser, it worked.

Avec un câble

With a cable

I was a little disappointed to see it had to go through a cable and Windows. So I searched a bit about how to do it wireless, it’s much more fun, and with Mac OS X.

Sans câble

Wireless

First thing, get a Mac with infrared. I did not really want to test it with my iMac (although it should work), so I took out my USB adapter. Then I looked for how to do it. There are a lot of tutorials to do it via Bluetooth, but my Palm does not work on Bluetooth. Then I realized that connecting via Bluetooth, via serial or via IrDA did not really matter : in all cases, a PPP serial link is required.

On the Mac side, it’s easy, you simply have to type four commands. Please note that it worked on Leopard with an old machine, but I got an error with Mavericks.

sudo /usr/sbin/pppd /dev/tty.IrDA-IrCOMM00001014 115200 noauth local passive proxyarp asyncmap 0 silent persist 192.168.1.32:192.168.1.98

Then you need to find the name of your TTY adapter (tty.IrDA-IrCOMM00001014 for example), then enter the IP address of your Mac (192.168.1.32 in my case) and the IP address you want to give to the Palm (192.168.1.98 out of the DHCP range in my case).

Then share the connection. You need to know the name of the network interface used (usually en0).

sudo /usr/sbin/sysctl -w net.inet.ip.forwarding=1
sudo /usr/sbin/natd -same_ports -use_sockets -log -deny_incoming -interface en0
sudo /sbin/ipfw add divert natd ip from any to any via en0

Concerning the Palm, you need at least Palm OS 3.5, and do some manipulations.

My screenshots are in French and I do not know English terms for this part , so I’ll let you look for it. You just create a PPP connection and set DNS manually.

Then you can connect.

After that, you need to find a browser (Eudora Web is not too bad) and of course avoid pages filled with Javascript, Flash and other modern stuff.

Retro HackADay

Retro HackADay


Google.fr

Google.fr


Retro JournalDuLapin

Retro JournalDuLapin

To give you an idea, I tried to load the Wikipedia page of the Palm V and my iPhone stopped filming (without telling me) after several minutes : the page was not loaded yet. I have an example here of about 5 minutes, the first one lasted more than 15 minutes without fully loading the page…

In the end, even if it is extremely slow, it works, and it must be possible to connect any device capable of PPP on a serial connection in the same way.