【发布时间】:2015-10-15 13:00:40
【问题描述】:
我是使用模拟器 qemu 的新手,我正在尝试使用它来模拟树莓派中使用的 raspbian 系统,但我不知道如何在其中使用我的相机 USB。谁能帮帮我?
【问题讨论】:
标签: camera raspberry-pi qemu
我是使用模拟器 qemu 的新手,我正在尝试使用它来模拟树莓派中使用的 raspbian 系统,但我不知道如何在其中使用我的相机 USB。谁能帮帮我?
【问题讨论】:
标签: camera raspberry-pi qemu
截至 2019 年 10 月,我们现在在 goe's answer 中有 Qemu 4.1.0 和 -usbdevice 已弃用。
因此,建议使用新选项-device usb...,并且您的相机可能是high-speed,因此您必须使用usb-ehci,否则您将收到speed mismatch 错误。
也就是说,我从笔记本电脑启动了一个带有集成网络摄像头的虚拟机:
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)
...
【讨论】:
要包含 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分别)。
【讨论】: