Getting ActiveSync to… sync!

This window is the bane of my life.

It’s the ActiveSync-couldn’t-talk-to-my-PDA-for-some-reason view, and it’s probably displayed on my screen more that anything else.

For those who haven’t had the pleasure of this quality bit of software, Microsoft ActiveSync is supposed to let you synchronise your Windows Mobile PDA with your PC. Except, it hardly ever works – most of the time you plug it in, it thinks about it for a few seconds before stopping and displaying the error window above.

So how do you get it to work?

The short answer is: “I don’t know. Wish I did.” 🙂

The slightly longer answer is: “I don’t know… but here are some of the things that I normally try!”

Restarting ActiveSync from the PC

First thing I normally try is to restart ActiveSync. I have a batch file in my PATH which kills the ActiveSync processes in order, waits a moment, then restarts it:

asrbt.bat:
   @echo off 
   killf WCESMgr.exe
   killf wcescomm.exe
   killf rapimgr.exe
   sleep 3
   start "" "C:\\Program Files\\bLADE\\Windows Mobile\\Microsoft ActiveSync\\WCESMgr.exe"
   @echo on

So I unplug my PDA, run the batch file to restart ActiveSync, plug it in again and cross my fingers.

Repeat until it connects – on a good day it will connect after six or seven restarts.

Free up memory on the PDA

It seems that if you have too many apps running on the PDA, this stops ActiveSync running successfully.

So I unplug my PDA, go into Memory applet in Settings, and stop every task, then plug it in again. Sometimes, this does the trick.

Reset the USB connection from the PDA

With the PDA still connected to the PC, I go into the USB to PC applet in the Connections panel of Settings. This has a single check box: “Enable advanced network functionality”.

Checking or clearing the tick box then pressing OK causes the connection to be broken and restarted, apparently in a different mode. Repeating this, flipping back and forth between ticked and unticked, will often get ActiveSync to connect successfully. (More often than not, the successful connection will be when the checkbox is cleared.)

Reset the PDA

Annoyingly, one of the most effective actions is to do a soft-reset on the PDA. Not always, though… sometimes there seems to be no other way than to reset the PDA and…

Restart the PC

Restarting both the PC and the PDA often does the trick. Again, not always, though – on a bad day, it will take a few restarts of both PC and PDA before ActiveSync will connect successfully. These are the days where you will find me loudly cursing everyone responsible for ActiveSync! 🙂

Any others?

I’ve been using PocketPC devices for years now, and have watched the platform improve significantly. So it’s a shame that ActiveSync has always felt like the weak link in the chain for me – my experiences with it have been that it is flaky, unreliable and massively infuriating.

The physical connection normally seems fine – clicking on ‘Explore’ in the ActiveSync window as shown above will happily open a File Explorer for the PDA storage and let me copy files to and from the PDA. But the synchronisation software will just refuse to start.

Do other people have similar experiences? Does anyone know of any other tricks to get ActiveSync to work? My list is in no way definitive – it is based on trial-and-error of things that seem to have worked in the past, but I’m always looking for better ways!

