Win 10, virtual machines, and USB

Matthew

Touchdown! Greaser!
Joined
Apr 18, 2005
Messages
18,634
Location
kojc, kixd, k34
Display Name

Display name:
Matthew
I have a lot of legacy industrial systems I have to support, and some of the older systems require Win XP-era software development kits.

I keep an XP development system for those cases, but one day it's going to fail. My main dev PC has Win 10, and I've used Hyper-V to create a Win XP virtual machine. It took a lot of trial and error to get all that up and running, but now I've run into a snag. Hyper-V doesn't pass through USB ports. So the physical PC (Win 10) has USB and the virtual PC (XP) does not. That's not normally a problem, I can transfer files to an intermediate network drive and move them around from system to system that way.

The problem is that one of the development tools for the XP products requires the use of a USB license dongle. So now I need to find a way to get the XP virtual PC to have the ability to see the physical USB device.

I don't think Hyper-V can do that, so I've been looking at some third part add-ins and possibly a different VM software instead of Hyper-V. Anybody tried this before? Any recommendations?

My current setup seems to be working pretty well, with the exception of the lack of USB pass through. I'm not sure if it's easier/better to find a third-party add-in or to use a completely different package from Hyper-V.
 
I've used VMware before with USB access.

To be honest, I no longer understand what VMWare is selling. They have changed all their product names and even changed their product categories and I don't know which one is the traditional VMWare desktop application. It looks like they're doing some cool stuff, but not in a way that encourages me to figure it out. It appears to require a great deal of time to grok what they're doing.
 
I've used VMware before with USB access.

To be honest, I no longer understand what VMWare is selling. They have changed all their product names and even changed their product categories and I don't know which one is the traditional VMWare desktop application. It looks like they're doing some cool stuff, but not in a way that encourages me to figure it out. It appears to require a great deal of time to grok what they're doing.
I was looking at their product lineup and I can't make sense of it either.
 
VirtualBox.
I was looking at that one a few minutes ago.

Some of the problems I've run into are finding things that can run in an XP environment. I found a couple of USB sharing packages - one runs on the Win10 computer to make the USB available, and the other runs on the XP virtual to grab that resource. But some of those client side apps won't run on XP.

I'll take a closer look at VirtualBox.
 
VMware Workstation Player | VMware

The link to buy it doesn't work, does that mean it's free now? The "Workstation Pro" version of this is $200.
I don't see a price listed either, and I'm at the download screen. It also says it isn't supported anymore, so maybe it's one of their legacy products? I'll see what I can find about it.

edit:

>>>
VMware Workstation Player is free for personal, non-commercial use (business and nonprofit use is considered commercial use).
<<<
 
Read the title and thought you were running a contest.
 
I was looking at that one a few minutes ago.

VirtualBox used to require a second download to add full USB support, but as I recall with that it worked just fine and transparently.
"VirtualBox 6.1.18 Oracle VM VirtualBox Extension Pack"

Has a slightly different licensing scheme, but for personal use it's still free.
 
Can do it a couple of ways. VMware should still have the feature. Google “USB pass through”.

As others have mentioned other virtual systems can all do it. KVM/QEMU, VirtualBox, and Proxmox all do it so it would be insane for VMWare not to.

If that doesn’t work, SOME PC (usually server but some non server motherboards do it with a couple different standards) motherboards can do PCI pass through to guest OSes. Slap a USB card in a PCI slot and pass the whole slot through the host to the guest.

How WELL any of them work in all the combos of software and hardware? There’s a lot of bugs. I’ve managed to do it on Proxmox and things like software commands to do a USB power off or bus reset (which user software sometimes needs) don’t always (rarely) work right.

All depends on the combo chosen and even then it’s all flaky and has to be tested.

Quickly googling VMWare is like the others. You add a “virtual device” to the guest and associate it with the hardware on the host, looks like.

https://docs.vmware.com/en/VMware-v...UID-68A08879-1744-4FF9-A856-D66C4AAB68AB.html
 
I use VMWare for similar needs (MacOS VMs running on a Win10 workstation) -- USB 2.0 passthrough is usually rather flawless, and that's for doing mobile device debugging. I don't pay for Workstation Player. USB3 can be rather buggy.

