AFDB logo
mn :: comp :: hardware

Using a Sony Clie with Linux

I have a Sony Clie 610C. Nice PDA. Here's how I am able to use it with Mandrake Linux 8.2 and Ximian Evolution.

Basic Connectivity

Your first challenge is going to be getting the USB cradle to work. There are a ton of good documents on this subject, so just go search Google for "linux clie". Seriously. Here's a high level of what you'll find:

  1. The kernel must support your device. Open a terminal and type tail -f /var/log/messages. Plug in the cradle, put the PDA in the cradle and hit the sync button. If you don't see this sort of stuff, you have a kernel problem, and there is no sense continuing until you have figured it out and fixed it:
    Jul 31 12:41:15 felix kernel: hub.c: USB new device connect on bus1/2, assigned 
    device number 6
    Jul 31 12:41:15 felix kernel: usbserial.c: Sony Clié 4.0 converter detected
    Jul 31 12:41:15 felix kernel: visor.c: Sony Clié 4.0: Number of ports: 2
    Jul 31 12:41:15 felix kernel: visor.c: Sony Clié 4.0: port 1, is for Generic use
     and is bound to ttyUSB0
    Jul 31 12:41:15 felix kernel: visor.c: Sony Clié 4.0: port 2, is for HotSync use
     and is bound to ttyUSB1
    
  2. You need a user-space program to do useful things with the device. There are two options which will work: pilot-link and coldsync. Pilot-link comes with Mandrake (and most other distributions) and is also included with Ximian Desktop. NONE OF THESE DISTRIBUTED VERSIONS AS OF JULY 2002 WILL WORK WITH A USB CLIE; you need 0.11.*. You must go get the latest from www.pilot-link.org. It's dirt simple to install, but you do have to make a choice: Alternatively, if you do not mind doing everything from the command line you can just go get coldsync, it works and doesn't have dependency relationships with anything else. Whatever you choose, you have an issue -- there's nothing for the application to bind to until you press the sync button, so you must be careful to first press the button, then start the command-line utility. Otherwise, it will not work. You will also need to modify permissions on the port in /dev so that you have read/write capabilities.
  3. Fancy-pants GUI applications are nice to have.
  4. Plucker is a must-have. It's a little confusing to set up though, so here's a few tips:
    1. The binary distribution isn't as binary as it looks - you still need to do a ./configure && make && make install.
    2. The parser isn't where you think it is. ln -s /usr/lib/python2.2/site-packages/PyPlucker/Spider.py ~/bin/plucker-parser in my case, you may need to do similar. I already had the Plucker .prc on my Clie, so I didn't have to deal with it; search for it and install it with pilot-xfer -i [path/to/file]. Then just run plucker-setup in your home directory, edit ~/.plucker/home.html, and you're done.
    3. There's no gnome-pilot conduit for synchronizing Plucker. This is easily solved with cron. crontab -e and give it this:
      30 6 * * * bin/plucker-parser -f PluckerDB
      45 6 * * * gpilot-install-file --later .plucker/PluckerDB.pdb
      
    Problems and Troubleshooting:I have had two problems with this set up... first, sometimes after downloading pictures off of my USB camera, synchronization quits working. This is what I see in my logs:
    
    Aug  1 21:24:28 felix kernel: usb.c: USB device not accepting new address=3 (error=-110)
    
    The important part is the error -110. As far as I can gather, the USB subsystem has gotten confused. Here's what you need to do:
    1. As root or with sudo, you might want to lsmod|grep usb and make sure you know what all those pieces do...
    2. Now modprobe -r visor, and maybe the rest of the USB modules too (unless if you have a USB mouse or keyboard, in which case you may just have to reboot in order to put things to right). You may need to manually unload usbserial and usbstorage. I have been unable to unload usbcore because you have to unmount /proc/bus/usb/ first and for whatever reason it wouldn't do so (maybe a zombie gpilotd??) ...anyway, I'm told this module doesn't need to be unloaded to reset the USB controllers.
    3. Put back the modules you removed with modprobe visor. If it gripes, try putting them back one by one. Make sure that you do not load visor before *hci: you might be able to force the issue by putting pre-install visor /sbin/modprobe [uhci|ohci] into /etc/modules.conf.
    4. Now tail -f /var/log/messages and try to sync your pilot. It should work; if it doesn't, first kill gpilotd and try using pilot-xfer or coldsync. If it still doesn't work, you'll probably need to reboot.

    ...and second, I had gpilotd from gnome-pilot-0.1.64 occasionally running away with all the memory and crashing the computer. I fixed this by upgrading to 0.1.65 (don't forget to apply the patch).

Last modified: Nov 25, 2005 12:48 pm.
Contact me.

Powered by Zope