KVM使用USB遇到设备被占用问题

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
mayi
帖子: 196
注册时间: 2008-06-25 11:28

KVM使用USB遇到设备被占用问题

#1

帖子 mayi » 2010-06-15 11:48

KVM + USB搜索的大部分文章,已读过,目前问题还是没有解决,对文章中的指导存在一些疑问,请路过的指导一下。

情况是这样的:
OS版本:ubuntu 10.04 LTS版本
KVM版本:1:84+dfsg-0ubuntu16+0.12.3+nororms+0ubuntu9

sudo kvm -hda xp.img -hdb data.img -m 1024 -usb -usbdevice host:1871:0306 -net nic,model=virtio -net user

在虚拟机中(guest OS:winXP),能看到我的USB设备(一个摄像头),但不能使用,提示是设备被占用。

参考的一些文章中,有些无法操作,主要原因是没有操作条件,我想应该是OS版本不同,出现了一些变化。

如有说要解决usb权限的方法,在此没法原样操作,因为:
/proc/bus下,就没有usb。 (为什么没有呢?是OS版本问题吗?我能手工touch吗?)
/etc/group中,没有usb组。 (这也是OS版本问题吗?)

只好简单一点,通过sudo来解决了。另外,我也直接用root用户使用,效果相同。

也没有下面的文件:
/etc/init.d/mountdevsubfs.sh (这个文件没有,为什么呢?能手工建一个吗?)

#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs

domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
(domount? 没查到有这个程序?点解?)
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/us

指导要修改fstab.
(在fstab中添加了一行:
none /proc/bus/usb usbfs devmode=666 0 0 )
结果就是系统无法启动,只好liveCD重新修改回来。可以想到,就没有/proc/bus/usb 设备啊。

比较难以理解的是,U盘,不需要作任何特殊处理,只需要在kvm参数中将ID填正确,就可以在虚拟机中使用。
就是我的USB摄像头,在虚拟机中能看到,不能用,总说被什么占用了。除了HOST,想不出什么会用它。
彻底晕倒了。
山不转,水转,山不移,我移。
头像
IDRI
帖子: 476
注册时间: 2010-07-02 21:47

Re: KVM使用USB遇到设备被占用问题

#2

帖子 IDRI » 2010-09-21 22:29

我也是啊兄弟 :em20 :em20 :em20
对系统:更加了解; 对软件:更强,更新,更有趣

ubuntu--arch--gentoo

vim(latex-suit),tex(xelatex,metapost),zim,chromium,virtualbox,awk......
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: KVM使用USB遇到设备被占用问题

#3

帖子 astolia » 2010-09-24 13:18

/proc/bus/usb是依赖于内核中的usbfs模块的。但usbfs本身算是已经过时被废弃的东西,10.04内核并没有将其编译进去。
没用过kvm,如果确实需要usbfs,只有自己编译内核,将Device Drivers->USB support下面的USB device filesystem选上
laguna_z
帖子: 5
注册时间: 2010-06-05 10:30

Re: KVM使用USB遇到设备被占用问题

#4

帖子 laguna_z » 2010-10-12 22:08

同问,有没有达人帮忙解决下 :em06
头像
[email protected]
帖子: 286
注册时间: 2008-06-24 21:00

Re: KVM使用USB遇到设备被占用问题

#5

帖子 [email protected] » 2010-10-25 2:02

-usbdevice tablet 还加上这个就行了。
mayi
帖子: 196
注册时间: 2008-06-25 11:28

Re: KVM使用USB遇到设备被占用问题

#6

帖子 mayi » 2010-11-12 20:43

[email protected] 写了:-usbdevice tablet 还加上这个就行了。

多谢! 我刚看到你的建议,试了一下,很奇怪,在XP中看到一个USB设备,变成什么“USB 人体学输入设备”,无法启用摄像头。
$sudo lsusb
结果如下:
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 1871:0306 Aveo Technology Corp. (这是我的摄像头)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

虚拟机启动命令如下:
sudo kvm -hda xp.img -hdb data.img -m 1024 -usb -usbdevice tablet host:1871:0306 -net nic,model=virtio -net user

会是什么原因呢? XP用的是风林简化过的。
山不转,水转,山不移,我移。
头像
[email protected]
帖子: 286
注册时间: 2008-06-24 21:00

Re: KVM使用USB遇到设备被占用问题

#7

帖子 [email protected] » 2011-06-11 0:24

sudo kvm -hda xp.img -hdb data.img -m 1024 -usb -usbdevice host:1871:0306 -usbdevice tablet -net nic,model=virtio -net user


这样写才对吧。
plepman
帖子: 72
注册时间: 2008-12-17 23:09

Re: KVM使用USB遇到设备被占用问题

#8

帖子 plepman » 2011-12-02 9:01

你是 sudo 的命令? 那么应该不是权限问题了。


摄像头 什么的好像还占用其他 bus 部分,不止 一块,你要先找找。
头像
okzokz123
帖子: 114
注册时间: 2008-12-29 17:19

Re: KVM使用USB遇到设备被占用问题

#9

帖子 okzokz123 » 2011-12-20 10:02

我的ubuntu10.4_64在KVM里的XP中能使用摄像头 你装摄像头驱动了吗
回复