Activesync & emulator just won't connect
I have been doing a development project for about a month now and everytime I sit down to work I dread the wrestling match I'm going to have with connecting the emulator with activesync using the EmuASConfig.
Sometimes it will connect up, most of the time I have to repeatedly initiate the connection until finally it hooks up. I thought I had a process where I would delete any partnerships prior to starting and that seemed to make things a bit smoother but alas I have just spent and hour getting it to connect and sync.
Now I have moved to an XP platform and I can't get them to connect at all. I can click sync on the emulator and the activesync will react as though it has been woke up by the emulator, it spins for a while and then I get a message box
"Critical communications have failed to start..."
I can sync with the actual hardware device. This is frustrating as all get out.
Original system:
W2000 sp4
.net 2003
activesync 3.7
PPC 2003 target v4.1.0 build 14
New sytem:
XP pro sp2
.net 2003
activesync 3.71
PPC 2003 target v4.1.0 build 14
Anything to get this to be a bit smoother would be greatly appreciated.
Thanks,
Rick
[1239 byte] By [
rick1234] at [2008-1-27]
I certainly don't have anything to loose (I assume). It didn't say otherwise but I'm using .net 2003 not the 2005 beta, that's ok?
Thanks,
Rick
Well Vladimir, I don't know how things went for Rick, but you have saved me from several days of frustration trying to get the standard VS2003 emulators to work with ActiveSync. Your emulator worked beautifully first try. Thanks for the great work!
Ray
New York City
Happy days are here again. It works! Cranked right up and I was in business. I am quite pleased.
Now of course I have to have complaint or I just wouldn't be developer would I
?
Everything is working fine but it is so slow. It is much much better than not working at all don't get me wrong. My current platform has 1G memory and a P4 3ghz processor. The new emulator is much slower than old. If you would like to investigate this I would be happy to work with you.
Thanks again I am back in business!
Rick
Hi Rick,
I am happy to hear I have a couple of satisfied customers (at least with the ActiveSync connectivity :) ).
The ARM emulator is expected to be slower then the X86 emulator, because of the Just-In-Time compilation costs and more expensive virtual to physical memory mapping. The goal for this release was to have acceptable performance and rock solid stability, but we have performance as target for next release (most likely you'll be able to download standalone emulators as soon as work is done). For VS2005 I added a couple of features like global saved states and a new transport to keep performance at a better level. For VS.NET you can manually take advantage to these features.
Global saved states (gives you instant on capability):
1) Start the emulator with the following command template:
DeviceEmulator.exe <bin image path> /VMID {GUID} /defaultsave <extra options>
Example:
DeviceEmulator.exe \os\images\new\ppc.bin /VMID {7D192096-E
437-48d1-9BBE-B8DDF58FEE01} /defaultsave /skin \os\skins\PocketPC.xml
2) Wait for it to boot fully and go to File\Save State and Exit
3) Copy the generated saved state file from the local cache into the global cache:
copy "\Documents and Settings\<username>\Application Data\Microsoft\Device Emulator\{GUID}.dess" "\Documents and Settings\All Users\Application Data\Microsoft\Device Emulator"
For my example the command line is:
copy "\Documents and Settings\vladf\Application Data\Microsoft\Device Emulator\{7D192096-E437-48D1-9BBE-B8DDF58FEE01}.dess" "\Documents and Settings\All Users\Application Data\Microsoft\Device Emulator"
4) Test drive it to verify the global saved state is being used:
DeviceEmulator.exe <image path> /VMID {GUID} /defaultsave
It is important to keep the image path and the GUID the same otherwise the emulator will cold boot instead of using the global saved state.
For my example we have:
DeviceEmulator.exe \os\images\new\ppc.bin /VMID {7D192096-E437-48d1-9BBE-B8DDF58FEE01} /defaultsave
Note that with a global saved state you can change almost all other options (change skins, folder sharing, network settings) without rebooting the emulator. You can create a batch file to make using the global saved state easier:
DeviceEmulator.exe <image path> /VMID {GUID} /defaultsave %*
There are a couple options that will cause a cold boot - changing memory size (/memsize), changing LCD size (using different size skin with /skin or /video), adding a console (/c) or changing the UART bindings (/u0,/u1,/u2)
If you restore from global saved state and choose to "Save State", the state will be saved to the local cache and you'll keep restoring from local cache until you select "Clear Saved State" or manually delete the *.dess file. The local saved states are not reconfigurable. The global cache can only be cleared by hand in the standalone install.
Hope this helps.
Thanks,
Vladimir
I'm resurrecting this post to some extent.
I must need some configuration rework... The emulator and manager connect great and do their job. I can sync reliably. So what's the problem you might ask? It is slower than I can stand. Cranking up a very small app (136k, two screens) takes 1-2 minutes. Starting the app to debug takes twice as long. Single stepping through a program is tortureous. I spend more time waiting on the emulator to startup to debug a program than the actual fix takes.
The emulator is as slow or slower than connecting to the actual device and single stepping with it.
The previous emulator was at a minimum 4 times faster but admittedly I then spent all my time fussing with getting it to connect for activesync.
I must have some sort of interference. Any ideas are appreciated.
Thanks,
Rick
P.S. Ray_in_NYC do you experience very slow behaviour?
The ARM emulator that comes with VS2005 requires more cpu power than the emulator that came with VS2003. This comes from the fact that it emulates ARM instructions instead of having recompiled code. What are the specifications (cpu, ram, notebook, etc) of your workstation? What is the configuration of your network on this machine?
If you are using ActiveSync, make sure you use the "Pocket PC Device' or "SmartPhone Device" target. If you don't, VS will try to bypass ActiveSync and connect via the Network. To make sure you use ActiveSync, go in the emulator options while it is running and disable the Ne2000 card emulation.
What type of project are you using? Managed apps do require more time to deploy at first because of the need to send the .NET Compact Framework files to the device.
The ARM emulator that comes with VS2005 requires more cpu power than the emulator that came with VS2003. This comes from the fact that it emulates ARM instructions instead of having recompiled code. What are the specifications (cpu, ram, notebook, etc) of your workstation? What is the configuration of your network on this machine?
If you are using ActiveSync, make sure you use the "Pocket PC Device' or "SmartPhone Device" target. If you don't, VS will try to bypass ActiveSync and connect via the Network. To make sure you use ActiveSync, go in the emulator options while it is running and disable the Ne2000 card emulation.
What type of project are you using? Managed apps do require more time to deploy at first because of the need to send the .NET Compact Framework files to the device.
I have been unable to connect to the Pocket PC 2003 VGA emulator in VS2005. When I read about your standalone emulator, I got excited, but the web page says it is not to be used with VS2005. Is that correct? I would sure like to begin debugging my project.
If you or anyone else can help me get the VGA emulator working with VS2005 in any connection method, I would sure appreciate it.
I just finished testing my RAPI based application which required Active Sync Connection with emulator and it works GREAT!. Check this out
http://geekswithblogs.net/rupreet/archive/2005/07/11/45918.aspx
I used emulators which come with VS2005 BETA. I think they are available for download as sperate installations!(though not sure about it...haven't searched myself)
If you want more details or have queries, can email me: rs_gujral AT yahoo dot com.
Hope this helps!
-Rupreet
I Blog @ http://geekswithblogs.net/rupreet/