Modern Palm PDAs connect to Linux via USB or Bluetooth. The pilot-link software provides the command line utilities and a library that GUI apps and frameworks (such a gnome-pilot) are built on top of.
Access to the Palm PDA hardware has traditionally been done via the visor kernel module. When the Treo 600 was released I submitted a minor kernel patch that accepted by Linus that enabled the visor kernel module to handle the new Treo 600.
With the visor kernel module, a character device such as /dev/ttyUSB1 used to access the Palm PDA.
A new method available with pilot-link v0.12 is direct USB access via libusb. Besides being twice as fast, access via libusb gets around the problem of tricky timing issues and UDEV being slow to create to the /dev files.
With Fedora Core v5 I decided to benchmark the exact difference in speed between the visor and libusb access methods. To do this I had to recompile pilot-link with libusb support, I filed a bug to have this be enabled by default in the future.
I used pilot-xfer to back my Treo650's 15,668KB of data.
Using the visor method:
pilot-xfer -p /dev/ttyUSB1 -b /tmp/Treo650-backup-visor
Results: 415 seconds or 37.75KB/sec
Using the libusb method:
pilot-xfer -p usb: -b /tmp/Treo650-backup-libusb
Results: 201 seconds or 77.95KB/sec
The results speak for themselves. Using the libusb method is more than twice as fast as using the visor kernel module. I can't wait for pilot-link v0.12 to be officially released.
