Why your USB-connected Palm stopped working with Debian etch

This is mostly one of those “maybe my googlejuice will help others” posts.

So, a few weeks ago I went to sync my Treo with j-pilot, and nothing happened. Normally I press the ‘sync’ button on the cable, wait a second, then hit the ‘sync’ button on j-pilot, but suddenly, nothing. I haven’t been worrying about it–I’ve gone much longer without syncing, and I’ve been awfully busy.

Anyway today I decided to figure out what was going on. There are some oblique references to the problem in some bug reports, but I’ll lay it out explicitly here.

It turns out that etch just recently got the pilot-link 0.12 packages, which have deprecated the old ‘visor’ kernel module in favor of direct communication via libusb–and when I say deprecated, I mean it: the libpisock9 packages add a file in /etc/modprobe.d that blacklists the visor module so it simply won’t get loaded. So, suddenly, attempting to sync fails without any real indication what’s wrong.

Now don’t get me wrong, using libusb is much better in many ways (faster, moves code from the kernel to userspace that is better located there, etc.), _but_, it means that you need to change the port your pilot-link-based apps are using from /dev/ttyUSB1 (or /dev/pilot or whatever) to simply ‘usb:’ (yes, the colon is important).

Do that and suddenly things should work again.

Published by

Michael Alan Dorman

Yogi, brigand, programmer, thief, musician, Republican, cook. I leave it to you figure out which ones are accurate.