HowTo: Enable USB 2.0 Support Moka5 Live PC.

UPDATE: The new LivePC Engine allows to enable USB 2.0 support in 'Advanced' section of your livePC configuration.

As you might know or not, Moka5 Live PC Engine is using VMware Player in order to run yours LivePCs. One of big limitations of old VMware Player is lack of USB 2.0 support. As result very often (for me always) when your run Moka5 on host with USB 2.0 and connect device that support USB 2.0 transfer, the LivePC running Windows XP will crash with 'blue screen of death'. This occurs because USB 2.0 host sends very quickly the data and the virtual PC can't process it quickly enough. Before the VMware Player 2, the only work around was:

  1. Reconfigure your device that work as USB 1.1 or;
  2. If the device can't be setup to use USB 1.1, you had to use old USB 1.1 hub to limit the transfer speed.

Both cases are far from optimal, especially for me. It takes really long time to download for example 2GB of photos in RAW format using USB 1.1 speed.

I was very happy to see that the new VMware Player 2 is supporting USB 2.0. I waited for Moka5 to release updated engine that supports VMware Player 2. When this happen I quickly updated my VMware Player and Moka5 engine, connected my digital camera, and ... it crash again. :( I was disappointed and dropped the issue for time I will have some time to investigate it.

This time came today. I connected my camera directly (without USB1.1 hub) to my Moka5 Live PC and I notice the usual warning that my camera is USB 2.0 connected to USB 1.1 host. Of course, my LivePC was created with old version of Moka5 engine. The question was: How do I enable USB 2.0 on existing Live PC. Turns out to be very simple:

  1. Make sure that your LivePC is not running;
  2. Click on 'Edit properties' icon (looks like pen) on the bottom-right corner your Live PC. This will open 'Properties' dialog for your LivePC;
  3. Select the check box for 'Let me make changes to this LivePC';
  4. Then click on 'Show Advanced';
  5. Click 'Edit LivePC Configuration'. That will open 'Configure LivePC' dialog;
  6. Select 'Advanced' and then click 'Edit VMX directly'. The Moka5 will warn you that editing VMX file is only for advance user. Once you acknowledge that will open Notepad and you will see all the configurations for your LivePC;
  7. Find the line starting with 'virtualHW.version'. This is the version of the virtual hardware emulated by VMware. Set to '6'. ( virtualHW.version="6" );
  8. Add line: ehci.present = "TRUE" . This will enable Hi-speed USB 2.0 transfer. Assuming that you already had enable USB support using the Moka5 GUI. (To check this look for line: usb.present = "TRUE" .)
  9. Save your updated VMX file and start your LivePC.
  10. Login as 'Administrator'. Windows plug-n-play should detect the new hardware and install the USB 2.0 driver. Depends on your installation Windows XP CD might be required.
  11. Once this process is completed you should plug your USB 2.0 device and wait for plug-n-play to re-install new instance of your device. (I never able to figure it out way Windows XP is doing that)
  12. Log out (or better reboot).
  13. Login with your regular username and you are done.

Notes:

This is for LivePC that your had created. After you confirm that LivePC works you need to repackage it and update your LivePC. Enabling 'Let me make changes to this LivePC' will create fork of the subscribed LivePC and it will stop updating automatically. Disabling 'Let me make changes to this LivePC' will result of lost any changes you have made.

Your VMX file should contain this:

...
ehci.present = "TRUE"
usb.present = "TRUE"
virtualHW.version="6" 
... 

I tested it with Moka5 LivePC Engine version: 1.0.10652.0 (beta) and locally installed VMware Player version 2.0.0 build-45731.