USB Pass through bug

wheaties82

New Member
Dec 27, 2010
10
0
1
After the most recent upgrade my VM fails to start with the following error:

kvm: -device usb-host,vendorid=04f9,productid=0183: Property 'usb-host.vendorid' doesn't take value '04f9'
TASK ERROR: start failed: command '/usr/bin/kvm -id 101 -chardev 'socket,id=monitor,path=/var/run/qemu-server/101.mon,server,nowait' -mon 'chardev=monitor,mode=readline' -vnc unix:/var/run/qemu-server/101.vnc,x509,password -pidfile /var/run/qemu-server/101.pid -daemonize -readconfig /usr/share/qemu-server/pve-usb.cfg -device 'usb-tablet,bus=ehci.0,port=6' -device 'usb-host,vendorid=04f9,productid=0183' -name PRINT -smp 'sockets=1,cores=2' -nodefaults -boot 'menu=on' -vga cirrus -k en-us -drive 'if=none,id=drive-ide2,media=cdrom,aio=native' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/var/lib/vz/images/101/vm-101-disk-1.qcow2,if=none,id=drive-virtio0,aio=native' -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100' -m 512 -netdev 'type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,vhost=on' -device 'virtio-net-pci,mac=5A:09:AE:82:78:5B,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300'' failed: exit code 1

It was working just fine before the upgrade, nothing has changed other than the underlying packages.

Here is the kvm config file:

usb0: host=04f9:0183
bootdisk: virtio0
cores: 2
ide2: none,media=cdrom
memory: 512
name: PRINT
net0: virtio=5A:09:AE:82:78:5B,bridge=vmbr0
onboot: 1
ostype: l26
sockets: 1
virtio0: local:101/vm-101-disk-1.qcow2

The VM is running latest Ubuntu flavor and the attempted pass through device is a brother DCP-7020.

Here is the relevant lsusb output from host system:

Bus 003 Device 002: ID 04f9:0183 Brother Industries, Ltd DCP-7020

Any ideas?
 
I can confirm this error. Tried last week a bit with USB-pass-through with the same effect. The last available update (installed today) did not solve the problem.

PVE v2.0-45/8c846a7b
pve-qemu-kvm v0.15.0-1


output from lsusb:
Bus 002 Device 008: ID 1307:0165 Transcend Information, Inc. 2GB/4GB Flash Drive

kvm config:
bootdisk: virtio0
cores: 2
ide0: SynoNAS:102/vm-102-disk-3.raw
ide1: local:iso/virtio-win-0.1-22.iso,media=cdrom
memory: 512
name: WinXP
net0: virtio=22:47:8F:D1:76:DF,bridge=vmbr0
ostype: wxp
sockets: 1
usb2: host=1307:0165


Can I give you some further information?
 
I can confirm this error. Tried last week a bit with USB-pass-through with the same effect. The last available update (installed today) did not solve the problem.

PVE v2.0-45/8c846a7b
pve-qemu-kvm v0.15.0-1

...

you have old packages, update to latest and post your 'pveversion -v'
(pve-qemu-kvm: 1.0-8)
 
pveversion -v output:


pve-manager: 2.0-45 (pve-manager/2.0/8c846a7b)
running kernel: 2.6.32-10-pve
proxmox-ve-2.6.32: 2.0-63
pve-kernel-2.6.32-10-pve: 2.6.32-63
pve-kernel-2.6.32-7-pve: 2.6.32-60
lvm2: 2.02.88-2pve2
clvm: 2.02.88-2pve2
corosync-pve: 1.4.1-1
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.8-3
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.7-1
pve-cluster: 1.0-25
qemu-server: 2.0-28
pve-firmware: 1.0-15
libpve-common-perl: 1.0-21
libpve-access-control: 1.0-17
libpve-storage-perl: 2.0-15
vncterm: 1.0-2
vzctl: 3.0.30-2pve2
vzprocps: 2.0.11-2
vzquota: 3.0.12-3
pve-qemu-kvm: 1.0-8
ksm-control-daemon: 1.1-1


