Welcome to MSDN Blogs Sign in | Join | Help

Mohit Gogia blogs in detail about Device Emulator Manager's Automation Interfaces

Visual Studio 2008 Beta2, as you know ships with Device Emulator V3.

I have already blogged about the wonderful features that Device Emulator V3 enables, including a programmable automation interface to the Device Emulator Manager, the ability to "clone" emulator instances from the manager's context menu, and the ability to configure you own emulators using simple XML.

My colleague Mohit Gogia, a developer on the Device Emulator team, blogs in detail about IDeviceEmulatorManager: the Device Emulator's automation interface.

Posted by anandba | 0 Comments

Have you used the hardware debugging support on the Device Emulator?

With the release of Windows Embedded CE 6.0 SP1, we now have hardware-level debugging support in Platform Builder 6.0 debugger. The sample eXDI2 driver that ships with is the DeviceEmulator driver, which allows Platform Builder to take control of the Device Emulator. You can find the sources at %ProgramFiles%\Microsoft Platform Builder\6.00\cepb\EXDI2\SAMPLEDRIVER\KdStubDe. 

For those of you that were at last year's MEDC (MEDC'06), Barry Bond demoed hardware debugging with an initial version of this driver in PB 5.0.

First, build the driver by building the KDStubDE.sln in Visual Studio, which will register the driver with Platform Builder. Then, when you configure Platform Builder to download the image, you can enable hardware debugging.

The README.TXT found in the install location indicated above has more details about the Device Emulator's IDeviceEmulatorDebugger interface.

Posted by anandba | 1 Comments

More on Networking support for the Device Emulator

Many of you might have seen that the download for the virtual machine network driver, which was originally provided by the Device Emulator team, now points you to the Virtual PC 2007 download location.

A little while back I wrote a blog about getting networking support on the emulator by using Virtual PC 2007. I have since seen two kinds of questions comments on the forums and other people who originally saw the download for the virtual machine network driver.

  1. Why should I download the whole Virtual PC software to just enable networking on the emulator?
  2. Why has the original download been retired, when the driver was required to install Windows Mobile 5.0 MSFP images for Direct Push and Always-up-to-date support?

The simplest answer to this question is that Virtual PC is the officially supported product from Microsoft and customers who have installed this product have a direct support channel to Microsoft to ask questions. Virtual PC is supported on both x86 and x64 systems (provided you pick the correct installer :)) and also installs the virtual machine network driver. The Virtual PC team does not support the network driver as a standalone product. Furthermore, the driver install that was originally available was only the x86 version and couldn't be installed on x64 systems. Virtual PC is a small enough download and we hope that users are able to achieve their scenarios using this option.

I have also seen many people hitting into issues where they had installed the network driver but it is not working - device emulator not being able to recognize it. Virtual PC team has posted a blog at http://blogs.msdn.com/virtual_pc_guy/archive/2007/01/15/fixing-broken-virtual-networking.aspx which might help you if you run into a problem.

Posted by anandba | 1 Comments

RIL Support in the Device Emulator

I gave my emulator talk here at MEDC and I got several questions about RIL support in the emulator.

Most of you must be aware that the Cellular Emulator application (CellEmu) shipped with the Windows Mobile 6 SDK. Check out Fernando's blog entry about it.

Want full RIL Support in the emulator?

Do you write applications that require you to use the emulator primarily as a phone? Do you work on SMS, or GSM/GPRS applications? If so, I would like to hear your feedback on whether you would like to see this be enabled in the next version of the emulator. Please reply to this blog with specific information about:

- what type of applications/scenarios do you want enabled?

- what kind of radio-layer dynamics would you like to see (signal strength variance, variable data rate, etc.)?

- how do you envision developing and testing such applications?

Look forward to hearing about it.

Anand

Posted by anandba | 0 Comments

Anand presenting at MEDC 2007!

I am delighted to be presenting the Device Emulator talk at MEDC in Vegas, in less than a week. The talk will be on Tuesday, May 1st from 6:15 - 7:30 p.m. at Venetian G. We'll be talking about the journey to Device Emulator V2 and the new features that you're getting in Device Emulator V3 as part of Visual Studio "Orcas".

