JamesLiggett/Hotsync

(this information may out of date or need to be added to the Wine AppDB)

Running Hotsync on WINE

Currently I can get the Hotsync service to start up. It does issue the following complaints on startup:

fixme:msvcrt:_setmbcp Unreal codepages (e.g. -3) not implemented
fixme:comm:SetupComm insize 4096 outsize 4096 unimplemented stub
fixme:comm:SetupComm insize 4096 outsize 4096 unimplemented stub

I have been able to sync Palm PDAs (both USB and serial) and these errors don't seem to affect operation. The SetupComm error doesn't seem to affect operation, nor does the codepage error.

USB Palm Devices: It can be done...

Stefan Dosinger told me of a trick of how to sync a USB Palm with WINE, even though WINE itself can't support USB. He told me that I could use a program called pi-nredirect that comes with the pilot-link package. This program reads data from the USB palm and redirects it over the network. Here's what to do to use it:

  1. Start Hotsync on WINE. Enable network syncing.
  2. Put your Palm in the cradle and press the Hotsync button.
  3. Run the command pi-redir -p /dev/pilot (where /dev/pilot) is the device name that Linux would use to reference your device)
  4. The sync begins. If you have a lot of stuff on your device, it might take a few minutes, but it works :)

Note that for all USB devices, the device node doesn't show up to the system until you press the button, so you must press the Hotsync button before you run pi-nredir, or it will fail, saying it can't find your device.

Serial Devices

My Dad let me try out his old cradle that came with his Palm IIIc. While Wine still complains about the SetupComm stub, it really doesn't matter. It syncs perfectly with Wine CVS as of July 25. There is a catch, though. It only works once. If you try to sync again after that you have to reboot. I think it has to do with serial port flushing, but I've yet to confirm this.

A Note About USB-to-serial Converters

If you use a USB-to-serial converter to hook your serial Palm to your computer, Wine won't be able to pick up on your device because it uses tcgetattr/ioctl to get information about serial devices. These functions don't work with Linux usbserial devices. You'll see an "Invalid Arguement" error when Hotsync tries to call GetCommState to get serial information. I've put together a small hack to fix that, which can be found here. Apply this patch and everything will work just like a regular serial port.

JamesLiggett/Hotsync (last edited 2008-05-03 01:14:46 by nathan.n)