[Kubuntu/Ubuntu] VMware ServerでUSB機器を利用する

2008/08/31PC::VMware

Debianのサーバだけではなく、KubuntuのメインマシンにもVMware Serverを導入しているのだが、KubuntuマシンではどういうわけかUSBが利用できなかったので調べてみた。

環境

VMware Server環境1
Debian GNU/Linux 4.0(etch)
VMware Server環境2
Kubuntu 8.04.1 (Hardy Heron)
VMware Server
1.0.6
VMware Server Console
1.0.6

VMware ServerにおけるUSBデバイスの検出

VMware ServerはホストにUSBデバイス接続された際に、/proc/bus/usb/以下にUSBデバイスファイル*1が作成されることを期待しているようです。Debian etchではVMware Serverが期待するように/proc/bus/usb/以下にデバイスファイルが生成されますが、Kubuntuでは/dev/bus/usb/以下にデバイスファイルが生成され、/proc/bus/usb/以下には生成されません。このため、KubuntuをホストOSとする場合にVMware ServerはUSBデバイスを検出できず、結果としてゲストOSでUSBデバイスを利用できないということが起こっています。

*1 : 正式名称は何というのでしょうか?

解決策

/etc/init.d/mountdevsubfs.shを編集することで、/proc/bus/usb/以下にUSBデバイスファイル?が作成されるようにします。

#
# 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

上記部分のコメントを外す。

#
# 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

これでVMware Server Consoleで接続するとUSBデバイスが利用できるようになっているはずです。

参考