As part of your MEDC attendee packet, you are getting a copy of the Beta1 release of Visual Studio "Orcas".

Look forward to seeing many of you there!

Anand

Posted by anandba | 1 Comments

What's next? Device Emulator V3? Yes, you guessed it!!

We know that the Windows Mobile market is making rapid strides with the release of Windows Mobile 6. And as Mel Sampat says, new OS from Microsoft is complete without a good developer story for it. I would add...."No Windows Mobile or CE release will be complete without a Device Emulator that supports it :-).

With Visual Studio codenamed "Orcas" you get the next version of DE. Most of you would have downloaded the March CTP of Visual Studio "Orcas". Orcas updates Device Emulator to version 3.0 (yes!, latest and greatest). Even if you have recently upgraded to version 2.0 (via Windows Mobile 6 SDK or the Web download), "Orcas" will upgrade your DE to V3.

Top DE V3 features:

  • Full automation support for the Device Emulator Manager (DEM) via C++ and VB script
  • XML config file to configure emulator instances
  • DEM UI changes to mirror automation interfaces
  • Code samples to use these interfaces

I will be talking about all features in Device Emulator V3 at this year's MEDC....in less than a week :-)

Posted by anandba | 0 Comments

Now available! SerDMAASPlugin Patch for 64-bit Windows Vista

I had blogged earlier, during the release of Device Emulator 2.0 that you would need to patch your SerDMAASPlugin.dll for 64-bit Windows Vista systems. This patch is now available from the Device Emulator V2.0 download center (http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&DisplayLang=en).

This patch will automatically copy the 64-bit SerDMAASPlugin.dll to your machine and register it. Make sure you run the install as administrator.

