USB 3.0 support in XP guests

Locked
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

USB 3.0 support in XP guests

Post by michaln »

VirtualBox 5.0.10 (or rather its Extension Pack) includes an experimental feature which allows Windows XP guests to use USB 3.0. The key is emulating a Renesas (formerly NEC) uPD720201 xHCI controller instead of the default and better documented Intel Panther Point chip.

Unfortunately, unlike Intel, Renesas does not offer any drivers for download. Only OEMs get the drivers and provide them to their users. The good news is that the drivers aren't too difficult to find. For example "renesas usb driver 3.0.23.0" is a good search term. Note that the drivers must support the uPD720201/202 chip, not the older uPD720200 or uPD720200A.

To enable the Renesas xHCI controller, a VM must have xHCI enabled and additionally needs a "magic" extradata key. That can be set as follows:

Code: Select all

VBoxManage setextradata <vmname> VBoxInternal/Devices/usb-xhci/0/Config/ChipType uPD720201
To go back to the default Intel chip, remove the extradata key. The extradata key also needs to be removed when switching to OHCI/EHCI.

The driver supports 32-bit and 64-bit versions of Windows XP, Vista (FTW!), and Windows 7, as well as the corresponding server versions. However, there is no advantage to using the Renesas drivers over the Intel drivers for Windows 7. Likewise the Renesas device emulation works with Windows 8 and later guests, as well as Linux etc. Again there is no advantage over the default Intel chip emulation. Obviously the Renesas device won't work with the Intel xHCI drivers for Windows 7 and vice versa.

The drivers can be installed in the guest before or after enabling the Renesas xHCI device. It is recommended to install after configuring the xHCI device; it can avoid installation issues and does not require guest reboot anyway.

Caveat: At least for XP, the guest OS must have had USB support installed for OHCI and/or EHCI, otherwise the Renesas driver won't load after installation and will fail with a "file not found" error. That appears to be a bug in the Renesas driver installer (missing dependency). Thanks to mpack for identifying this problem.

Note that the xHCI controller completely replaces OHCI/EHCI (and UHCI) and supports USB 3.0 as well as existing USB 1.x and 2.0 devices. It performs much better than the OHCI/EHCI emulation even for USB 2.0 devices (USB 1.x devices are too slow to see a difference). In addition, there is no requirement for the host to support USB 3.0, or have any USB hardware at all for that matter. Based on user feedback, this might or might not be documented in the manual and could be made easier to configure.

Feedback is welcome, including a report of which kinds of devices work and which don't. Note that typical USB webcams and headsets should work in this version with the xHCI emulation (for all guest OSes which support the devices).
kriskizlyk
Posts: 3
Joined: 28. Jan 2016, 17:51

Re: USB 3.0 support in XP guests

Post by kriskizlyk »

Can confirm, this does work with USB thumb drives. Bravo michaln.

FYI, I had to go into USB and change it to 3.0 or the VBox would not start and give me an Aborted error.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB 3.0 support in XP guests

Post by michaln »

Yes. That's why the instructions say the "VM must have xHCI enabled". For better or worse, if a VM has the extradata key set it also needs to have xHCI configured or it won't start.

Glad to hear it's working for you.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: USB 3.0 support in XP guests

Post by mpack »

Note for future readers: VirtualBox 7.0.x and later has moved the USB 2/3 implemention into the main code, so you no longer need the extension pack for this. Everything else is unchanged, e.g. for supporting USB3 in an XP guest you do still need the Renesas driver.
Locked