Planex FNW-3603-TXをTurbolinux8workstationで使うために。

 結論だけ読みたいせっかち野郎はここをクリック

 このページは、Let'sNote CF-A44J8にTurboLinux8workstation(ker:2.4.18-1)をインストールしたとき、設定に苦労したCardbus Lanカード、Planex FNW-3603-TXの設定についてまとめたものです。

 2003年春には、Dos/V機でもLANポートが標準されるマシンが大半となり、あまり参考にならないかもしれません。しかし、ノートPCの場合は、内蔵LANチップがLinuxでサポートされていないような場合にはCardBusタイプのアダプターを使うしかありません。その時に、価格の安いこのカードは魅力的であると思う。そして、そんなユーザーの多くが同じ壁に当るかもしれないので、同じことで時間を浪費することのないように書き留めておきます。

 この環境と違う場合にあてはまるかどうか分かりませんので、ご自身の環境でどうなるかは私にも分かりません。私のテストした環境は下記の通りですので、参考にどうぞ。

  1. panasonic Let'sNote CF-A44
  2. メモリ194M
  3. 4.3GHD
  4. win98
  5. ループバックインストール
  6. TurboLinux8workstation パッケージ版(カーネル2.4.8-1)


●winでなら快適そのもの

fnw-3603-TX box 2002年12月にこのPCカードタイプのLANカードを購入した。中古で購入したPanasonic Let'sNote CF-A44J8をルーター経由でインターネット接続するためだ。価格は2800円。ほぼ同じ価格帯で他のメーカーの製品もあったが、このカードにしたのはLinuxReadyと書かれ、ペンギンの絵が書いてあったため。しかも、箱の後面には、「動作確認Linuxディストリビューション」として、Turbo Linux6.0、RedHat Linux7.1がリストされていて、「Linuxでのインストール方法についてはwebページ上で公開しております。」とも書いてある。

 その頃は、特にLinuxをインストールする気もなかったが、以前、CompaqContraAEROにSrackwareをインストールしたものの、LANカードを入手できずに涙を飲んだ記憶があったので、「同じ値段なら使うかどうか分からなくてもLinux対応の方がいいだろう。もし、いらなくなったときにオークションに出すにしても、セールスポイントになるかもしれないしな」といった軽い気持ちだった。これが、後で苦労するはめに陥るとは夢にも思わず帰ったのだった。

 win98での使用には全く問題は無かった。付属のFDからドライバをインストールするだけで機嫌良く動いてくれた。win98で使う分にはまったく不満のない製品だと思う。俺はwin98で使ったが、2000やxpでも問題はないだろう。

●ことの起こり

 ところが、2003年の3月になって、Turbo Linux8workstationをオークションで入手。StarSuiteというアプリケーションを使ってみたかったのだ。モダンなLinuxを使ってみたくなったこともある。このパッケージには商用のATOKXやリコーの日本語フォント、StarSuite6.0まで入っている。これだけ入っているのに、単体のパッケージ一つより安かった(標準小売価格ベースではないが)。これによって状況は一変した。

 手持ちのPCのうちLinuxをインストールできそうなのはLet's Noteしかない。そこで、2G程度残ったHDの空きエリアにループバックでインストールしてみたが、このカードが認識されない。LANに繋がらないのだ。/var/log/messagesにはエラーメッセージが表示され、netcfgでもインターフェースが起動できないといわれる。