My mistake was to show the package version with apt-cache show pve-qemu-kvm.
The result was a long list of every version of this package has been distributed and I only looked at the last section because my SSH window was to small an I did not scoll up.
 
you have old packages, update to latest and post your 'pveversion -v'
(pve-qemu-kvm: 1.0-8)


I updated and can also confirm that the problem still exists.

pveversion -v


pve-manager: 2.0-45 (pve-manager/2.0/8c846a7b)
running kernel: 2.6.32-10-pve
proxmox-ve-2.6.32: 2.0-63
pve-kernel-2.6.32-10-pve: 2.6.32-63
pve-kernel-2.6.32-7-pve: 2.6.32-60
lvm2: 2.02.88-2pve2
clvm: 2.02.88-2pve2
corosync-pve: 1.4.1-1
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.8-3
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.7-1
pve-cluster: 1.0-25
qemu-server: 2.0-28
pve-firmware: 1.0-15
libpve-common-perl: 1.0-21
libpve-access-control: 1.0-17
libpve-storage-perl: 2.0-15
vncterm: 1.0-2
vzctl: 3.0.30-2pve2
vzprocps: 2.0.11-2
vzquota: 3.0.12-3
pve-qemu-kvm: 1.0-8
ksm-control-daemon: 1.1-1



I am seeing same error as I previously noted.
 
Maybe this can help.

I have a machine where usb is working fine with this (pveversion -v):

pve-manager: 2.0-45 (pve-manager/2.0/8c846a7b)
running kernel: 2.6.32-7-pve
proxmox-ve-2.6.32: 2.0-63
pve-kernel-2.6.32-10-pve: 2.6.32-63
pve-kernel-2.6.32-7-pve: 2.6.32-60
lvm2: 2.02.88-2pve2
clvm: 2.02.88-2pve2
corosync-pve: 1.4.1-1
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.8-3
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.7-1
pve-cluster: 1.0-25
qemu-server: 2.0-28
pve-firmware: 1.0-15
libpve-common-perl: 1.0-21
libpve-access-control: 1.0-17
libpve-storage-perl: 2.0-15
vncterm: 1.0-2
vzctl: 3.0.30-2pve2
vzprocps: 2.0.11-2
vzquota: 3.0.12-3
pve-qemu-kvm: 1.0-8
ksm-control-daemon: 1.1-1

An another whith the newest kernel where I have the same problem.

pve-manager: 2.0-45 (pve-manager/2.0/8c846a7b)
running kernel: 2.6.32-10-pve
proxmox-ve-2.6.32: 2.0-63
pve-kernel-2.6.32-10-pve: 2.6.32-63
lvm2: 2.02.88-2pve2
clvm: 2.02.88-2pve2
corosync-pve: 1.4.1-1
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.8-3
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.7-1
pve-cluster: 1.0-25
qemu-server: 2.0-28
pve-firmware: 1.0-15
libpve-common-perl: 1.0-21
libpve-access-control: 1.0-17
libpve-storage-perl: 2.0-15
vncterm: 1.0-2
vzctl: 3.0.30-2pve2
vzprocps: 2.0.11-2
vzquota: 3.0.12-3
pve-qemu-kvm: 1.0-8
ksm-control-daemon: 1.1-1

In this case, it works adding this line to the conf file.

args: -device usb-host,hostbus=3,hostaddr=2

# lsusb
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub"
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 
Last edited:
Same problem here, guys ! After last upgrade I cannot inject anymore usb keys using vendor_id. Here is the error starting windows xp vm machine:

Code:
kvm: -device usb-host,vendorid=6666,productid=7b3c: Property 'usb-host.vendorid' doesn't take value '6666'

