USBディスクを使う

SheevaPlugのUSB対応が気になる昨今なので、Plan 9でUSBディスクを使う方法など書いてみる。

Plan 9はちゃんとUSB 2.0のEHCI (Enhanced Host Controller Interface)に対応している。

デバイスドライバの名前は#uで/devにbindされる。ホストコントローラが認識されていれば/dev/usbというファイルが見えるはずだ。

% ns|grep '#u'
bind -a '#u' /dev 

USBディスクを挿すして、認識に成功すると「usb/disk...」とコンソールに表示される。/dev/usb/X.Y/ctlには「USB2.0 'Flash Disk'」の文字が見える。

% cat /dev/usb/*/ctl
enabled control rw speed full maxpkt 64 pollival 0 samplesz 0 hz 0 hub 0 port 0 busy
roothub csp 0x000009 ports 2
enabled control rw speed high maxpkt 64 pollival 0 samplesz 0 hz 0 hub 0 port 0 busy
roothub csp 0x000009 ports 6
enabled control rw speed high maxpkt 64 pollival 0 samplesz 0 hz 0 hub 2 port 1 busy
storage csp 0x500608 vid 0x1221 did 0x3234 USB2.0 'Flash Disk'
enabled bulk rw speed high maxpkt 512 pollival 1 samplesz 0 hz 0 hub 2 port 1 busy

USBは大抵FATでフォーマットされていると思うので、usbfat:というrcスクリプトを実行すれば、/n/sdUX.Yにマウントされる。

% usbfat:
/n/sdU3.0