How to Sync a Palm Pilot on Linux (Ubuntu 9.04)

Once again, the actual steps to make this work are fairly simple, but for me, there was a lot of learning and a number of false starts. Here’s what worked:

1. Add ‘visor’ to /etc/modules. Use a text editor like su or nano to edit /etc/modules, just adding the word ‘visor’ at the end. If you Google this topic, (on useful forums like this) you’ll see a suggestion like: Type “sudo modprobe visor” at the command line and then try to sync. It should work at that point.

Okay, maybe it will, but that command is only good for your current session; next time you restart, you’ll have to type it again. Might as well fix /etc/modules.

2. Add a custom rule, per this site. What that rule does is a little beyond me, but it seems to resolve the discrepancy between /dev/pilot and /dev/ttyUSB1 (or /dev/ttyUSB0). These things seem to be called “devices,” which confuses me, because I think of the actual Palm Pilot Z22 itself as a device. One site called these things (/dev/pilot. etc.) as nodes where the device can exist.

After making those two changes, the Palm Pilot Z22 still did not sync with my Ubuntu 9.04 laptop (Dell Inspiron B130). I ran the GUI (System –> Preferences —> Palm OS Devices) many times, trying different choices.

3. Run the sync app from the command line, using the command ‘gpilotd’ Bang! It sync’d immediately. From there, enabling the conduits worked easily.

Frankly, I can’t be 100% sure that the first two steps noted above are necessary. I’m certainly not going to undo them and try it all over. But, for someone starting from scratch, first thing, if the GUI didn’t work, then I’d try to run ‘gpilotd’ from the command line. Then, if that didnt work, I’d make the changes noted in 1 and 2. Another possibility would be to specify /dev/ttyUSB1 in the GUI, then run gpilotd; just guessing.

Other Notes:

There is a lot to Google on this. Beware of old forum posts from 2003 that have become outdated. The concepts and issues may still apply, but typically there is an easier way to do it.

While trying to get this to work, I like informational commands that don’t DO anything, but just report statuses. From the command line, ‘dmesg’ gives some good info. Also ‘udevadm info xxx’ also gives some good info. If you Google this stuff, you might find a lot of references to “udevinfo xxx.” The newer syntax is “udevadm info xxx.”

Sync settings: USB, /dev/pilot, 57600. These were all the default settings, except for USB. (I think the net effect of that custom rule permits you to leave /dev/pilot here, while other parts of the OS need to identify the Palm as device /dev/ttyUSB1. As far as I can tell, this is the only way that works.)

After running ‘gpilotd’ at the command line, for the first sync, the Palm OS GUI app works just fine, and there is no need for you (or another user) to resort to the command line for routine use of the Palm Pilot.

Lastly, there is NO dedicated, separate Palm app to see your Calendar, Contacts, etc. The way it works is through sync’ing with the Evolution mail client. After the first, successful setup sync, and enabling some conduits, I struggled briefly, thinking “Okay, it is nice to be sync’d up, but where do I see this stuff?” On the Evolution mail client. Quite simple, actually,

Fighting a USB Wireless Adapter

Just for the fun of it, I decided to install Linux on an old Dell Dimension 4500S desktop (ca. 2002) that I had in the basement. It’s not much of a machine: 640MB RAM, 1.7? GHz processor, and 20GB hard drive, but certainly adequate to install a current version of Linux. The tricky part throughout was its Dell Truemobile 1300 Wireless USB adapter, which has no Linux drivers and which caused me numerous headaches during the install.

Without enumerating all the false starts, and mis-steps (such as trying the Debian distro instead of Ubuntu), here is the right way to go about installing Linux Ubuntu 9.04 on an old machine with such an unsupported USB device.

How-To, in summary (details below):

1. Back up data, if needed.
2. Remove USB devices.
3. Connect to an ethernet cable.
4. Boot from Ubuntu boot CD and install OS.
5. Install ndiswrapper package.
6. Find & install specific device driver.
7. Plug USB device back in.

1. Back up any data that you might want, presumably from an existing Windows install. On this box, I didn’t have anything I wanted.

2. Remove/unplug USB devices. After several false starts, I found that removing the USB wireless device was also the only way I could install any distro of Linux. I removed its USB mouse and used an ordinary PS2 mouse.

3. Plug into an ethernet connection. The Linux install discs can use internet resources during the installation and first steps. If there is an active ethernet connection from the beginning, the newly installed OS will find it, and configure it internet access quite easily.

As noted in the previous post, I had “burned an image” of the Ubuntu 9.04 OS onto a CD and had reset the BIOS to look first in the CD drive for an OS. Neither of those steps is a big deal, unless you don’t know how to do them. :)

4. So … I had my Dell Dimension 4500S, plugged into a working ethernet connection (two little green lights!), an Ubuntu 9.04 boot CD, and disconnected all USB devices. With that, I booted from the CD, and installed Linux easily, to include internet access, automatically configured. Promptly after I installed from the CD, the Ubuntu Update Manager found a fairly long list of current updates, which I clicked on, and they updated seamlessly.

