Linux 用の PCMCIA カードサービスは、PCMCIA あるいは 「PC カード」をサポートするためのソフトウェア一式です。この パッケージには、あるバージョンのカードサービス API を実装した カーネルモジュール、それぞれのカードごとのクライアントドライバ、カード の着脱を監視し、必要に応じてドライバをロードしたり外したりする カードマネージャーデーモンが含まれています。ほとんどの種類のカードの 「活線挿抜」にも対応しているので、いつでも安全にカードを着脱することが 可能です。
このソフトウェアはまだ開発中のものです。多分バグがあるでしょうし、注意 して使う必要があります。報告していただいたバグは可能な限り修正するつも りですが、報告がないと私はそのバグに気づかないかもしれません。もしこの プログラムを使ってもらえるならば、良いことでも悪いことでもいいですから 経験談を送っていただけますよう希望します。
この文書についての提案や改善点についても是非教えてください
(
dhinds@pcmcia.sourceforge.org
まで)。
[訳注: 翻訳に関することは JF プロジェクト
(<JF@linux.or.jp>
)までお願いします]
Copyright (c) 1998 David A. Hinds
This document may be reproduced or distributed in any form without my prior permission. Modified versions of this document, including translations into other languages, may be freely distributed, provided that they are clearly identified as such, and this copyright is included intact.
This document may be included in commercial distributions without my prior consent. While it is not required, I would like to be informed of such usage. If you intend to incorporate this document in a published work, please contact me to make sure you have the latest available version.
This document is provided ``AS IS'', with no express or implied warranties. Use the information in this document at your own risk.
この文書をコピーしたり再配布するのに私の事前の許可は必要ありません。他 の言語への翻訳を含むこの文書の修正版も、それが修正版であることが明確に 示されており、この著作権条項がそのまま含まれている限り、自由に再配布可 能です。
この文書は私の事前の許可なく商業的なパッケージに含めることも可能ですが、 そのような使用に際しては連絡していただくことを希望します。出版物に含め る場合は最新版であることを確認するために是非私まで連絡してください。
この文書は「そのまま(as is)」の形で提供され、一切の保証はありません。 この文書に記載されている情報を利用される際は自らの責任でお願いします。
PCMCIA カードサービスの最新のメジャーリリースはバージョンは 3.1 で、 ちょっとした変更やバグの修正に応じて 3.1.1, 3.1.2 のようなバージョン 番号が振られています。
最新バージョンのソースコードは sourceforge.org
の
/pcmcia
ディレクトリに pcmcia-cs-3.1.?.tar.gz
という
名前で置いてあります。普通は複数のバージョンが同一のディレクトリに
あります。普通はメジャーバージョン別に、最新版のマイナーバージョンだけ
が置かれています。
新しいメジャーバージョンにはテストが不十分なコードが入っているので、
比較的安心して使える予備として、以前のバージョンの最終版も残すようにし
ています。現在の予備のバージョンは 3.0.14 です。どのバージョンを利用す
るか判断するのは読者の皆さんですが、重要な違いは
CHANGES
ファイルにまとめておいたので参考にしてください。
sourceforge.org
は sunsite.unc.edu
(そして sunsite の
ミラーサイト全て)の /pub/Linux/kernel/pcmcia
にミラーされてい
ます。
PCMCIA ドライバを最初からコンパイルしなくても、最近の主要 Linux ディストリビューションのほとんどにはコンパイル済みのドライバが入ってい ます。このようなディストリビューションには、Slackware, Debian, RedHat, Caldera, SuSE, Yggdrasil などがあります。
[訳注: 国産ディストリビューションの大部分も含まれます]
このパッケージは Linux が動作する Intel ベースの PC のほとんどで動作す るはずです。Alpha ベースのプラットフォーム(つまり DEC Multia)でも動作 します。どちらのエンディアンでも完全に動くようにするための作業を現在行っ ており、これによって PowerPC ベースのプラットフォーム(つまり Apple Powerbook)でも動作するようになるでしょう。一般的な ソケットコントローラのほとんどをサポートしています。 サポートされているコントローラを使っており、SCSI-PCMCIA アダプタや IDE-PCMCIA アダプタを使わずにコントローラを直接 ISA バスや PCI バスに 挿している限り、デスクトップ機用のカードドックでも動作するはずです。 以下に挙げるコントローラは、パッケージ付属のソケットドライバが認識する ものです:
一般的には、i82365sl とレジスタ互換である他のコントローラも動作します。
32 ビット CardBus への対応は、まだいくらか試験的なものです。 バージョン 3.0 より前のドライバは、CardBus ソケット内の 16 ビット カードしかサポートしていません。ラップトップ機の技術の変化のペースが早 いため、新しいコントローラが頻繁に登場しますし、新しく市場に出たモデル にドライバが対応するのが遅れることがあります。
東芝は ToPIC95, ToPIC97 チップセットに関するドキュメントをいくつか公開 しましたが、提供された情報は十分ではありません。 相反する矛盾した報告が出ているにもかかわらず、東芝はこの状況を解決する 有効な取り組みをしていません。 Linx の ToPIC チップセットのサポートには重大なバグがありますが、これは 東芝からもっとまともな文書が出るか、東芝からの援助が得られない限りは 解決しないでしょう。現時点では、東芝のラップトップ機を使わないことをお 勧めします。16 ビットカードの場合は、BIOS の設定で ``PCIC'' への ブリッジモードを設定することをお勧めします。CardBus カードの場合には、 自力で何とかしてください。
Hyundai(現代)製のラップトップ機のいくつかが採用している Motorola の 6AHC05GA コントローラはサポートしていません。HP Omnibook 600 で使われ ている専用の PCMCIA コンローラもサポートしていません。
最新版には、さまざまなイーサネットカード用のドライバ、モデムカードや
シリアルポートカード用のドライバ、いくつかの SCSI アダプタ用のドライバ、
ATA/IDE ドライブカード、ほとんど のSRAM カードといくつかの Flash カード
で使えるドライバが入っています。各リリースの PCMCIA カードサービスに付
属の SUPPORTED.CARDS
ファイルには、少なくとも一つの実働システムで
の実績があるカードが全て記載されています。
リストにないカードが動くかどうかはカードの種類に依存します。ほとんどの モデムカードはこのドライバで動くはずです。ネットワークカードは、サポー トされているカードの OEM 版なら動くかもしれません。その他のタイプの I/O カード(フレームバッファ、サウンドカード等)は誰かが専用のドライバ を書かない限り動かないでしょう。
残念ながら、私がデバイスドライバを書いても一文の得にもなりません。
ですから、もしあなたの使いたいカード用のドライバが欲しければ、多分あな
た自身が何かしらの作業を行う必要があるでしょう。
理想を言えば、私は Linux カーネルのようなモデルで作業をしたいと思って
います。つまり、私が主に「コア(中心的な)」ドライバのコードを担当し、
他の作者の方々が特定カード向けのクライアントドライバを提供・管理するの
です。SUPPORTED.CARDS
では、現在開発が進行中のカードについても触
れています。私もできるかぎりのお手伝いはするつもりですが、カーネルの
デバイスドライバのデバッグを電子メールで行っても、あまり効率は上がらな
いことを言っておきます。
自社製品の Linux 対応への支援を考えているメーカーがあれば、相談の取り まとめをしますので私に連絡を取ってください。
私は Linux PCMCIA ユーザのためのデータベースとメーリングリストを運営し ています。私はごく最近、 Linux の PCMCIA 情報用の WWW ページを 「HyperNews」サイトに移しました。ここには Linux の PCMCIA に関する話題 を扱うメッセージリストをいくつか用意しています。メッセージリストには、 インストールと設定の話題を扱うもの、色々な種類のカードに関するもの、 プログラミングとデバッグの話題を扱うものがあります。Linux の PCMCIA 情 報のページは http://pcmcia.sourceforge.org にあります。ユーザは特定の質問に対する新しい返答があると電子メールで 通知を受けることができますし、特定の分野で新しいメッセージが投稿された 場合にも通知を受けることができます。私はこの HOWTO の範囲を超えるよう な質問に対して、このページが便利な情報収集の場になることを期待しています。
ラップトップ機の話題を扱う Linux 向けメーリングリストがあります。
``linux-laptop'' メーリングリストです。詳しい情報については、
本文に ``help'' とだけ書いたメールを majordomo@vger.rutgers.edu
宛に送ってください。このメーリングリストを購読するには、同じアドレスに
``subscribe linux-laptop'' と書いたメールを送ります。この
メーリングリストは Linux の PCMCIA に関する話題を議論するための良い
場所だと思います。
「Linux Laptop Home Page( http://www.cs.utexas.edu/users/kharker/linux-laptop)」には、 個別のラップトップ機を Linux で設定するための情報が書かれたページへの リンクがたくさんあります。システム設定情報を検索できるデータベースもあ ります。
私にとって、PCMCIA のバイナリを配布するのはとても大変だからです。 この作業は面倒なのです。というのも、コンパイル時にしか設定できない機能 もありますし、PCMCIA のモジュール類は「正しい」カーネルの設定に依存し ています。そのため、もしコンパイル済みのモジュールを配布しようとすれば、 対応するカーネルを添付するはめになるでしょう。この他にコンパイル済みの PCMCIA モジュールが必要とされる場合として、新しいマシンに Linux を インストールする時があります。この場合は普通、特定の Linux ディストリ ビューションのインストール処理に合わせてドライバを設定する必要がありま す。それぞれの Linux ディストリビューションには独自のインストール法が あり、一般的なドライバとディストリビューションを組みあわせた boot/root ディスクを用意することは私には不可能です。
PCMCIA は RedHat, Caldera, Slackware, Yggdrasil, Craftworks, Nascent Technology といった Linux の主要ディストリビューションに含まれるように なりました。
最初に弁解しておきますが、実際のところそんなに大きいわけではないですよ。
全てのドライバモジュールを合わせてもディスクを 500k ほど食うだけです。
各種のユーティリティ類がもう 70k 、/etc/pcmcia
が 50 k ほどで
す。動いている時は PCMCIA モジュールの core の部分がシステムメモリを
55k ほど取ります。cardmgr
デーモンは通常、カードが抜き挿しされた
時以外はスワップアウトされているはずです。パッケージ全体の規模としては
DOS のカードサービスとそれほど変わりません。
PCMCIA の特徴的な機能、すなわち省電力や活線挿抜を必要としない人々から 見ると、DOS の ``point enabler'' に比べて、まだかなりのオーバーヘッド があるように思えるかもしれません。``point enabler'' は確かに小さいプ ログラムですが、ごく限られたカードしかサポートしていませんし、使える PCMCIA コントローラも限られています。試しに本当に「汎用」なモデムの イネーブラを書いてみれば、多くのベンダーからリリースされているカードを サポートし、PCMCIA コントローラの違いにも対応するためには、結局 カードサービスの機能のほとんどをサポートしなければならないことが分かる でしょう。