「Linuxハードウェア」の版間の差分

削除された内容 追加された内容
USBマスストレージクラス、ネットワーク機器に関する説明を追加しました。
(相違点なし)

2007年3月3日 (土) 16:28時点における版

Linuxハードウェア

ここでは、家庭用w:PC上のw:Linuxで、どのようなw:ハードウェアを用いられるかについてまとめます。Linuxの説明、操作についてはUNIX/Linux入門を参照してください。また、PCの構成やその動作については高等学校情報の内容を参照してください。以下では、これらの知識を前提します。また、以降では2.6系列Linuxのソースコードを用いる記述がありますが、その場合、ソースとしてlinux-2.6.20を用いています。ここでは多くのデバイスを扱いますが、Linux上でこれらのデバイスを扱うことは、デバイス作成者の意図した使いかたではない可能性があります。実際にこれらの動作を試すとするなら、デバイスの関連文書を参照してください。

各種USBデバイス

ハードウェアの中にはコンピュータとハードウェアの通信仕様が公開されており、ハードウェアメーカが提供するw:デバイスドライバによらない機能によって、扱えるものがあります。例えば,w:USBの"クラス"の中で、"mass storage class"(マスストレージクラス)や、"Human Interface Device class"(HIDクラス)に含まれる機器はこの例です。これらの定義についてはw:USBを参照してください。

USBマスストレージクラス

USBメモリ、メモリカード

w:USBメモリや各種のw:メモリカードはUSBマスストレージクラスに属するデバイスであり、Linux上でも他のOSと変わらない程度のサポートを受けます。実際にメモリカードリーダをLinux上で用いている例としては[1]を参照してください。実際には、各種ストレージの内容をファイルとして扱うには、機器との通信方法だけでなく、機器のデータを登録するw:ファイルシステムも知っている必要があります。幸いこれらの機器は、大抵w:FAT形式のファイルシステムを採用しています。各種WindowsやMac OSだけでなく、LinuxもFAT形式を扱えるため、これらの内容をファイルとして扱うことができます。

USB接続の光学ドライブ

w:CDなどの各種w:光学ドライブも、それがUSB接続の機器であるなら、マスストレージクラスのドライバで扱える場合があります。この場合、CDのw:ファイルシステムとしてw:ISO9660が用いられる点に注意すれば、やはりマスストレージクラスのドライバでこの機器を扱うことができます。

各光学ドライブが実際にマスストレージクラスの機器であるかは、実際に接続してみるまでわかりません。これは、各デバイスのパッケージには、どのOS上で使えるかだけが記述され、どのデバイスドライバを使うかは述べられないことが多いからです。ただし、特にw:Windows上で、"汎用のドライバによって認識される"との記述がある場合には、その機器がLinux上で利用できる可能性は高まります。これは、ここでいう"汎用ドライバ"がおそらくUSBマスストレージクラスを扱うドライバだからです。逆に、"付属のCD、メーカのホームページからドライバをインストールする必要がある"などの記述があるときには、その機器は使えないものと考えた方がよいでしょう。

Linux上でファイルシステムを構築する方法として、各種mkfsコマンドを使った方法があります。mkfsコマンドについてはUNIX/Linux入門を参照してください。光学ドライブのファイルシステムを作るには、mkisofsコマンドを用います。

$mkisofs -o isoファイル名 記録するファイル、ディレクトリ

ここで、mkisofsコマンドは多くのファイルやディレクトリを1つのisoファイルにまとめます。

実際にCDを作成するには、w:en:cdrecordを使います。

$cdrecord -v dev=x,y,z isoファイル名

ここで、x,y,zは光学ドライブを示す数値です。用いられる光学ドライブは、

$cdrecord -scanbus

によって見ることができます。より詳しい説明はcdrecordのmanを参照してください。

また、w:GNOMEw:KDEの設定によっては、w:GUIを用いてCDを作成できるかもしれません。これらのGUIは中でcdrecordコマンドを使うこともあるし、そうでないこともあるかもしれません。これらのツールを使うときには、対応するGUIの説明に従ってください。

USB HIDクラス

