Ok, So if it works for you
what am I doing wrong because
I can repeatedly recreate the problem (and on different hardware)
So I must be missing something.
Below is my setup
- Hardware is Dell PowerEdge Server, Xeon E5-2430 2.2Ghz CPU, 48Gb Memory, 2Tb RAID5 partition on a Perc H710 Controller
- Download the Proxmox ISO - https://www.proxmox.com/en/downloads/item/proxmox-ve-4-4-iso-installer
- Boot up with ISO and simply follow the standard setup. With Fixed IP Address 192.168.0.2 [255.255.255.0], GW 192.168.0.1
Router provides DHCP and DNS
- Login into the Proxmox portal https://192.168.0.2:8006/
- Create a Pool called TestPool
- Look at the Disks and I can see the /dev/sda going to 1.82Tb Dell Raid5, from that I have two storage areas (local & local-lvm)
- Click on the local and then select content and upload the following CD/DVD
- virtio-win-0.1.126.iso
- Windows 2016 Server Standard
- Create a VM with the following hardware
- Node – TheServer
- VM ID – 100
- Name – MyServer
- Resource Pool - TestPool
- OS – MS Windows10/2016
- CD/DVD – Select Windows2016 ISO in Storage Local
- Harddisk – SCSI disk on local-lvm (80Gb), Cache Default (No backup, Discard IO thread Unticked)
- CPU – 1 Socket, 1 Core, Default kvm64
- Memory – 4Gb (Ballooning ticked)
- Network – Bridged to vmbr0, Intel E1000 (Needed for RRAS as Virtio fails on RRAS setup (that’s another story)
- Then I add another CD/DVD and select the virtio-win-0.1.126.ISO
- Options of the vm are default apart from Qemu Agent is set to yes. Hotplug is enabled for Disk, Network, USB
- Start the VM and go to the console
- When prompted to add the drivers I select the SCSI drivers from the Virtio CD to see the partition.
- Then do a basic Windows install. No key entered just a trial version for testing
- Once up and running in a cmd prompt as admin
- ROBOCOPY the virtio CD to C:\Drivers
- PNPUTIL -I -a C:\Drivers\vioscsi\2k16\amd64\vioscsi.inf
- PNPUTIL -I -a C:\Drivers\NetKVM\2k16\amd64\netkvm.inf
- PNPUTIL -I -a C:\Drivers\viostor\2k16\amd64\viostor.inf
- PNPUTIL -I -a C:\Drivers\vioserial\2k16\amd64\vioser.inf
- PNPUTIL -I -a C:\Drivers\viorng\2k16\amd64\viorng.inf
- PNPUTIL -I -a C:\Drivers\vioinput\2k16\amd64\vioinput.inf
- PNPUTIL -I -a C:\Drivers\qemupciserial\qemupciserial.inf
- PNPUTIL -I -a C:\Drivers\pvpanic\2k16\amd64\pvpanic.inf
- PNPUTIL -I -a C:\Drivers\Balloon\2k16\amd64\balloon.inf
- Install QEMU Guest from the ISO
- Install Balloon by running blnsvr.exe -I
- Sort the issue of HID Button over Interrupt driver (Useful URL https://bugzilla.redhat.com/show_bug.cgi?id=1377155)
- So now I have a fully working Windows2016 with no driver issues.
I now insert the USB drive into the USB port of the DELL server
Log in on the host console with
root and
mypassword
Type
lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0624:0249 Avocent Corp.
Bus 001 Device 004: ID 0624:0248 Avocent Corp.
Bus 001 Device 007: ID 1058:0701 Western Digital Technologies, Inc.
Bus 001 Device 003: ID 413c:a101 Dell Computer Corp.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Make a note of vendorID and productID for the Western Digital Driver
Then type
qm monitor 100
Then type
device_add usb-host,id=usb999,vendorid=0x1058,productid=0x0701
Go back to the console of the Windows server and view the device manager and a "USB Mass Storage Device" appears with a yellow triangle, saying code 10. The "problem status" says "{operation failed}The requested operation was unsuccessful”
(Link -
https://ibb.co/mEhoCk)
(Link -
https://ibb.co/cXYH55)
If I then type on the
qm monitor – device_del usb999 that “USB Mass Storage Device” disappears.
I have also upgraded Proxmox to verison 4.4-13/7ea56165
I can repeat this on different host hardware and different guest OS’s (Windows 7, 10 and Windows 2016)
I have now uploaded an Ubuntu 16 ISO and created a linux VM as suggested.
Create a VM with the following hardware
- Node – TheServer
- VM ID – 101
- Name – MyUbuntu
- Resource Pool - TestPool
- OS – Linux 4.x/3.x/2.6 Kernal
- CD/DVD – Select Ubuntu16.04-amd64 ISO in Storage Local
- Harddisk – SCSI disk on local-lvm (5Gb), Cache Default (No backup, Discard IO thread Unticked)
- CPU – 1 Socket, 1 Core, Default kvm64
- Memory – 1Gb (Ballooning ticked)
- Network – Bridged to vmbr0, Intel E1000 (Needed for RRAS as Virtio fails on RRAS setup (that’s another story)
Install Ubuntu Server basic install.
Back to the proxmox host console
Type
qm monitor 101
Type
device_add usb-host,id=usb999,vendorid=0x1058,productid=0x0701
Back to the MyUbuntu console and sudo as root
Type
lspci -v | grep -i usb -A 8
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01) (prog-if 00 [UHCI])
Subsystem: Red Hat, Inc QEMU Virtual Machine
Flags: bus master, fast devsel, latency 0, IRQ 11
I/O ports at e040
Kernel driver in use: uhci_hcd
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
Subsystem: Red Hat, Inc Qemu virtual machine
Flags: medium devsel, IRQ 9
Type dmesg | grep -i usb
[ 0.436818] ACPI: bus type USB registered
[ 0.436836] usbcore: registered new interface driver usbfs
[ 0.436848] usbcore: registered new interface driver hub
[ 0.436861] usbcore: registered new device driver usb
[ 1.211518] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.214412] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.217138] uhci_hcd: USB Universal Host Controller Interface driver
[ 1.241391] uhci_hcd 0000:00:01.2: new USB bus registered, assigned bus number 1
[ 1.244378] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.245311] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.246254] usb usb1: Product: UHCI Host Controller
[ 1.247170] usb usb1: Manufacturer: Linux 4.4.0-21-generic uhci_hcd
[ 1.248078] usb usb1: SerialNumber: 0000:00:01.2
[ 1.249084] hub 1-0:1.0: USB hub found
[ 1.563772] usb 1-1: new full-speed USB device number 2 using uhci_hcd
[ 1.725469] usb 1-1: New USB device found, idVendor=0627, idProduct=0001
[ 1.725519] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=5
[ 1.725565] usb 1-1: Product: QEMU USB Tablet
[ 1.725593] usb 1-1: Manufacturer: QEMU
[ 1.725618] usb 1-1: SerialNumber: 42
[ 1.754182] usbcore: registered new interface driver usbhid
[ 1.754221] usbhid: USB HID core driver
[ 1.757107] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:01.2/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input5
[ 1.757478] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Pointer [QEMU QEMU USB Tablet] on usb-0000:00:01.2-1/input0
[ 361.441496] usb 1-2: new full-speed USB device number 3 using uhci_hcd
[ 361.605478] usb 1-2: New USB device found, idVendor=0409, idProduct=55aa
[ 361.605481] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 361.605483] usb 1-2: Product: QEMU USB Hub
[ 361.605485] usb 1-2: Manufacturer: QEMU
[ 361.605486] usb 1-2: SerialNumber: 314159-0000:00:01.2-2
[ 361.607535] hub 1-2:1.0: USB hub found
[ 362.065511] usb 1-2.1: new full-speed USB device number 4 using uhci_hcd
[ 362.346236] usb 1-2.1: New USB device found, idVendor=1058, idProduct=0701
[ 362.346240] usb 1-2.1: New USB device strings: Mfr=89, Product=76, SerialNumber=63
[ 362.346242] usb 1-2.1: Product: External HDD
[ 362.346244] usb 1-2.1: Manufacturer: Western Digital
[ 362.346245] usb 1-2.1: SerialNumber: DEF10C122A23
[ 362.348277] usb 1-2.1: can't set config #1, error -32
Type lsusb
Bus 001 Device 004: ID 1058:0701 Western Digital Technologies, Inc. WD Passport (WDXMS)
Bus 001 Device 003: ID 0409:55aa NEC Corp. Hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
The drive doesn’t appear in /dev due to the error above, so it can’t be mounted.
So looks like its not just limited to just Windows VM’s
Note: I have also tried qm set 100 -usb0 host=1058:0701 instead of the "device_add" but that didn't work either, same issue...
I have installed proxmox on two different PowerEdge servers and clone pc running Intel i7, all with the similar results….
Tried different USB drives, I also tried to pass-through a USB keyboard and likewise that gets a yellow triangle.
If it works for you, I must be missing something but what????