Here is vmid.conf file:
Code:
#Windows XP operativo. IP=.185
bootdisk: ide0
cores: 1
ide0: local:100/vm-100-disk-1.raw
ide1: local:100/vm-100-disk-3.raw
ide2: storage2:iso/virtio-win-0.1-22.iso,media=cdrom
memory: 512
net0: rtl8139=6E:26:4F:85:1D:BB,bridge=vmbr0
ostype: wxp
sockets: 1
usb0: host=6666:7b3c
virtio1: local:100/vm-100-disk-2.raw


Here is pveversion -v output:

Code:
root@proxmox:~# pveversion -vpve-manager: 2.0-45 (pve-manager/2.0/8c846a7b)
running kernel: 2.6.32-10-pve
proxmox-ve-2.6.32: 2.0-63
pve-kernel-2.6.32-10-pve: 2.6.32-63
pve-kernel-2.6.32-7-pve: 2.6.32-60
lvm2: 2.02.88-2pve2
clvm: 2.02.88-2pve2
corosync-pve: 1.4.1-1
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.8-3
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.7-1
pve-cluster: 1.0-25
qemu-server: 2.0-28
pve-firmware: 1.0-15
libpve-common-perl: 1.0-21
libpve-access-control: 1.0-17
libpve-storage-perl: 2.0-15
vncterm: 1.0-2
vzctl: 3.0.30-2pve2
vzprocps: 2.0.11-2
vzquota: 3.0.12-3
pve-qemu-kvm: 1.0-8
ksm-control-daemon: 1.1-1

I further had a weird issue, I mean I lost all machine names. I searched the forum, tried some solutions, such as reboot etc.. but nothing to do. KVM vm names are lost. At Proxmox reboot for three vm I had this error (change just VMID):
Code:
vm 106 - unable to parse value of 'name' - value does not look like a valid DNS name
 
I just ran an apt-get dist-upgrade, rebooted and am able to passthrough USB devices to a KVM host (and start the VM).

root@proxmox:~# pveversion -v
Code:
pve-manager: 2.0-54 (pve-manager/2.0/4b59ea39)
running kernel: 2.6.32-10-pve
proxmox-ve-2.6.32: 2.0-63
pve-kernel-2.6.32-10-pve: 2.6.32-63
pve-kernel-2.6.32-6-pve: 2.6.32-55
pve-kernel-2.6.32-7-pve: 2.6.32-60
lvm2: 2.02.88-2pve2
clvm: 2.02.88-2pve2
corosync-pve: 1.4.1-1
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.8-3
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.7-2
pve-cluster: 1.0-26
qemu-server: 2.0-33
pve-firmware: 1.0-15
libpve-common-perl: 1.0-23
libpve-access-control: 1.0-17
libpve-storage-perl: 2.0-16
vncterm: 1.0-2
vzctl: 3.0.30-2pve2
vzprocps: 2.0.11-2
vzquota: 3.0.12-3
pve-qemu-kvm: 1.0-8
ksm-control-daemon: 1.1-1

root@proxmox:~# grep -i usb /etc/pve/nodes/proxmox/qemu-server/104.conf
Code:
usb0: host=04a9:1725
 
Tried out this minute on my test environment after package update.
Now it works as expected. Both a Memory Stick and an Aladdin HASP USB Key have been recognized correctly inside a KVM Windows 7 virtual machine.

Thanks a lot!
 
It is working again also here ! Fantastic :D

Here is my qm monitor:
Code:
qm> info usb  Device 0.1, Port 6, Speed 12 Mb/s, Product QEMU USB Tablet
  Device 0.1, Port 1, Speed 1.5 Mb/s, Product ExseKey USB
qm> info usbhost
  Bus 1, Addr 4, Port 5, Speed 480 Mb/s
    Class 00: USB device 1058:1021, Ext HDD 1021
  Bus 4, Addr 2, Port 2, Speed 1.5 Mb/s
    Class 00: USB device 04a5:7008, USB Multimedia Keyboard
  Bus 4, Addr 3, Port 3, Speed 1.5 Mb/s
    Class 00: USB device 6666:7b3c, ExseKey USB
  Auto filters:
    Bus *, Addr *, Port *, ID 6666:7b3c

