Getting the PalmPilot to (not) work in OpenSUSE 11.3

A while ago, I wrote about my challenges in getting my Palm to work in Ubuntu Jaunty. The challenges in OpenSUSE are different and more intractable.

A chief cause appears to be the fact that with the udev file system, the serial port attached to the Palm only shows up when the serial port is actually activated on the Palm itself – such as when the HotSync button is pushed. Until then, the device file does not exist.

What’s more, after the process is complete, the device file disappears completely. Beyond that, in this case, there are not one but two serial ports created for the Palm Pilot. It turns out that the second of these is the appropriate one to use – but I’ve not been able to confirm this.

All of the documentation on using udev and creating udev rules appears to be obsolete in one form or another:

  • The BUS parameter is obsolete; use SUBSYSTEM instead.
  • The SYSFS parameter is obsolete; use ATTR instead.
  • Comparisons now use a double equals (‘==’) instead of a single (‘=’).
  • The NAME="%k" parameter is now flagged as invalid.
  • The commands udevtest and udevinfo do not exist; use udevadm instead.

There also does not seem to be any descriptions on how to debug the rules. There is no way to test a specific rule and see what was matched (or not matched) and why. Logging can be increased but it will not tell you why a rule did not match.

In all, writing a udev rule (added to /etc/udev/rules.d) is not for the faint of heart, and you could very well be writing your own documentation as you go, as the documentation on the web and in the kernel tree will be insufficient.

The best (but woefully out of date) source is a document by Daniel Drake in 2006 – five years ago now. Linux Magazine had a nice introduction (PDF) back in October of 2006 – although udev has changed, the introduction is just as valid now as it was then.

Way back in November 2004, Craig Clasohm wrote an article on getting a Palm device to work with Fedora Core 3. Fedora is now at version 14, seven years later, and people are still leaving comments and questions on Craig’s article.

There are many different descriptions on how to make Palms work with Linux – including almost every release and version you can think of all the way up to the current day. One of the most in depth for Ubuntu is this one in the Ubuntu community documentation; for OpenSUSE there is this thread in the technical forums.

What does it take to make Palms work with Linux straight out of the box? It should not be this hard!

Browsing the Web on the Tungsten C

I had just about figured that browsing the web using Palm’s Tungsten C was impossible. It comes with a browser, but that was never usable as far as I could tell. I tried numerous other options, and finally found one that worked much better than I had dared to hope.

I tried using Xiino. This browser just looks ugly to start (with decidedly low-resolution graphics), and has completely incomprehensible icons. It wasn’t usable at all; most pages would result in a blank screen. It also uses a proxy server for images (though it doesn’t call it that): the “DataServer” – pds.mobirus.com – no longer exists, which means that you can’t display anything at all unless that setting is cleared. There’s no way to set or unset it; just clear the name entirely.

I tried using Opera Mini. This requires using the old IBM Websphere Everyplace Micro Edition (WEME) – which in reality is the J9 Java Virtual Machine (JVM). The word is that IBM WEME 5.7.1 is much more stable than IBM WEME 5.7.2 (neither of which are supported or available any longer). No matter – Opera Mini v4 (the current) did not work at all, but froze during initial operation; Opera Mini v3 works but crashes reliably and frequently.

I even tried something called TeaShark; that didn’t get past the startup stage (which was buggy at the outset). This wasn’t too surprising since it was running on IBM’s J9 JVM like Opera; word has it that the IBM JVM was crippled on PalmOS in some way.

I love Opera Mini, and used it on my Nokia 6265i (and later the 6165i) – and missed it. However, running it on the J9 JVM gave a completely different experience (I never did try using Sun’s Java Manager – but that was for MIDP 1.0 only) I started thinking to myself: the NetFront browser on my Samsung Caliber is ever so much better…

Then imagine my surprise when I found that there is a NetFront browser for PalmOS. It turns out that the Sony Clie (a PalmOS device) used NetFront for their default browser, and that it would work on a Palm device as well. There are copies of it available on the web, but the one I saw came with something called MaxX to make it work with a different screen resolution than the original browser expected to find (on the Tungsten T I think).

After downloading and installing via HotSync – using Linux (with GNOME’s gpilotd) – the browser crashed when run. However, running on the Tungsten C, MaxX is unneeded; removing it solved the problems entirely.

Running with the NetFront browser has been a delightful (and unexpected) experience. The only problem seems to be a connection-related problem; for some reason, the WiFi connection seems to “age” and loses connectivity even though the device doesn’t think so. Reconnecting seems to fix this.

For more details on using the NetFront browser – and people’s experiences with it – check out this forum thread over at 1src.com.

If you use Google for RSS or for news, try m.google.com in NetFront; it’s the best experience I’ve had yet. You can also use Google’s mobile gateway directly by going to www.google.com/gwt/n and entering the URL that you wish to go to.

Getting the PalmPilot to work in Ubuntu Jaunty

I was surprised when I found that the Gnome Pilot Applet didn’t work – it didn’t appear at all. In the past I just brushed it off: but then, I decided it was time to get it fixed.

Strangely enough, there is a bug report about this and it is fixed in Karmic Koala (the upcoming version of Ubuntu) but not in Jaunty. This could be fixed in Jaunty but it isn’t. Can’t say why – makes no sense to me. The fix is to use an updated version of gnome-pilot which includes a patch to fix the bug – but this updated package is only available for Karmic.

However, loading the updated version of the gnome-pilot package (using the i386 version) was simple and there were no problems. I then restarted the gnome-pilot daemons for good measure:

sudo pkill gpilot

Probably overkill – but it doesn’t hurt. Then add the Pilot Applet to the panel and you should see the icon – and your gpilotd daemon will start in the background.

Next, click on the applet itself – and wait. The gnome-pilot Settings window should appear shortly. Make sure that the ID is not zero. This causes a bug (which is described in another bug report) where installs do not work. If the ID is zero, then click on Edit and change the PDA ID to another number (I used 5). Then click on Send to PDA and follow the instructions.

If you change the ID, you will have to go back into the Conduits tab (again in gnome-pilot Settings) and enable all of the conduits you want to use.

Once all of this is done, you should find that your PalmPilot is working up to par. Too bad that a distribution such as Ubuntu or Mint (both of which are billed as Linux for the normal person’s desktop) don’t properly support a PalmPilot “out of the box”.