アットウィキロゴ

USBデバイス

USBはUniversal Serial Busの略です。
USBはSCSIPCIデバイスとは異なり、ホットプラグに対応しています。ホットプラグとは、電源を入れたままで周辺機器等を取り付けたり、取り外したりできることを言います。
また、127台の機器を接続することが可能です。

USB規格

USBには、大きく分けるとUSB1.1とUSB2.0の2つの規格があります。

USB1.1

転送速度は12Mbps
Linuxではカーネル2.4から正式対応しました。
USBコントローラとしては、UHCIとOHCIがあります。
UHCIは、IntelとVIA主導のコントローラであり、Linuxのモジュールはuhci_hcdを利用します。
OHCIは、SiS主導のコントローラであり、Linuxのモジュールはohci_hcdを利用します。

USB2.0

転送速度は480Mbps
Linuxではカーネル2.6から正式対応しました。
USBコントローラとしては、EHCIがあります。
EHCIは、UHCIとOHCIを統一したコントローラであり、Linuxのモジュールは、ehci_hcdを利用します。

ドライバ

USBには大きく分けると3種類のドライバが存在します。

ホスト・コントローラ・ドライバ

USBは、PC上のUSBコントローラを介して制御されます。Linuxでは、このドライバはこのコントローラを制御するためのドライバです。

クラス・ドライバ

USBの規格では、機器の種別ごとに標準化されています。この規格化された汎用ドライバのことを言います。

ベンダー・デバイス・ドライバ

クラス・ドライバに存在しないような標準的ではない機器のドライバで、ベンダーが専用で作成したドライバのことを言います。

Linuxでは、USBに接続されている機器を確認するためにlsusbというコマンドが用意されています。

# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 413c:2105 Dell Computer Corp.
Bus 001 Device 002: ID 0557:7000 ATEN International Co., Ltd Hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 

なお、USB接続時の処理は内部では以下のように実行されます。

最終更新:2009年04月18日 00:16
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。