■いちばん近道なLinuxマスター術
第10回:USBの認識から使い方まで 後編
 前回は,USBを使うためのカーネルの設定方法とキーボードとマウスの使い方について解説した。後編となる今回は,USBプリンタ,USBスキャナ,USBカードドライブ,USBカムを実際に使うための設定方法,そしてUSBのプラグ&プレイを実現するためのテクニックを3パートに分けて解説していこう。

今回は,実際にUSB機器をLinuxで使うための方法を中心として解説していくが,ほとんどの機器はLinuxを動作保証として販売されているわけではない。このため,本稿ではあくまでも筆者が検証した結果を掲載していることに注意してほしい。


USB機器の動作確認リストは、Linux USB ProjectからたどることができるWorking device listで参照可能だ。Linux用に新たにUSB機器を購入するのであれば,これらの情報を参考にして購入すれば間違いがないだろう。

USBプリンタを使おう

 まず最初に,比較的容易に使うことができる機器としてUSBプリンタの設定方法を説明する。

USBプリンタを使うための設定
 USBプリンタを使うには,まず最初にカーネルを再構築し,USBが利用できるようにしておかなければならない。そこで、make menuconfigなどを実行し,カーネル再構築のメニューを表示させる。

# cd /usr/src/linux
# make menuconfig

 USBプリンタを使うには、カーネル再構築の[USB support --->]メニューに含まれている[USB Printer Support]項目で[m]を選択し,モジュールとして組み込む(Fig.1)。

Fig.1■[USB Printer Support]をモジュールとして組み込む
fig01


もちろん[USB Printer Support]を有効にするだけでUSBプリンタがすぐに利用できるわけではない。ホストコントローラである「OHCIコントローラ」や「UHCIコントローラ」などのドライバをインストールし,カーネルがUSB全般をサポートしている状態にならなければいけない。これらの方法は,前編を参考にしてほしい。


USB Printer Supportは,[y]キーを押してカーネルに組み込んでしまっても構わない。以下,説明する各種USBデバイスについても同様だ。しかし,カーネルに組み込む場合には,カーネル全体の再構築をする必要があり手間がかかる。モジュールとして組み込んでおけば,カーネル全体を再構築せずにモジュールだけを再構築すればよい。再構築の時間を短縮できるのだ。また,容易にinsmodコマンドやmodprobeコマンドでモジュールを組み込み,rmmodコマンドで取り除く(無効)ことが可能だ。USBデバイスのデバイスドライバは,モジュールとして組み込んでおいたほうが便利なのだ。

 Fig.1のように[USB Printer Support]をモジュールとして組み込んだならば,何度か「ESC」キーを押してmake menuconfigを終了させよう。

 次にモジュールの再構築(make)に移ろう。本来ならば,カーネルを全部再構築しなければならないところだが,上記の手順ではモジュールを変更しただけなので,前述のようにカーネル自体を再構築する必要性はない。次のようにモジュールだけを再構築するだけで十分だ。

# make dep ; make clean
# make modules
# make modules_install
# /sbin/depmod -a


最後に実行するdepmodコマンドは,モジュール再構築後に依存関係を更新するためのものだ。

キャラクタデバイスの作成
 次に,USBプリンタ用のキャラクタデバイスを作成する。次のようにmknodコマンドを実行すればよい。

# mkdir /dev/usb
# mknod /dev/usb/lp0 c 180 0

 これにより,/dev/usb/lp0というキャラクタデバイスが作成される。この操作により,キャラクタデバイスを通じてプリンタが利用できるようになる。


ここではキャラクタデバイス名として/dev/usb/lp0を挙げたが,実際にはどのような名称でも構わない。次のページで挙げる各種USB機器用のキャラクタデバイスでも同様だ。

1/21 NEXT