How do I update the emulated USB 3.0 hardware in Windows 8.1 Guest OS?

Discussion in 'Windows Virtual Machine' started by AndrewBegel, Aug 16, 2014.

  1. AndrewBegel

    AndrewBegel Bit poster

    Messages:
    2
    Hi,

    I've got a MacBook Pro 11,1 with MacOSX 10.9.4 (13E28) running Windows 8.1 in a guest VM with Parallels Build 9.0.24237 (Revision 1028877; Wednesday, July 2, 2014) and Parallels Tools installed in the VM. MacOS X's System Information reports my USB 3.0 Superspeed controller with a PCI Device Vendor ID of 0x8086 (Intel) and Device ID 0x9c31 (Intel USB 3.0 eXtensible Host Controller). However, Device Manager shows a Renesas USB 3.0 eXtensible Host Controller - 0100 Microsoft with a PCI Device Vendor ID of 0x1033 (NEC/Renesas) and Device ID 0x0194 (Renesas Electronics USB 3.0 Host Controller).

    I'm having trouble getting a Tobii EyeX eye tracker to work properly on my USB 3.0 port in the Windows VM. Tobii thinks the emulated Renesas USB 3.0 port is running old firmware. I used the Renesas USB 3.0 Host Controller Utility to find out that it is running firmware 3025, when I'd like it to be running a later version 3034. I have the updated firmware, but I can't install it because the Renesas firmware update software (w200fw35.exe) fails to find the USB 3.0 controller chip hardware.

    It makes sense that the firmware updater should fail if Parallels is faking a Renesas chip instead of making Windows see my Intel USB 3.0 chip. However, it leaves me with old firmware.

    So, how can I update the "firmware" on this fake (emulated?) USB 3.0 controller provided by the Parallels VM software?

    Thanks for any help,

    Andrew
     
  2. Specimen

    Specimen Product Expert

    Messages:
    3,242
    As you said, hardware is emulated, there's no real Renesas USB controller, so you can't update the firmware, as a firmware is no-volatile code that resides on the actual chip, and the actual chip is Intel.

    However, it's probably possible to fake the firmware version if you find it where it's stored, maybe in the registry?

    Additionally I would suggest you would contact their support and ask them if they can do anything about it (which they can, they just need to update their code not to check for firmware if it's running in a VM).
     
    Last edited: Aug 16, 2014
  3. AndrewBegel

    AndrewBegel Bit poster

    Messages:
    2
    Unfortunately, it's the bugs in the old firmware that I need fixed, not just a tricked out version number. :(

    I filed a support request with them this evening to ask for that firmware update to be applied to their controller code.

    I wonder why they couldn't just have virtualized the USB 3.0 controller chip already in my Mac for the guest OS, instead creating an emulation (especially for a high-perf I/O interface)...

    Andrew

     
  4. Specimen

    Specimen Product Expert

    Messages:
    3,242
    You filled a request with whom? Parallels? Tobii?

    The bugs in the actual firmware of the real chip are not present in an emulated chip, the emulation here is just so there's is a common language between the device > the guest OS > Parallels > the real OS and the real controller. It's just so they all talk to each other in languages each of them understands. There's no firmware code to be applied anywhere.

    Parallels probably choose that controller because they found it was better documented or easier to code for in order to do the emulation.
     

Share This Page