| Summary: | Usb webcam passthrough failed under ehci | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Shaolong Hu <shu> |
| Component: | qemu-kvm | Assignee: | Gerd Hoffmann <kraxel> |
| Status: | CLOSED NOTABUG | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.2 | CC: | ddutile, juzhang, michen, mkenneth, qzhou, virt-maint |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-09-12 07:48:05 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
It is a usb 1.1. webcam, it will not work on a pure usb 2.0 host controller. Just use 'usb' or create a EHCI controller with 1.1 companions using http://www.kraxel.org/cgit/qemu/tree/docs/ich9-ehci-uhci.cfg When constantly running out of buffers you can try more buffers using the isobufs property (device_add usb-host,hostbus=3,hostaddr=7,id=camera,isobufs=8). Default value for isobufs is 4. |
Description of problem: ------------------------ Passthrough usb webcam from host to guest failed. Version-Release number of selected component (if applicable): -------------------------------------------------------------- host: qemu-kvm-0.12.1.2-2.184.el6.x86_64 2.6.32-191.el6.x86_64 guest: 2.6.32-128.el6.x86_64 How reproducible: ----------------- 100% Steps to Reproduce: -------------------- 1.boot guest with: # /usr/libexec/qemu-kvm -enable-kvm -M rhel6.2.0 -smp 4 -m 4G -name rhel6.1-64 -uuid 3f2ea5cd-3d29-48ff-aab2-23df1b6ae213 -drive file=RHEL-Server-6.1-64-virtio.qcow2,cache=none,if=none,rerror=stop,werror=stop,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,drive=drive-virtio-disk0,id=device-virtio-disk0,bootindex=1 -netdev tap,script=/etc/qemu-ifup,id=netdev0 -device virtio-net-pci,netdev=netdev0,id=device-net0 -boot order=cd,menu=on -monitor stdio -vnc :10 -device usb-ehci,id=ehci 2.in qemu monitor (qemu)info usbhost 3.in qemu monitor device_add usb-host,hostbus=3,hostaddr=7,id=camera Actual results: ---------------- 1.in qemu monitor (qemu) info usbhost husb: using sys file-system with /dev/bus/usb Bus 3, Addr 7, Port 1, Speed 12 Mb/s Class 00: USB device 045e:00f7, USB camera Bus 7, Addr 2, Port 1, Speed 12 Mb/s Hub: USB device 0557:7000 Bus 7, Addr 3, Port 1.1, Speed 1.5 Mb/s Class 00: USB device 0557:2213, CS-1734A V4.2.411 2.in qemu monitor (qemu) device_add usb-host,hostbus=3,hostaddr=7,id=camera husb: open device 3.7 husb: config #1 need -1 husb: 3 interfaces claimed for configuration 1 husb: grabbed usb device 3.7 (qemu) husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: 3 interfaces claimed for configuration 1 husb: config #1 need 1 husb: device 3.7 disconnected husb: open device 3.7 /dev/bus/usb/003/007: No such device USBDEVFS_DISCONNECT: No such file or directory (qemu) info usb (qemu) 3.in guest: #dmesg hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? hub 1-0:1.0: unable to enumerate USB device on port 1 #lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Expected results: ------------------ Usb webcam passthroughed should work correctly in guest. Additional info: ------------------- When use "-usb" instead of "-device usb-ehci,id=ehci" in qemu command line, webcam works correctly in guest, but there is "husb: out of buffers for iso stream" prompt in qemu monitor constantly.