Active Sync 4.1 woes (Unknown USB Device) and solution !

This morning I synced my pocket pc with my workpc. Everything went fine, update as normal. In the afternoon I did so again. Suddenly my extension cable was recognised as an ‘unknown usb device’ and whatever I tried, it no longer synced.

Active Stink didn’t even see my pocket pc anymore, it just saw the connection cable.

Googling found me this workaround (which didn’t work) :

When synchronizing with my Desktop pc my Pocket PC is not recognized by Windows 2000 when using a USB cradle.
Cause: Windows 2000 has identified your Pocket PC as an unknown USB device. The drivers were not installed properly.

Solution:

1. Print or copy these instructions. This is for Windows 2000 only.
2. Remove your Pocket PC from the USB cradle.
3. Go to My Computer, right click and select Properties.
4. Click Hardware and then Device Manager.
5. Right click USB Devices and select Uninstall.
6. Go to the Control Panel and select Add/Remove Programs.
7. Locate ActiveSync and Uninstall it.
8. Reinstall ActiveSync.
9. Perform a soft reset on your Pocket PC.
10. Place your Pocket PC back into the USB cradle and perform a sync.

This might work for you, but it wasn’t enough for me to get AS functioning again.
So what else can you do ?

Well, when you check your AS installation, you’ll find a subdirectory ‘drivers’ in there. Compare the file wceusbsh.sys in there against the one in your %windows%drivers directory (this differs depending on the windows version you are using). Particularly check the date when the file was modified.
In my case, the one in my windows drivers directory was from 2004 while the one in the AS directory is more recent,from 2005. So I did two additional things :

  • I right-mouse clicked on the wceusbsh.inf file and selected ‘install’ – just in case this had failed during AS installation.
  • I copied the file wceusbsh.sys over the one in the windows drivers directory.

After rebooting the pc and soft-resetting my ppc, Active Stink worked fine again ! W00t !

So I include this whole procedure just in case someone else has the same problem.