USBのHIDクラスに属する機器には、USB接続のw:キーボードw:マウスw:ゲームパッドなどがあげられます。これらの機器は大抵特別な設定無しにLinux上で動作します。特に、Windows上の"汎用ドライバ"で動作する等の表示がある場合、これがUSBのHIDクラスのデバイスである可能性は高くなります。

これらの機器を扱うドライバは、linux-2.6.x/drivers/usb/input以下の各種ファイルです。特に、usbmouse.c, usbkbd.cの各ファイルはそれぞれUSBマウス、USBキーボードに対応しているようです。

PCと直接接続しないデバイス

汎用的なドライバを扱うデバイスに加えて、そもそもPCと関係無く動作する機器は、PCのw:OSと関係無く使うことができます。そのため、これらの機器もLinuxが動作するPCとともに用いることができます。ここではこれらの機器についてあげていきます。

また、特にネットワーク機器について、PCとというより、PCに接続されたネットワーク機器と通信を行うデバイスの場合、OSによらずデバイスが動作する可能性が高まります。

デジタルカメラ

各種メモリーカードにデータを記録するw:デジタルカメラは、PCのOSと関係無く扱える機器です。これは、カメラで写真を撮った後、メモリーカードをPCに接続し、USBマスストレージクラスの機器として扱うことができるからです。USBマスストレージクラスについては既に扱いました。このとき、メモリカード自体はそのデータがどの機器によって記録されたかを把握していません。そのため、カメラで撮ったデータもLinux PCで扱えるはずです。

ただし、カメラがデータを記録するファイル形式がw:フリーライセンスで扱えない場合には注意が必要です。静止画の場合には大抵w:JPEG形式が採用されるのでよいのですが、動画の場合w:MPEGなど特許が存在するファイル形式が用いられることがあります。この場合、そのデータをPCで扱えるかはPCの構成によります。

PCに取り込んだデータは通常の画像ファイルとして扱えます。例えばw:Gimpなどで編集するとよいでしょう。

ネットワーク機器

イーサネット

w:ルータw:ハブなどのネットワーク機器は、w:イーサネット機器と通信します。この性質のため、仮にLinuxが対応するイーサネット機器と通信できたとすれば、その機器は各種のネットワーク機器と接続できることが期待できます。 同じ理由でw:ADSLw:光ファイバーを用いてw:インターネットに接続する際、複数のPCを使うなどの理由でルータを用いて各種w:モデムと接続するときには、接続されたモデムはPCとというより、接続されたルータと通信を行います。この場合にはPCの詳細に関わらず、モデムとルータ間の通信は成立するため、Linuxでルータとの通信が行えるなら、インターネットへの接続もできるはずです。

ルータを用いない場合には、PCはルータの仕事を自力で行う必要があります。中継局との接続に関するルータの仕事は、w:PPPoEなどの各種プロトコルを扱うことです。Windows PCではこの役目をPCで肩代りすることができます。これは、Windows自体がPPPoEを扱えるからです。

  • 注意

ただし、このつなぎ方ではWindows上のネットワークサーバに外部から接続される可能性が高まります。w:ファイアウォールなどを参照してください。

LinuxでもPPPoEを扱えるので、ルータ無しでの接続が可能です。ただし、この場合OSによらずただ1台のPCしかw:インターネットと接続できないため複数のPCを使うときにはルータを用いる方がよいでしょう。

Linux上でPPPoEを扱うには、RP-PPPoE(Roaring Penguin)などのソフトウェアが必要です。w:en:PPPoEも参照してください。RP-PPPoEではおおよそ

#adsl-setup
#adsl-start
#adsl-stop

などの各種コマンドを扱うことになります。w:GNOMEw:KDEの設定次第でこれらが簡単に設定できるかも知れません。

ただし、これらの操作はw:プロバイダによって保証された動作ではないかもしれません。それらについては関連する文書を参照してください。

無線LAN

イーサネットの場合と同様に、w:無線LANクライアントとLinuxが通信できるという条件付きなら、無線LANアクセスポイントと無線LANクライアントが通信できることも期待されます。無線LANクライアントのLinuxドライバは扱いが難しいため、これについては後述します。