12 Responses to “Getting ActiveSync to… sync!”

  1. Alexis says:

    The new (version 3.7 and greater, I think?) versions of ActiveSync have changed the way that the make a connection compared to how it used to work.

    My understanding (probably flawed and incomplete!) is that when you connected an older PDA (pre-WM5?) to your PC, the drivers caused it to appear on the PC as a serial port device. ActiveSync would then attempt to connect through that serial port to the PDA, and perform the actions. The downside of this was that it’s very slow when transferring large files.

    As such, the method of communication was altered so that now, when you connect your PDA to the PC, instead of causing a virtual serial port to be created, it causes a virtual network connection to be created. You can see this by having the Network Connections pane open in Windows when you connect the PDA – a new connection called ‘ActiveSync Connection’ appears.

    The PDA then launches a DHCP server, which allocates an IP address to the connected PC (which is acting as the DHCP client). I believe the PC will always end up with 169.254.2.2, and the PDA with 169.254.2.1. This network connection is then used by ActiveSync to do all its good stuff.

    The problem with this new method of connection is that there’s quite a lot more to go wrong. One of the most common things that seems to go wrong is that the PC is unable to communicate with the DHCP server on the PDA, which means it never gets the correct IP, and communications fall over. Another problem can be that, even if basic communications are established, the PDA and ActiveSync are unable to connect because the ports are being blocked.

    The typical cause for this is an overactive firewall, either blocking the DHCP request the PC sends to the PDA, or the PDA’s attempt to make an inbound connection to the ActiveSync session on the PC. When ActiveSync is installed, it opens the correct permissions in the Windows Firewall – but obviously does not do so in any third-party firewall. This, combined with the fact that the virtual network connection is seldom present (only when the PDA is plugged in) can mean this is a pain to debug.

    The best way to tell if it’s one of these problems is to perform some basic network diagnostics when the connection fails. The ‘ActiveSync Connection’ should always be there when the PDA is plugged in, otherwise there’s something seriously screwy with the drivers.

    The next thing to check is that the connection has the correct IP – bear in mind that if Windows fails to connect to the DHCP server on the PDA, it will itself allocate a 169.254.*.* IP address, just to confuse you! (This is called APIPA, and is one of the most annoying ‘features’ of Windows). You can tell if this is happened as in the connection status it will say ‘Automatic Private Address’ rather than ‘Assigned by DHCP’. If you’re not getting ‘Assigned by DHCP’, your PC is unable to communicate with your PDA’s DHCP server.

    If you do have a DHCP-allocated address, the next thing to check is to see if you can ping the PDA from the PC – in my experience the IP is always 169.254.2.1, but yours may not be. If you can’t ping that address it’s worth getting the free utility vxUtil on your PDA, as this will tell you (amongst a huge amount of other stuff) the IPs that the various connections on the PDA have.

    If you can ping the PDA but ActiveSync still doesn’t connect, chances are the PDA can’t create a connection to your PC. Typically this is a firewall issue. The best way to double-check this is to use a telnet application on the PDA, and attempt to connect to port 26675 on the PC (using the PC’s IP address as found in the ActiveSync Network Connection Status). If you can’t make a connection, then something is blocking the connection. If you can, then most likely it should already be working, although I think there are a few other ports that can be used, so it’s always worth killing the firewall and trying again.

    I seem to have gone on a bit, and this was written rather hastily, so apologies if it doesn’t make sense!

  2. dale says:

    Thanks for that, Alexis – is interesting to hear about how ActiveSync tries to do it’s stuff under the covers. It’d be interesting to hear how often (or do you?) have problems with ActiveSync?

    Checking firewalls seems to be a common suggestion when asking about diagnosing ActiveSync issues. I don’t think it is likely to be the problem for me – given that if I repeatedly disconnect and connect the PDA it will eventually connect. At least, I hope I don’t have a firewall that just gives in if you keep trying . 🙂

    I might have to come grab you next time I’m cursing ActiveSync at work, and see if you can spot any other possible fixes!

  3. Lynn says:

    I am using ActiveSync 4.5 for my Dell Axiom x51. I use it for work and EVERYTHING came without instructions. I was having to call Tech Support every time I tried to sync. They would take over my computer fix the problem and it would sync. I noticed that what they did was uninstall and reinstall ActiveSync. Now I no longer call Tech support, I just uninstall and reinstall every time and it seems to do the trick. Keeps it going good for One day! lol

    I have a love/hate relationship with computers! Fascinated by technology yet equally frustrated by it!

  4. Andrew says:

    That window is indeed the bane of my life too (currently). Everything was fine with syncing my Dopod D810 (HTC Trinity) with ActiveSync 4.2. I then “upgraded” to 4.5 and now I get the same dialog box. When I first connected, Windows XP tried to identify it and loaded some drivers, and I am thinking that this might be the problem.

    Under Network Connections I find that I now have an additional network connection (type: LAN or High-Speed Internet”), which I thought was all wrong, but perhaps this is the way it is supposed to work. I note that there is now an IP address associated with this connection which is “Assigned by DHCP” and which is 169.254.2.2. I am told that Windows does not detect problems with this connection, and indeed I can use windows explorer to view the contents of the PDA. However… it still won’t sync!

    “Synchronization cannot be completed successfully. Reconnect your device and try again. If the problem persists see the Microsoft ActiveSync Troubleshooter in Microsoft ActiveSync Help on your desktop computer.” Arghh… tried all of that but was told that no problem is detected.

    Any thoughts… Alexis?

  5. dale says:

    I found that disabling the SplashID sync conduit made my problems go away. It seems that ActiveSync is not very good at protecting you against flakey or misbehaving plugins – so if you have any third-party software syncing, it might be worth disabling them.

  6. […] consistently hosed my ActiveSync. Not only would it not sync, but it’d crash ActiveSync and stop everything else from syncing too. The day I uninstalled SplashID, my phone became a million times more useful from that […]

  7. Claris says:

    I have the same problem – bane of my life! Particularly when out in the field last week, training 50 users (who had never even used a PC) to use PDA’s. We have some lovely old iPAQ HX2100’s, which tend to throw ‘a strop’ when too much data is added to them, thus loads of software just ‘falling off’ of them.
    I simply wanted to install a program on each PDA. Oh my, would ActiveSync work?!
    Simple answer is no. The long answer is, yes it did, for 4 out of 50 users, after I had tried every fix on this page. Thanks for providing these Dale, without you last week would have been a complete debacle, and even more embarrassing for me!
    I found that when I wasn’t an admin on the laptop, I wasn’t able to connect at all – has anyone else experienced this?
    If I find anymore tricks or fixes, I shall be sure to post them here.

    =]

  8. kavz says:

    how can we know the activesync connection status programmatically from pda not from a desktop application but from a pda app????

  9. kavz says:

    as rapi cant be used in a pda app?wot can be used in place of that??
    can u please help me with this..
    thanks in advance 🙂

  10. dale says:

    If you’re working in C#, this is pretty simple:

    using Microsoft.WindowsMobile.Status;
    
    ...
    SystemState connectionState = new SystemState(SystemProperty.ActiveSyncStatus);
    connectionState.Changed += new ChangeEventHandler(connectionState_Changed);
  11. […] problem with that is that syncing two devices is bad enough. Keeping three in sync is just a major […]

  12. NickK says:

    Batch file to restart ActiveSync 4.5.0 on XP

    @echo off
    taskkill /F /IM WCESMgr.exe
    taskkill /F /IM wcescomm.exe
    taskkill /F /IM rapimgr.exe

    @rem delay x seconds
    C:\WINDOWS\system32\ping.exe 127.0.0.2 -n 3 > nul
    @rem sleep 3

    start “” “C:\\Program Files\\Microsoft ActiveSync\\WCESMgr.exe”
    @echo on