Palm sync to Outlook on a VMware guest

I actually set this up back before I started experimenting with Evolution as an Outlook client.

My current work laptop runs CentOS 5.2 64-bit as its base O/S, with a (physically large footprint) Windows XP guest running on the free VMware Server as my “primary” (er, only) Windows machine. The guest is my own build, fully patched up except for IE (I refuse to bog down the machine with IE 7).

While I’ve found Evolution to be a pretty good e-mail client, it can sometimes be aggravatingly slow to refresh folders when connected to Exchange. In addition, the Palm sync function is a little clunky and has resulted in sometimes unexpected results. I think this is all due to weaknesses in Microsoft’s own OWA (Outlook Web Access) API, which is what Evolution uses to do its thing. I’ve noticed similar folder sync issues when using the OWA web client. Finally, when working on an Internet-only connection, the GAL (Global Address Book) is unavailable. Again, probably an issue with the API.

Anyway, to get around these annoyances I’ve configured my laptop so my Windows VM gets exclusive use of any Palm device connected to it through the USB interface. That means I can’t access it through the Linux layer, only the Windows XP VM, but the steps below are easy enough to back out of if I need to switch back.

These instructions are for CentOS or RHEL 5.

1. Make sure Palm is disconnected and VMware shut down.

2. Edit /etc/fstab to add the following line:

usbfs  /proc/bus/usb  usbfs    auto    0  0

3. Create a file called blacklist-visor under /etc/modprobe.d that contains the following line:

blacklist  visor

4. Restart the Linux host.

5. Go into VMware console and add a USB Controller to your (still powered down) Windows VM.

6. Edit the guest .vmx file to add the following line:

usb.generic.skipSetConfig = "TRUE"

Also change the value for usn.generic.autoconnect from “FALSE” to “TRUE”.

7. Start the Windows VM.

8. Make sure the Palm Hotsync Manager is running (I have mine configured as a service that autostarts when Windows starts) and the Outlook connector was installed.

9. Plug the Palm into the primary (first) USB port on the machine (this varies from machine to machine, on my Lenovo Thinkpad T61 it’s the port to the right of the optical disk bay). I found that the sync failed when connected to other ports, still not sure why (my webcam at home is similarly finicky). It may have to do with the fact that VMware is only simulating a USB v1 device.

10. Turn on the Palm and hit the Hotsync button.

11. If this is the first time doing a sync, go to the VM… Removable Devices … USB Devices menu and click on the (newly appeared) item for the Palm.

12. You should soon hear the distinctive “Palm synching” tone.

If you don’t get it to sync the first time, let it fail and then try hitting the sync button again. With one of my machines I found that VMware didn’t make the association with the USB device quickly enough on the first try.

I gleaned almost all of the above from this Ubuntu Forums thread.

UPDATE: See later post on how to get this working in Ubuntu 8.10, which does things slightly differently. The basic differences are in the line added to /etc/fstab:

none /proc/bus/usb usbfs devgid=46,devmode=666 0 0

and that it is now unnecessary to add a blacklist-visor file, as the required statement is already included in the file /etc/modprobe.d/libpisock9. Everything else remains the same, including the necessity for configuring the guest .vmx file as described above.