I have an EVE-NG VM and I am passing through my USB ethernet and WIFI nics to it. Then I am passing those nics over to the guests running in labs.

Here is how to get this properly working, when editing your windows 7, 8, 10, or even linux guests, you need to change a few QEMU parameters.

Before you begin, you’ll want the latest QEMU drivers for your guest VMs to make sure all of this will work, and will work as fast as possible. Add these in yor VMs and commit them.

Now let’s begin.

First edit your EVE-NG VM in ESXI and add a USB 2.0  controller (DO NOT ADD THE 3.0) and then add the host USB Devices:

Next SSH into your EVE-NG VM and run “lsusb” and grab the bus and host address of your device(s)

Screenshot 20190324 135427

In my case it was host bus 1 host address 8 for the WIFI nic and 1, 6 for the ETH nic.

Then create a guest VM (windows 10 for me) in a lab, change the qemu ver to 2.12.0

Now delete all of the QEMU options and replace it with this: -machine type=pc-1.0,accel=kvm -cpu qemu64,+fsgsbase,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,+vmx -vga std -device qemu-xhci -device usb-tablet -device usb-host,hostbus=1,hostaddr=6 -device usb-host,hostbus=1,hostaddr=8 -boot order=cd -drive file=/opt/qemu/share/qemu/virtio-win-drivers.img,index=1,if=floppy,readonly


These parameters speed up the windows guest -cpu qemu64,+fsgsbase,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,+vmx

We then create a XHCI usb controller which can handle usb 1, 2 and 3 devices -device qemu-xhci

Finally we add our usb tablet device (mouse control) and then our usb host devices) -device usb-tablet -device usb-host,hostbus=1,hostaddr=6 -device usb-host,hostbus=1,hostaddr=8

Now start your guest and optionally get the drivers for the NIC

Leave a comment