PCカード(CardBus)型NICの認識

 昨日、FLORA230へのインストール時にハマったこともあり、改めて検証作業を行う。

 とりあえず、問題がFLORA側なのか、NetBSD側にあるのかを切り分けるために、ThinkPad 560を引っ張り出して、改めて動作を確認してみることに。

 色々と試してみた結果、結論としてはやはりFLORA230でも、TP560でも32bitのCardBusカードは動作しないようだ。以前、IntelのPro/100 CardBusが動いたよーな気がしたんだけど、何か勘違いしてたっぽい(^^;)。

 で、今回、色々と試してる中で、覚えたtipsをめも。

 NE2000互換の10Base-T ONLYのNIC(16bit PCカード)を使うにあたっては、ifconfigでmediaタイプを設定する際、デフォルトのautoselectではなく、manualを指定しなければ動かないデバイスがあった。
 デフォルトでは大概、autoelectになっており、当初FLORA230で16bit PCカードが認識しなかったのも、これが原因だった(苦笑)。


 このNE2000互換デバイスの扱いに関しては、他にも微妙に仕様が変わっているようで、2.0.2の時、NE2000互換デバイスとして問題無く認識されていたPLANEXのCF型LANカード CF-10Tが3.0では認識されなかった。


 また、これはFLORA230固有の問題かもしれないけど、2スロット以上のカードスロットがある場合、先頭のスロットが空の状態で、二番目のスロットにNICを挿入すると、システム起動時にネットワーク関係でハングる場合があった。

 どうも、起動時の処理追ってくと、

  1. CardBusの初期化
  2. CardBusのタイムアウト待ち
  3. 16bitカード認識・初期化

と言う処理を先頭のスロットから順番に行っているみたい。
 で、CurdBusのタイムアウトを待つってのが問題で、どうもその間にシステムの起動が進み、ネットワーク関係のデーモンが動き出すまでの間に、デバイスの初期化が間に合わないみたい。
 上下の厚みが出っ張るドングル付のNICを使ったりする場合、マシンの形状次第で、必ずしもシステムのスロット番号順にデバイス挿すとも限らない訳で、ちょっと気をつけた方が良いかもしれない。

NetBSD3.0 PCカードNIC 動作確認表

・動作
  • ne2
    • BUFFFALO LPC3-CLT [10M]
    • corega PCC-TD [10M]
    • Accton EN2216-1 [10M]
    • ELECOM LD-CDL/TX [10/100M]
    • PLANEX CF-100TX [10/100M] 注1
  • cs1
    • IBM EtherJet 72H4041/72H5163 [10M]

注1 起動時、device timeout。システム起動後に追加した場合は動作する。

非動作
    • TDK LAK-CF010 (10) 注2
    • Intel Intel EtherExpress PRO/100 モバイル・アダプタ [10/100M](CardBus)
    • corega CG-LACBGTD [10/100/1000M](CardBus)
    • BUFFFALO LPC3-CLX [10/100M]
    • BUFFFALO LPC4-CLX [10/100M] 注3

注2 デバイス名、xirc0までは認識。
注3 ne2デバイスとして認識するものの、MACアドレスを取得出来ない