默认的 kvm guest 启动并未模拟 usb, 模拟 usb,需要启动时加上 -usb 参数,qemu 为 guest模拟一个 8 port 的 Intel SB82371 UHCI USB 控制器。
kvm -hda /path/to/your/kvm/image/hda.qcow2
在使用 USB 之前,需要找出 USB 的设备 ID,如:
$lsusb Bus 007 Device 002: ID 05ac:8502 Apple Computer, Inc.
输出中的 05ac:8502,分别为 <VendorID>:<ProductID>
启动 guest 系统后, CTRL + ALT + 2 转到 Monitor ,手工加载 usb 设备(用上面的输出替换):
#usb_add host:<VendorID>:<ProductID> Could not open /proc/bus/usb/devices
回到 host 系统发现 /proc/bus/usb/devices 文件不存在,google 后发现相关的 Ubuntu BUG report。Ubuntu 等发行版早将 /proc/bus/usb/devices deprecated 一年之久,hardy 已经完全转向 /dev/bus/usb/devices,相比较 proc 获得有更灵活的权限控制、安全性更高。Ubuntu bug report 中给出了 workaround。
编辑 '/etc/init.d/mountdevsubfs.sh' 取消 40 行后的相应注视:
# 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 ln -s .usbfs/devices /dev/bus/usb/devices mount --rbind /dev/bus/usb /proc/bus/usb
执行这个脚本。
$ sudo /etc/init.d/mountdevsubfs.sh start
用此法成功加在招行 USB key,可以进入专业版,实际实验查帐等操作正常,转帐验证时候失败。
No comments:
Post a Comment