Also, before you begin cradling your emulator, you need to ensure that you have the 64-bit version of the Windows Mobile Device Center application (http://www.microsoft.com/windowsmobile/devicecenter.mspx). 

Posted by anandba | 0 Comments

Vista rule of thumb - Don't mix and match privileges between VS and Device Emulator

Several of you device developers out there, might be running Device Emulator (or Device Emulator Manager) from your command prompt. And if your command prompt is "running as administrator", you need to know a few things.

  1. When you launch the emulator from an administrator command prompt, it runs with an "elevated" privilege (corollary: emulator or manager launched from a normal command prompt will run "unelevated").
  2. Now if you try to list your running emulators, either programmatically or via Device Emulator Manager, you need to ensure that the Manager is also running with the same privileges as the emulator. Otherwise, your emulators will not be listed in the manager's window.
  3. If you install Visual Studio (with the VS2005 SP1 Update for Vista), run VS in "normal" mode, and then launch device emulator manager from the VS Tools menu, then Device Emulator manager will also run "unelevated" (i.e., the manager application uses the same privileges as VS). Now, if you connect-to and cradle emulators from the manager UI, these emulators will also run "unelevated".

The emulator is a COM server, and any running emulator that registers itself in COM's Running Object Table (ROT) when you are running as a "normal" user will not be visible to you when running with "elevated" permissions and vice-versa. So, "don't mix and match", is a good rule of thumb for all things elevated and unelevated.

Note: The same logic applies also when you are connecting Visual Studio Remote Tools (File Viewer, Registry Editor, etc.) to your emulator. Keep privileges the same.

Posted by anandba | 2 Comments

Networking Support on Device Emulator in Vista

I just mentioned that with Device Emulator V2 you can bind to your host network adapter on the fly (see my blog post about DE V2 at http://blogs.msdn.com/anandba/archive/2007/03/13/device-emulator-v2-is-live.aspx).

This can be done on the emulator's File-->Configure menu by selecting the Network tab.

Use Virtual PC 2007 for networking support: The best way to get Internet (TCP/IP ) connectivity on the emulator, without cradling it is to download Virtual PC 2007. This will install the Virtual Machine Network driver on your system (remember to run the install as administrator). Then, configure your emulator image with the correct proxy settings. You should ensure that the guest OS running inside your emulator gets an IP address, and that you are able to ping it.

--Anand

Posted by anandba | 5 Comments

Device Emulator V2 is Live

We just posted Device Emulator 2.0 up on Download Center. Start using it and experiencing better perf., if you haven't already! For those of you that have Windows Embedded CE 6.0 and Windows Mobile 6 SDK, you should already have V2 on your machine.

You will need this V2 emulator for doing device development on Windows Vista. To be compatible with the new Windows Mobile Device Center in Windows Vista (known as ActiveSync on Windows XP), we have taken a redesign of our DMA plugin (SerDMAASPlugin.dll). Before you cradle your emulator on Vista, you will need to install the Windows Mobile Device Center application (select the 32-bit or 64-bit version, as appropriate).

The main features in DE V2 are:

  • Higher JIT performance (emulator is 40% faster at virtually everything)
  • Windows Vista Support
  • Extended peripheral support and updated Config UI
    • Battery
    • Headset
    • Speakerphone
    • Carkit
  • Change more emulator options on the fly
    • NE 2000 card binding to a host network adapter
    • Funckey value
    • Open and close the serial port console window
  • Customer Experience Improvement Program: Opt-in method of providing anonymous customer feedback

Note for installation on Vista: You will need to run the installation in "elevated" mode. It is recommended that you save the vs_emulator.exe installer to your machine, select it (right-click) and the choose "run as administrator".

Visual Studio users on Windows Vista: The Visual Studio SP1 Update for Windows Vista, does not automatically update Device Emulator. You will need to separately download the V2 emulator from Microsoft Download Center. 

Installation on Windows Vista:

We have also noticed some users facing an issue while installing DE V2 on Windows Vista, where a dilaog appears with the message:

"Windows-Mobile 2003 based device connectivity (Process)" is running. The following application should be closed before continuing with setup.

Click "ignore" on this dialog and proceed with the installation. It will install DE V2 just fine.

64-bit Windows Vista Systems: We will soon be releasing a patch to update SerDMAASPlugin.dll for x64 systems. This patch will update this DLL with the 64-bit version and register it.

 

Use the emulator and give us your feedback.

Anand

Posted by anandba | 12 Comments

At MEDC in Nice, France!

I will be presenting a talk on the Device Emulator at MEDC2006 Europe in Nice, France(http://www.microsoft.com/europe/medc/) - we'll have a quick recap of the features that shipped in Device Emulator V1 with VS2005 and also look at the recently-released Windows CE 5.0 BSP, and how it integrates into Platform Builder and VS 2005. We will then take some time to discuss the roadmap of the future of the emulator (V2 and more).

Register for MEDC Europe now! You have the chance to win an MEDC VIP ticket.

  • From 1 May – 2 June 2006 all registered delegates will be entered into a WEEKLY prize draw to WIN an MEDC VIP Ticket – 5 tickets will be given away from now until the event! The MEDC VIP ticket provides the delegate with:

    • ‘Lunch and Learn’ session with Microsoft Product Managers
    • A front row seat at the Keynote
    • FREE Windows Mobile 5.0 application certification (worth around €700)

Anand

Posted by anandba | 0 Comments

Update from MEDC 2006!

At MEDC 2006, I talked about the VSD core connectivity architecture and uncovered some of the interfaces that were shrouded in mystery. Also, Alex Feinman (NETCF MVP), showed two cool demos with code examples of how to use the CoreCon API to write simple tools.

Alex's sample code is now available on OpenNETCF. Using this sample, you will be able to do datstore enumeration, connect to device, use Corecon Transport Streams, etc.

If you have any questions, you may post them on the MSDN forums at: http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=34&SiteID=1

Enjoy! -- Anand

Posted by anandba | 0 Comments

Update: DeviceEmulator 2.0 Community Tech Preview

The ARM Device Emulator V 2.0 was released as a CTP a few weeks back. BarryBo gave an awesome talk about it at MEDC 2006. V2 is really cool. You can download it from: http://www.microsoft.com/downloads/details.aspx?FamilyId=13F5DE85-30CD-4506-9C5B-A2068FA1EE9E&displaylang=en.

V2 installs side-by-side with V1 and you can register it and use it as the default emulator with Visual Studio 2005. Please send us your feedback so that we can get an awesome V2 release.

 

Posted by anandba | 0 Comments

Using Device Emulator 1.0 reliably inside Virtual PC

Over the last week, I have received many requests for getting Device Emulator to work within Virtual PC and get it to talk to another VPC image on the same machine. Yes, you can run the Emulator inside a VPC. However, you will have to use the Virtual Machine Network (VMNet) Driver inside the VPC. What you first need to do is to (a) get the two VPCs talking to each other (over a private network hosted by the host PC) and (b) then get the emulator within one VPC to obtain network connectivity.

Here are the detailed steps to get the emulator to work within your VPC.

1. Install the "Microsoft Loopback Adapter" on the host PC (running the VPC).

  • Go to Control Panel ==> Add Hardware. When the Add Hardware wizard appears, Click Next.
  • When the 'Is the hardware connected?' page appears, select 'Yes, I have already connected the hardware', and then click 'Next'
  • In the 'Installed hardware' list, select 'Add a new hardware device' and then click 'Next'
  • In the 'What do you want the wizard to do?' list, select 'Install the hardware that I manually select from a list (Advanced)', and then click 'Next'
  • In the 'Common hardware types' list, click 'Network adapters', and then click 'Next'
  • In 'Manufacturer' list, select 'Microsoft'
  • In the 'Network Adapter' list, select 'Microsoft Loopback Adapter', and then click 'Next' twice
  • In the 'Completing the Add Hardware Wizard' page, click 'Finish'

2. Configure your VPC to use the Loopback adapter. To do this, n the host PC (running the VPC).

  • Go to the Settings dialog inside Virtual PC and click Networking, and choose "Microsoft Loopback Adapter" from the dropdown menu for Adapter 1.

3. Now, you want to run the Device Emulator inside the Virtual PC.

  • First install the Virtual Machine Network driver (Virtual PC may already have this). The VSD Team blog has instructions on how to obtain the Virtuam Machine Network (VMNet) Driver.
  • Configure the Emulator to use the hardware network card that the Virtual PC provides.
  • Remember, do not configure the Emulator to use the loopback adapter when it is running inside the VPC image.

4. The Virtual PC gets network connectivity through the loopback adapter interface on the host PC. You can check through "IPConfig" that the VPC OSes have auto-IP addresses. The OS running inside the emulator will also get an auto-IP address and will be able to communicate with the other VPC.

Posted by anandba | 3 Comments

What's it like to be a PM in VSD

At long last, I am starting to blog. I chose not to be the one left out J  It is nice to be part of the blogger family in VSD.

 

I work as a Program Manager (PM) for the Visual Studio for Devices (VSD) Team in Redmond. This is the team that Paramesh wrote about in his July 26th blog. Since he said “More about Program Managers later,” I think this is a good note for me to start on. Being a PM in this [VSD] team is one of the coolest things I have done since I graduated with a Ph.D. (yes, graduate school was cooler, but then how long…). So, why a Ph.D., you ask! That’s also exactly what Paramesh asked me in my interview. I think I gave him a convincing answer (which I now don’t remember), and that is why he hired me. Anyway, the truth is that I am here now – so I better tell you what I am doing. PMs in our group primarily manage all the cross-group relationships and talking with customers [developers] in the various forums. This is how we gather what pains people are experiencing with our product and work on how to address them.

 

Over the last few weeks, we have been feverishly working on the next version of Visual Studio. Our team already gave people some of the Koolaid about this to developers at PDC 2005. Now, we are working with device MVPs, understanding their views on “what sucks” in VS and why. I am also having a ball working with our partners in Windows Mobile and in .netCF. This is the absolutely coolest part of this job – being right in the middle of this wave where everyone around is talking about devices, and actually playing a part in making it all happen for them.

 

Stay tuned, for more from me on the “actual” insides of what we’ll be doing with VS in the months to come.

Posted by anandba | 0 Comments
 
Page view tracker