前のページ 次のページ 目次

4. 特定のカードに関する問題

4.1 なぜ私のモデムは動かないんでしょう?

これは漠然とした質問ですね。以下に簡単なトラブル回避策を示します

4.2 なぜ私のイーサネットカードは動かないの?

もう一つ、簡単なチェックポイントを示します。

以下は特定のカードについてのコメントです:

4.3 トランシーバーのタイプを指定する方法は?

トランシーバーのタイプは network.optsIF_PORT を 指定することで選択できるようになりました。指定は以前のバージョンのよう に数字でも、トランシーバーの種類を示すキーワードでも可能です。全てのネッ トワークドライバが、可能ならばインターフェースの種類を自動検出し、自動 検出できない場合は 10baseT になるように、デフォルトでは指定されていま す。ifport コマンドを使えば、現在使用中のトランシーバーの種類 を設定したり、調べたりできます。以下の例では eth0 のトランシー バーを 10base2 に指定しています。


# ifport eth0 10base2
#
# ifport eth0
eth0    2 (10base2)

現在の 3c589 ドライバは接続しているネットワークを自動的に検出するよう になりましたが、この機能はまだ完全ではありません。自動検出がうまくいく ためには、カードが設定される際にネットワークケーブルが接続されていなけ ればなりません。ネットワークに接続後、改めて設定しなおすには以下のよう にします。

ifconfig eth0 down up

4.4 NE2000 互換のイーサネットカードを使うには?

まずカードが cardmgrに識別されているか調べてください。 SUPPORTED.CARDS の中には入っていないカードでも、実際にはサポー トされているカードの OEM バージョンのことがあります。このようなカード を見つけたら私に連絡してください。リストに追加します。

もしお使いのカードが識別されない場合、 3.6 節に従って、config ファイルにあなたのカード用のエントリーを作る必要が あります。カード内部の設定を読み取る必要があるので、まずは、メモリカー ド用のドライバ pcmem_cs を使うように設定 (bind の項目)します。 設定後、cardmgr を再起動(kull -HUP)して修正した config ファイ ルを読みこませます。

カードのハードウェア的なイーサネットアドレス(MAC アドレス)も知る必要が あります。このアドレスは対になった 16 進数 6 つ組からなっており、たい ていカード本体に書いてあります。もしカードに書いてなければ DOS のドラ イバを使ってアドレスを調べることができます。とにかく何らかの方法で見つ けて、

dd if=/dev/pcmem0a count=20 | od -Ax -t x1

を実行し、カードのアドレスに対応する部分の出力を調べ、アドレスの最初が 16 進のオフセットでいくらになるかを記録しておきます。次に modules/pcnet_cs.c を調べて、 hw_info の構造体を定義 している部分を見つけます。この構造体の中にあなたのカード用のエントリを 作らなければなりません。最初のフィールドはカードの名称、二番目のフィー ルドは 16 進のオフセットを 2 倍したもの、つぎの 3 つのフィールドはカー ドのハードウェアアドレスの最初の 3 バイトです。最後のフィールドは特定 の機能の有無を示すフラグで、最初は 0 にしておきましょう。

pcnet_cs.c を修正したら、新しいモジュールをコンパイルしてイン ストールします。/etc/pcmcia/config を再度修正して、そのカード 用のエントリを pcmem_cs から pcnet_cs に変更します。 cardmgr を再起動して設定ファイルを読みこみなおせば完了です。 作成された hw_info と config のエントリをぜひ私あてに送ってく ださい。

もし 16 進ダンプからカードのハードウェアアドレスの位置を見つけられなけ れば、最後の手段として、pcnet_csモジュールの初期化の際にハー ドウェアアドレスを直接書きこんでしまう方法もあります。 /etc/pcmcia/configを修正して、hw_addr= オプションを:

module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"

のように指定します。もちろん、 ``hw_addr=.. '' の部分にあなた のカードのハードウェアアドレスを指定することは言うまでもありません。

4.5 3Com 3c562 のような多機能カードの設定

1.3.73 以降の新しいカーネルならば、複数の機能を持つカードの機能を同時 に利用できるようになりました。

古いバージョンのカーネルでは、異なるデバイスドライバの間で割り込みを共 有することはできなかったので、PCMCIA ドライバでも、このカードをイーサ ネットとモデムとして同時に使用することはできません。イーサネット用のド ライバとシリアル用のドライバの双方が自動的にロードされますが、デフォル トではイーサネット用のドライバが優先して割り込みを取ります。モデムを使 うには、イーサネット用のドライバをアンロードして、以下のようにシリアル ポートを再設定します。

ifconfig eth0 down
rmmod 3c589_cs
setserial /dev/modem autoconfig auto_irq
setserial /dev/modem

2 度目の setserial コマンドは、そのポートが以前はイーサネット ドライバが使っていた割り込みを使うように正しく設定されているか確認のた めのものです。

4.6 PCMCIA フロッピーインタフェースの使い方は?

Compaq Aero や他のいくつかのラップトップ機で使われている PCMCIA のフロッ ピーインタフェースカードは現在の PCMCIA カードサービスではサポートされ ていません。Aero の PCMCIA フロッピーカードには、DMA をサポートするた めに専用の PCMCIA コントローラを使っているという問題があります。このコ ントローラがどのように DMA を制御しているのかが正確にわからない限り、 Linux でサポートすることはできません。

Aero の場合、起動時にフロッピーアダプタカードが接続されていれば Aero の BIOS がカードを設定し、Linux からは通常のフロッピードライブとして利 用できます。PCMCIA ドライバがロードされた時、そのカードは既に設定済で Linux の(フロッピー)ドライバと接続されていることが分かるはずで、カード が挿さっているソケットの設定は変更されません。すなわち、FD カードが起 動時に挿入されていればフロッピーデバイスは使用可能ですが、そのカードは 抜き挿しできないことに注意してください。

4.7 Xircom 製のカードのサポートはどうなっていますか?

Xircom は秘密保持契約 (non-disclosure agreement) を結んだベンダにのみ 自らのカードの技術情報を公開しています。そのため、自由に配布できる Xircom カードのドライバを作るには DOS ドライバをリバース・エンジニアリ ングするような法的に疑わしい方法を取るしかありません。

最近 Xircom 社は秘密保持契約の方針を変更しつつあり、将来には必要な情報 がより入手しやすくなるかも知れません。しかし Xircom 社のカードについて の問い合せは御遠慮ください。ドライバが使えるようになればアナウンスしま すが、いつごろになるかは全くわかりません。

Xircom 製の CreditCard Ethernet+Modem II カードは特別な設定をしなくて も modem としては Linux で使えます。


前のページ 次のページ 目次