I'm still having issues trying to inject the same 2 usb keys with bus.addr :O . With numbers, there is no way that windows can see the usb key :(. On another server Vmware Server 2.0.2 is giving me the chance to assign the same type key to single vm, also up together, of course, so I think it is possible but with qemu-KVM I have this problem that I cannot up 2 windows vm able to read the similar but different usb key.

Trying 4-3.3 , 4-1.3 and other attempts will not solve my problem.

Thank you
 
Hello everyone!
I've got to the same problem and solved by replacing vendorid and productid by 0xvendorid and 0xproductid, for example:
args: -device usb-host,hostbus=5,hostport=1,vendorid=0x067b,productid=0x2303 # USB-Serial Controller
instead of
args: -device usb-host,hostbus=5,hostport=1,vendorid=067b,productid=2303 # USB-Serial Controller
 
Hello everyone!
I've got to the same problem and solved by replacing vendorid and productid by 0xvendorid and 0xproductid, for example:
args: -device usb-host,hostbus=5,hostport=1,vendorid=0x067b,productid=0x2303 # USB-Serial Controller
instead of
args: -device usb-host,hostbus=5,hostport=1,vendorid=067b,productid=2303 # USB-Serial Controller

Thanks! It's very kind of you to share this. It was just a little notation problem! :mad:
 
It is working again also here ! Fantastic :D

Here is my qm monitor:
Code:
qm> info usb  Device 0.1, Port 6, Speed 12 Mb/s, Product QEMU USB Tablet
  Device 0.1, Port 1, Speed 1.5 Mb/s, Product ExseKey USB
qm> info usbhost
  Bus 1, Addr 4, Port 5, Speed 480 Mb/s
    Class 00: USB device 1058:1021, Ext HDD 1021
  Bus 4, Addr 2, Port 2, Speed 1.5 Mb/s
    Class 00: USB device 04a5:7008, USB Multimedia Keyboard
  Bus 4, Addr 3, Port 3, Speed 1.5 Mb/s
    Class 00: USB device 6666:7b3c, ExseKey USB
  Auto filters:
    Bus *, Addr *, Port *, ID 6666:7b3c

I'm still having issues trying to inject the same 2 usb keys with bus.addr :O . With numbers, there is no way that windows can see the usb key :(. On another server Vmware Server 2.0.2 is giving me the chance to assign the same type key to single vm, also up together, of course, so I think it is possible but with qemu-KVM I have this problem that I cannot up 2 windows vm able to read the similar but different usb key.

Trying 4-3.3 , 4-1.3 and other attempts will not solve my problem.

Thank you

Can this help? - http://pve.proxmox.com/wiki/USB_physical_port_mapping
 
I'm having problem with usb passthrough, even following all instructions from the wiki or the forums.

Is it posible that passthrough doesn't work with vm running with Windows XP? I see people with no problem with windows 7. Does any body have a windows XP vm with usb passthroug working?

pveversion -v
pve-manager: 2.3-7 (pve-manager/2.3/1fe64d18)
running kernel: 2.6.32-18-pve
proxmox-ve-2.6.32: 2.3-88
pve-kernel-2.6.32-18-pve: 2.6.32-88
pve-kernel-2.6.32-17-pve: 2.6.32-83
lvm2: 2.02.95-1pve2
clvm: 2.02.95-1pve2
corosync-pve: 1.4.4-4
openais-pve: 1.1.4-2
libqb: 0.10.1-2
redhat-cluster-pve: 3.1.93-2
resource-agents-pve: 3.9.2-3
fence-agents-pve: 3.1.9-1
pve-cluster: 1.0-36
qemu-server: 2.3-8
pve-firmware: 1.0-21
libpve-common-perl: 1.0-44
libpve-access-control: 1.0-25
libpve-storage-perl: 2.3-2
vncterm: 1.0-3
vzctl: 4.0-1pve2
vzprocps: not correctly installed
vzquota: 3.1-1
pve-qemu-kvm: 1.3-18
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!