如何在qemu中使用usb相机?

时间:2015-07-24 18:40:03

标签: camera raspberry-pi qemu

我是使用模拟器qemu的新手,我试图利用它来模拟树莓派中使用的raspbian系统,但我不知道如何在其中使用我的相机usb 。有谁可以帮助我?

2 个答案:

答案 0 :(得分:1)

要包含USB设备,您可以使用选项'-usbdevice'并包含设备总线的位置。完整选项可能与此类似:

qemu-system-arm -M versatilepb ... -usbdevice host:5.4

主机地址定义(我的意思是'host:'之后的数字)可以通过'lsusb'命令找到。在'lsusb'给出的列表中,您必须找到要共享的设备。例如:

$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 003: ID 046d:0805 Logitech, Inc. Webcam C300
Bus 005 Device 004: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
Bus 005 Device 002: ID 2109:3431  
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

在前面的示例中,我想要共享的设备是'Logitech,Inc。HD Pro Webcam C920'相机,正如您在相应的行中所看到的那样,总线和设备值在那里被定义(5和4)分别地)。

答案 1 :(得分:0)

2019年10月起,我们已经{strong}弃用了goe's answer中的Qemu 4.1.0-usbdevice

因此,建议是使用新选项-device usb...,并且您的相机可能是high-speed,因此您必须使用usb-ehci,否则会出现speed mismatch错误

也就是说,我从笔记本电脑通过以下方式启动了带有集成网络摄像头的VM:

qemu-system-x86_64 -enable-kvm -m 2048 -rtc base=localtime -hda /path/win7.img -cpu host -soundhw hda -usb -device usb-ehci,id=ehci -device usb-host,hostbus=1,hostaddr=3

hostbus=1,hostaddr=3来自:

lsusb
...
Bus 001 Device 003: ID 0408:2fb1 Quanta Computer, Inc.
...

据我所知:

sudo dmesg |grep -i webcam
...
[ 5594.955703] uvcvideo: Found UVC 1.00 device Laptop_Integrated_Webcam_2HDM (0408:2fb1)
...