linux ready この時点では、特にあわてていなかった。「そういうこともあるかと思って、このカードにしたんだ。サイトに行けば情報とドライバソフトが置いてあるはずなんだから。」と、iMacに向かった。しかし、見当たらない。Realtekというメーカーのrtl8139cというチップを使っているということしか分からない。「『webページ上で公開』しているというのは、これのことか?」と、怒りながらgoogleで検索した。

 様々なサイトを見て回るうちに、同じトラブルに見舞われている人が多数いることが分かった。realtek8139cというコントローラーチップがPCI・LANカードにも使われていて、同じ名前のドライバ8139tooが存在するということも原因の一つのようだ。CardBusの扱いもカーネルのバージョンやpcmcia-csのバージョンによって異なることも大きいらしい。初心者には良く分からないが、pcmcia-csのバージョンをあげたら認識された。とか、add.confにカードのid等を入れるだけでよかった等、初心者には混乱することばかりだった。

 何件か成功例を発見したが、どうも違う。出力されているメッセージが違う気がした。というか、違っていた。どうやら、TL7とTL8とでは、というかカーネル2.2と2.4とではPCカードスロットのドライバが違っているようだということが分かった。成功例の多くは2.2系のpcmcia-csによる解決のようだった。realtek_cbというドライバを使い、設定ファイルにこの機種の記述を追加するというものだった。しかし、俺の環境にはrealtek_cbというドライバソフトは存在しなかった。2.4ではpcmcia-csではなく、murasakiというドライバ(モジュール?)がCardBus、hot plug全般を司っているらしいことがわかった。そして、turbolinux8workstationがplanexの動作確認ディストリビューションに該当しないことが分かった。だから、対応ディストリビューションに「Turbo Linux 6.0以上」とは書いてなかったのか....

 そこで、2.4系の成功例を求め、googleの検索結果を一つ一つ見て回る。ついに見つけたのが、このサイトTurboLinuxでLAN PCカードを使う。このページの方は2.2のようなので、俺には直接関係する情報は無かった(まねしてコンパイルしても通らなかった・・・)が、決定的なソースへのリンクを発見した。

結論:こうやったら認識された。

 そのplanex FNW-3600-TXドライバはこれ

 使い方は簡単。ダウンロードして解凍したもの※を置いたディレクトリでコンパイル・インストール(ターミナルでmake,make install)。

 これでは、コンパイルしただけなので、モジュールのinsmod mii、insmod 8139tooとしてモジュールを起動。/var/log/messagesを確認すると、murasakiが文句を言っているはず。

 murasakiが出した指示にしたがって、/etc/murasaki/pcmcia.mapに一行追加。LANカードを抜いてから挿しなおす。ネットワーク設定で確認したら起動しているはず。

※俺の場合は、コマンドを使いこなせないので、winで起動したLet'sNoteでダウンロードし、FDに解凍したものをlinuxで再起動後にmcopyで取り込んだ。

●学んだこと:

 これは文化なのかもしれないが、同じ名前のソースファイルが存在し、それぞれが微妙に違い、機能も違うらしいということが分かった。Macなら、便利なソフトがあったら、「XXXXを探したらいい」でよかった。せいぜい「PPCで使うならバージョンはZZ以上」という程度補足すればよかった。しかし、linuxの場合は違う。Aさんが使った8139too.cというソースコードが、Bさんが見つけたものと同じという保証は無い。テキストでしかないソースにはファイルの日付も存在しない。困ったときは、ソースをエディタで開いてコメントを読むしかない。これがオープンソースの複雑さなのかもしれない。

 また、いくつか試したソースファイルのうちコンパイルに成功したのはこのソースだけだった。realtekwww.scyld.comにも、それらしいソースはあるが、コンパイルできなかった。単に、オプション等を入れ間違えているか、コンパイルに必要な環境を整えてないだけかもしれない。コンパイルできる環境がフリーで手に入るのはすごいが、初心者にはイメージが湧きにくい。

 linuxの世界では、上位互換性は保証されないということを思い知らされた。6で動くからといって、8で動くという保証はないらしい。もちろん、pcmciaよりCardBusのほうが速度も速いはずだし、hotplugの安定もいいらしい(2.2でhotplugがうまくいかないという報告が多数あった)から、バージョンアップすることはメリットがあるのだろう。


countersite started Apr.19, 2003、panhead@draconiaweb.org