Back to article
No Excuses--Sync Your Visor/Palm to Linux
Setting Up the Hardware
September 19, 2002
"I need to change the batteries in my Visor again," my wife said.
"OK, now if I swap the old AAA's fast enough, I won't lose any data," I muttered to myself for the 47th time. "Perhaps I ought to back up the Visor's data this time," I silently continued.
Then, the familiar realization hit me again. I've been using Linux totally at home for quite a while and the last time the PDA was backed up was when I still had access to a Windows box. Has it been that long?
Bad sysadmin! Double bad sysadmin for not backing up the wife's data! Time to figure how to save myself a lot of grief and get that Visor data over to the old dependable SuSE Linux laptop. Here's how I did it.
The first order of business was to make sure the USB and hotplugging features were working when the Linux machine was booted. I plugged in my HP scanner for a test. I used the lsmod command to see if the USB hardware was recognized by the kernel. I simply typed:
I was looking for entries such as usbcore, usb-uhci, scanner, etc. Basically any module that was USB related. No luck!
As it turned out, SuSE Linux 7.3 Pro had a major USB problem on my no-name 300 Mhz PII laptop when I made the initial installation. YaST2 went through all the installation menus, tried to reboot the new system, and promptly stopped running when it tried to load the USB and hotplugging modules.
I chased my tail for quite a while before I was able to boot up with the rescue disk, then temporarily mount the /dev/hda1 partition and edit the /etc/rc.config.d/hotplug.rc.config file.
I changed the hotplug_start_USB parameter from "yes" to "no" and then my laptop booted just fine. The USB and hotplugging didn't work, but that was OK, I would fix that later. It's kind of hard to get any work done if your machine won't boot after you load the OS.
After the machine booted, it was time to figure out how to get USB and hotplugging to work first time, every time. I went the modprobe route with the usb-core, usb-uhci, scanner, usb-storage, etc. for a while. Loading kernel modules is OK once in a while, but if you are going to use external USB hardware on a regular basis, recognizing the devices auto magically is the only way to go.
The whole problem of hotplugging turned out to be the ohci/uhci USB controller hardware war. SuSE 7.3 apparently assumed my USB controller used the ohci module. My laptop USB controller needed the uhci module. There was a file called /etc/hotplug/blacklist that prevented modules from loading. I commented the usb-uhci entry out and saved the blacklist file. Next, I changed the hotplug_start_USB parameter back to "yes" in /etc/rc.config.d/hotplug.rc.config and rebooted.
The Linux bootup screen flew through the USB and hotplugging steps without a hitch. I was finally greeted with the familiar login request. I logged in as a normal user and plugged in my HP scanner to test the USB connection. The drive light flickered for a moment and I knew I was on the right track. I took a look with lsmod again and was happy to see usbcore, usb-uhci and scanner proclaimed as loaded modules. Xsane was fired up and sure enough, I could scan with the HP scanner. It looked like the USB hardware was working properly.