Windows Embedded Compact 7 and Virtual PC BSP

There is a new BSP coming with Windows Embedded Compact 7 (the public CTP is available on Connect): the Virtual PC BSP. This BSP allows to build a CE image for a virtual machine running in Windows Virtual PC environment (if you are running Windows 7) or Virtual PC 2007 environment (if you are running previous versions of Windows). a Virtual image disk is provided with the BSP that will boot into the Ethernet Bootloader eboot in order to establish a connection from Visual Studio to download and debug/test a CE image on the virtual machine.

You might have experienced this if you are playing around with this: you are building your OSDesign with the Virtual PC BSP, starting the Virtual Machine that boots into eBoot, establish the connection between Platform Builder and the Virtual Machine, then start the download of your image… when… boom, download fails leaving you with a message about a TFTP timeout error. This does not happen every time and I couldn’t reproduce it (reason why I don’t have any snapshots), but it seems there is some problem with Windows Virtual PC and the network.A colleague pointed me at a workaround someone posted on a forum. I couldn’t test it myself as I cannot reproduce the issue any longer, but let me know if you are facing this issue and if turning off UDP CRC checksum on the network card (the one the Virtual Machine uses) solves it.

Comments (12)

  1. Marcelo says:


    Turning off UDP CRC checksum really did the trick.

    Thanks for the tip.

  2. @Marcelo, Good to hear 🙂


  3. David Vescovi says:

    I am having the same problem but my NIC does not have this option. What is the root cause? I do not recall this being a problem with eariler releases. Has this been reported as a WEC7 bug on Connect?

  4. @David

    This issue has been brought up with Core triage but I don't know what the outcome is.

    From what we know, the conditions that we suspect are ripe for this time-out are

      – The download takes place through a congested network

      – Placing a router with DHCP enabled inside a network that already has a DHCP server, then getting the IP address from the router inside the network

    So it seems the UDP CRC checksum setting is just a workaround that would work in some specific conditions.

    I will update the post if I get update.


  5. Jeff Paredes says:

    For those of you who are not able to disable UDP CRC on your NIC, i was able to disable it in the Registry on my Windows 7 64bit dev box using a Broadcom NetLink Fast Ethernet card. I'm using June drop… EC7 GTP_2010.

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}007 (note 007 was a little different on another machine).

    Change this value, *TCPUDPChecksumOffloadIPv4, to 0.

    Hope this helps.


  6. @Jeff

    Thanks a lot for the additional hint!


  7. G-E-M ! says:

    Olivier, this hint is a real gem.

    It was one of thos obscure that I thought a reinstall might be required.

    I was able to set it in the nIC config.

    But that fixed it.. Note that I had to disable then renable the NIC



  8. Raj says:


    for me udp chk sum disabling is not working..please help me

    Accept download from port 55667

    Start download RAM image, size 0x04898cbc bytes

    ERROR: BootTransportPb: TFTP timeout occured!

    ERROR: BootDownloadBin!GetDataRam: Failed read record from transport driver!

    *** Setting to low power state ***

    *** HALT

  9. CK says:

    What is the real-time performance of Compact 7 when it running in a Virtual PC on Windows 7 desktop.  I am thinking that this way, we can use windows 7 desktop PC's with Compact 7 real time core for applications that require both (such as a motion control system that requires real time control but also needs to run desktop CAD applications).

  10. @CK

    You will NOT have real time behavior when running Compact 7 in a virtual machine as the virtual machine engine relies on the host OS (Windows) to access hardware and therefore goes through this OS stacks (drivers, scheduler…)

    As Windows is not a deterministic OS (from the hard real time perspective), you will not be able to implement the scenario you suggest


  11. Dennis says:

    How do you turn off the UDP checksum? Through system Propshardware?

  12. @Dennis

    On your Windows machine, open the control panel, go into Network and Internet, then Network Connections. Right click on your Network adapter icon and click Properties.

    In the network card properties window, you will find a "configuer…" button under the name of the card. In the advanced tab of the new window that pops up you should be able to find the UDP checksum offload setting.


Skip to main content