It's nice. You just choose Removable Devices > My USB Thing > Connect (Detach from Host) and it's in the VM and no longer on your host box. You can flip/flop quite freely and quickly.
 
I have Oracle VirtualBox installed now. I was able to find enough settings that seem to imply I can get a USB connection. But it will take me most of the afternoon to get the whole configuration set up to see if it really does work.
 
I use both VMWare Workstation and Parallels on a Mac. Both have USB passthrough. You just assign the device to the correct VM.
 
You can't do it with Hyper-V (at least its not easy), but VMWare and Oracles VirtualBox work fine. I've used VirtualBox quite a bit to keep "captive" old versions around.
 
You can't do it with Hyper-V (at least its not easy), but VMWare and Oracles VirtualBox work fine. I've used VirtualBox quite a bit to keep "captive" old versions around.
Configuring XP inside VirtualBox right now. Aaaaand it seems to have stopped.
 
Well, VirtualBox turned out to be way easier than I expected. Once you get the VM started, you can scan for all available USB devices. Then select the one you want and it's "locked" to the VM and not available to the host computer. That's going to work out just fine. Next week I'll start loading things onto it and start running it through the paces.

Thanks for all your help and suggestions.
 
Well, VirtualBox turned out to be way easier than I expected. Once you get the VM started, you can scan for all available USB devices. Then select the one you want and it's "locked" to the VM and not available to the host computer. That's going to work out just fine. Next week I'll start loading things onto it and start running it through the paces.

Thanks for all your help and suggestions.

Reboot both the host and the guest a bunch of times and do it with the usb device plugged in and unplugged and also do hot swaps.

That’ll tell you if the implementation and hardware you’re using is stable enough to use it in production.

Do it on the same hardware as production too.

Ask me how I know this. Hahaha.
 
Reboot both the host and the guest a bunch of times and do it with the usb device plugged in and unplugged and also do hot swaps.

That’ll tell you if the implementation and hardware you’re using is stable enough to use it in production.

Do it on the same hardware as production too.

Ask me how I know this. Hahaha.
I know your pain.

The hardware will never be in production. I need to put some 32-bit compilers, libraries, and other configuration utilities on it so I can do maintenance releases and custom mods on s/w that will end up being installed in some embedded systems.
 
Follow-up:

Anyone that wants, or needs, to run XP on a Win10 PC --- use Oracle VirtualBox. It's easy, and it works. It does let me use external USB ports, printers, network drives, everything.

I haven't used any other OS's in VirtualBox, but it will probably be just as simple as the XP experience was. I'm still working out some of the shortcut keys that let me control the mouse and keyboard back and forth between XP and 10. Some of the defaults are kind of awkward.
 
Follow-up:

Anyone that wants, or needs, to run XP on a Win10 PC --- use Oracle VirtualBox. It's easy, and it works. It does let me use external USB ports, printers, network drives, everything.

I haven't used any other OS's in VirtualBox, but it will probably be just as simple as the XP experience was. I'm still working out some of the shortcut keys that let me control the mouse and keyboard back and forth between XP and 10. Some of the defaults are kind of awkward.

VBox has some performance issues (big ones) with certain use cases (network file storage for VMs, the network stack is slooooooow) but generally does work well for low I/O applications.

It’s also hideous with file system permission problems on Macs if doing things like the built in NFS file stores.

Also be wary of Oracle’s licensing changes going on across most of their “free” products if using it in a commercial use case. They’re doing odd things. Most of which they don’t seem to be enforcing. Ellison needs another mansion somewhere I assume. LOL.
 
On my Linux system Virtualbox runs XP fine in most applications. It's Windows 10 vm that's sloooow.
 
On my Linux system Virtualbox runs XP fine in most applications. It's Windows 10 vm that's sloooow.

A typical Win10 vm needs a minimum of two real cores dedicated and minimum of 8G of RAM to itself under VBox.

Slightly better under VMware (especially bare metal hypervisor), KVM, and Hyper-V.

VBox isn’t as well optimized.

Windows Update will absolutely crush a Win10 VM that has either poor single core CPU speeds or slow disk I/O. It’s horrid.
 
Back
Top