Results 1 to 4 of 4
  1.    #1  
    Warning: Long post :-)

    I thought I would drop in a posting here on a topic that is not often discussed on this board; USB device enumeration. Perhaps some folks with more knowledge of USB can fill in my errors and blanks. I hope it may help some folks who are really stumped when they cannot HotSync ever (and in some cases when you get BSOD or intermittent failures).

    This may help you if you have never seen the HotSync progress dialog on your PC screen i.e. nothing has ever happened on your PC when you press that button.

    There are many, many computers out there that have really flaky USB ports. You may be able to use something like a USB scanner on the port because that scanner uses a simple part of the USB protocol. The USB protocol however has about three main modes and, one of those, which is less often used applies to Treos - it is a mode which deals with power-saving devices where the USB device does not announce itself to the PC until it is actively doing something. This activity for us is hotsynching. There are no active electronics in a usb cable; nothing but a switch. All the electronics for the USB port in a Treo are actually inside the phone.

    If you are using a USB cradle/cable, you must install the synch software from Handspring. Why? Because the difference between Palms version and Handsprings version is really the driver that gets installed to your PC. This seems to be now called PALMUSBD.SYS in the latest version of the Palm Desktop from HS.

    So what happens when you press the HotSync button for the first time that is so different than any other time? I am assuming that you have installed the Handspring software here.
    Well, your PC never sees the Treo until you first press that HotSync button. You press the button and depending upon your version of Windows you get slightly different behavior but the principle is the same.

    Windows gets a message from the Treo that a USB device with a USB ID of 082D is looking to establish a connection with the PC. Every USB device has a unique ID assigned by www.usb.org. All Treos show up this same # just as all Palm handhelds show up another number. Windows assumes that there will be a device driver file on your PC which it can find to associate with this device ID. It goes looking in its usual places. The HS installer has placed two relevant files on your PC - an .INF file and the driver file palmusbd.sys. Your PC says 'Found new USB hardware' and then it may almost immediately say something like "Handspring USB device" after it has found the inf and installed the .sys driver file.

    During the period that Windows installs the driver, it writes a few sections into your registry from the INF file. Open the INF file if you want to see the names and locations of the keys.

    The key point here is that if this operation fails for whatever reason, you will never be able to HotSync. Windows cannot see the device without the correct driver enumerated. That is, until you resolve the issue and get the USB device in your Treo to enumerate. USB devices have to enumerate before they are able to communicate with Windows. If you never installed the HS software, a generic USB driver is installed which is totally useless for HotSync purposes. Also there are undoubtedly several updates to Treo driver files over the past year as new devices have come out. If in doubt, get the latest software from HS website as the drivers are always cumulative and include all past devices. e.g. Treo 300 will not synch when using the standard software for a 270. You have to use the Treo 300 later software which also includes the driver for a 270. It's just a matter of knowing what the latest release is and installing that one.

    A couple of common software gotchas:
    1. Your PC has ancient USB hardware that is no longer compatible with a later version of Windows. The enumeration mechanism may break and the driver does not get installed. You press the button and all you get is a timeout message on the Treo but no response from the PC. Try www.microsoft.com/hcl to see if your USB host controller is supported under your version of Windows. It may not be. Lots of people on this board seem to make the sensible choice to move to a new (very cheap) USB 2.0 add on card rather than battle it out with old hardware and poor drivers. USB 2.0 cards always support USB 1.1 devices like the Treo.

    2. Windows decides that it must approve the driver with MS database before it will allow it to be installed. This takes several minutes on XP depending upon your Inet connection speed. Meantime, your Treo is waiting to complete its first connection to your PC and it times out the synchronization. The solution is to simply wait for the driver to be rejected by MS as unknown. Believe it or not Palm Source has not registered the driver for its devices with MS. Perhaps in protest at this ridiculous signing process? Once the driver is accepted and installed on your PC, simply dismiss the timout on your Treo and press the button again.

    3. Don't install device drivers on a stressed PC. Turn it off and then back on before doing the installation of the s/w. Windows flakes out bigtime if you try installing device drivers when you have not rebooted for the past month (if you are lucky and it has not crashed), have a huge print job in the spooler and are ripping DVDs in tha background while working on your Outlook mail. Windows and Windows software are full of memory leaks that make device driver installs quite a risky process. Make it easy on Windows with a fresh unstressed start; Windows is not UNIX.

    A couple of common hardware gotchas:
    1. Avoid (cheap) unpowered USB hubs - they just don't cut it. If there is anything else on the chain stealing power from the USB chain, your Treo may not be getting any signal from the PC. Plug the Treo cable straight into the PC if you can or use a decent hub.

    2. Soft Reset the Treo and then try to HotSync it. It's system may be in a funky state. This often worked when I had a Visor.
    Last edited by Poryphyron; 04/21/2003 at 08:47 PM.
  2. #2  
    PoryP...,

    Very well done. Thanks for taking the time to write this up. I'm sure it is much appreciated by many.
    Bryan Nystrom
    Natara Software, Inc.
  3. #3  
    Great stuff: Thanks!
    m00se
    I have never let my schooling interfere with my education.
    -Mark Twain
  4. #4  
    which may require special attention to installation procedures.

    Handspring has a series of good writeups on "Why I Can't hotSync" in the Support section.

    I never had any problems with Windows 2000 - but my XP seems to burp every so often. Just last night finished re-installign everything on my home computer so I could get syncing again.

    So - if you've got syncing problems w, XP, check the Support section of Handspring's web site!

Posting Permissions