, , ,

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!