5. Now, since I wanted to access the internet wirelessly and return the ethernet cable to the PC that had been using it, the time had come to make the old Dell Truemobile 1300 USB wireless adapter work. But it has no Linux drivers. The general solution is a package called ‘ndiswrapper,’ which allows the Linux kernel to use a Windows driver. From the Synaptics Package Manager, I selected the three needed packages: ndiswrapper-common, ndiswrapper-utils-1.9, and ndisgtk (a very useful graphical interface to ndiswrapper, as I am command-line-phobic). The Package Manager installed these easily.

A digression here. During the earlier false starts, I had found the Windows driver for the device, and had put it on a thumb drive. The driver is here:
DellTruemobile1300WirelessUSB-Linux.tar.gz
Within that tar.gz file are the two needed driver files: oem15.inf and PRISMA02.sys. I extracted both of them and saved them to my Desktop, where they could be easily found. I’m not sure why both are needed; I thought oem15.inf was “the driver,” but both are needed.

Almost there …

6. With the ndiswrapper GUI installed, it showed up in the System –> Administration menu, at the bottom, as Windows Wireless Drivers. Followed the menu, found oem15.inf, and it installed. Note that I had not yet plugged in the USB device. Every time that I had plugged it in before installing this driver, Linux (both Ubuntu and Debian) froze, or otherwise wouldn’t work. DO NOT PLUG IN THE USB WIRELESS DEVICE BEFORE ITS DRIVER IS INSTALLED.

7. Out of an abundance of caution, I restarted the machine after installing the driver. Then I plugged in the USB wireless adapter; Ubuntu found the device; it found all the networks within range; I entered the WEP key for my network, and it all works beautifully.

Great! Now I can put it back in the basement!

Installing Ubuntu

Okay, Windows XP has slowed to a crawl. You hate to turn off your laptop, because every time you do so, some program tells you it’s not shutting down properly. And when you re-boot, Windows takes forever and insists that you put in a (missing) original CD to update another program. Firefox has been penetrated by a virus; it crawls anyway.

It is time to switch to Ubuntu, the truly user-friendly version (“distro” or distribution) of Linux. Here is a How To Install Ubuntu.

It’s easy; it really is, for even a moderately technical person like me. I found the most difficult part to be making the Ubuntu system CD. You can’t just copy data files; you have to “burn the ISO image onto the CD.” More on that in a bit. Here is an overview of the steps I followed.

Backup Files
Whatever files you want to keep (photos, documents, spreadsheets, etc., probably all in the My Documents folder) you should save to CD. I used 4 CDs, but I didn’t keep any music or video files; they can get bulky. Or you can save your files on a thumb drive.

Download Ubuntu
Go to the Ubuntu website; download the latest version (9.04 as of July, 2009). That will be a single “.iso image.” It resembles a Zip or WinRAR file, but do not unzip it with such a tool. It is important to keep it as one, unitary thing, i.e. an “.iso image” that you will burn to your CD.

Burning the ISO to the CD
This took me the most time, because I am a noob. You need to use CD burning software like Nero, Roxio, or CDBurnerXP (which is what I used). I am not sure why, but none of the forums or guidelines indicated that you could use a more common media player such as you might use to burn a music CD.

When I tried to download any CD burning software, all of them informed me that they needed Microsoft’s .NET Framework (all 230MB!) before they could run. So, at this point, it seemed pretty complicated. But … it’s simple enough to download the .NET Framework; it installs easily. Then download and install CDBurnerXP or some other CD burning software.

Using that software, open up your Ubuntu “iso image” (don’t call it a file) and “burn” it to the CD (don’t just copy & paste the individual folders & files). This can take some time, but then you will have a bootable Ubuntu system CD.

Telling your PC to look in the CD drive for an OS
This can vary from machine to machine, but my Dell Inspiron B130 might be typical. It is set up to look for an operating system (OS) on the hard drive before it looks in the CD drive. So, to reverse that order, one needs to modify the dreaded BIOS. It’s okay; being reasonably careful, nothing will blow up. For my laptop, I had to hit F2 once a second while it was booting up; that took me to the BIOS menu, where there was a choice to change the order of places to look for an OS. The idea is to make it look in the CD drive before the hard drive. Move ‘CD drive’ to the top of the list. Save and exit. (Other PCs might use different keys to get at the BIOS.)

Installing Ubuntu
Now the fun part. With the Ubuntu system CD in the drive, re-boot the machine. You’ll get a choice to “install without changing anything” (or words to that effect). Try it and see. No destruction of Windows. No partitions. No formatting your hard drive. Not yet anyway. :) You’ll be able to run Ubuntu. In my case, I wanted to make sure it would find my network card. It did, and I supplied the WEP key. Bingo. I had internet access. Next, I wanted to print. No problem; it easily found the drivers for my HP All-in-One Laserjet 6310, and printed a test page. I was sold.

Having previously saved my data files to CD, I now went back and did a total install of Ubuntu. I wrote right over Windows, using my entire hard drive. It wiped Windows right out, or as Ripley would say, “nuked it from orbit.” Ubuntu installed seamlessly, and didn’t take very long.

And, all the software is already there, all part of Ubuntu: Firefox web browser, Evolution email client, F-Spot photo manager, Open Office word processor and spreadsheet (I opened up a Windows Word .doc file, modified it, emailed it to my wife, who opened up the modified version in Word.) And a lot more. Ubuntu rocks.

Totally amazing. I can only ask, “Why would anyone PAY MONEY for such an inferior product as a Windows operating system?”