USB 機器を使う

FreeBSD での USB 機器の使い方です。

参考サイト


準備

まずは、カーネルのサポート確認と usbd の起動をします。

カーネルのサポート

カーネルのコンフィギュレーションファイル (デフォルトでは /usr/src/sys/i386/conf/GENERIC)に 以下が含まれていることを確認します。 デフォルトでは含まれていると思います。
device uhci
device ohci
device usb
device ugen
device umass
device scbus
device da
ないものがあれば、追加して カーネルを再構築します。

usbd の起動

/etc/rc.conf に usbd か起動するように書いておきます。
usbd_enable="YES"
再起動をすれば usbd が動きます。

dmesg で、usb0 と uhub0 の記述がでてくれば usb が使えるようになっています。
% dmesg | grep usb0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
% dmesg | grep uhub0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
umass0: at uhub0 port 1 (addr 2) disconnected
umass0: at uhub0 port 1 (addr 2) disconnected

USB 機器が認識されていることの確認

USB 機器を差した後、認識されているかどうかを確認するには、 コマンド usbdevs を使います。 より詳しい情報は、オプション -v で得られます。 例えば、USB の FDD を繋げてると以下のように出ます。
% usbdevs -v
Controller /dev/usb0
addr 1: self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 addr 2: power 500 mA, config 1, FlashBuster-u(0x0000), Y-E DATA(0x057b), rev 3.12
port 2 powered

FDD のマウント

上の例は、FDD を繋げたときの usbdevs の反応でした。 FDD をマウントするには、/dev/da0 をマウントします。 da とは、direct access の略です。
# mount /dev/da0 /mnt
HDD も da0 で良いようです。

注意

SCSI の HDD を付けているような場合、 すでに da0 が使われていることがあります。 その場合は、使われていない da の中で一番番号が若いものが USB のデバイス名になると思われます。 詳しくは、USB 機器を繋げた後、 /var/log/messages でデバイス名(ここでいう da0) を確認してください。

例えば、上の FDD の場合には次のように出ています。
# tail /var/log/messages
..........
....: umass0: Y-E DATA FlashBuster-U, rev 1.10/3.12, addr 2
....: da0 at umass-sim0 bus 0 target 0 lun 0
....: da0: >Y-E DATA USB-FDU 3.12< Removable Direct Access SCSI-0 device
....: da0: 20KB/s transfers
....: da0: 1MB (2880 512 byte sectors: 2H 18S/T 80C)
..........
USB の FDD を抜くと次のような表示が出ます。
..........
....: umass0: at uhub0 port1 (addr 2) disconnected
....: (da0:umass-sim0:0:0:0): lost device
....: (da0:umass-sim0:0:0:0): removing device entry
....: umass0: detached


FreeBSD の部屋


Last modified: Tue Jul 27 18:51:54 2004