NICにLEDを追加する


いまご覧のWEBサーバーでは、NE2000互換の安っちいネットワークカード(NIC)を使っている。こいつは、プラットホームで3000円程度で買ったもので、NE2000互換としてはやや割高だ。似たようなものなら、もっと安いものは他にも幾らでもあるのだが、FreeBSDで使うためには、ジャンパーでIOアドレスや、割込みの設定ができなければ不便である。何故なら、PnP機能は使えないし、ソフトウェア設定だと、DOSなどからでないと設定できないからだ。そのため、ジャンパー設定が出来るというのは大変重要なことなのだ。

よく出回っているこの手の安いNE2000互換NICは、殆どがRealTekという台湾のメーカーの、ワンチップイーサーネットコントローラーを使用している。そして、10Mbpsのもので、ISAバス用、PnP機能がついているて、価格的に2000円程度のNICなら、大半がRTL8019ASというチップを使っているようだ。おなじみの?「蟹さんマーク」がついた100PinのQFPが、それである。詳しいデータシートは同サイトからPDFで見られるが、こいつはよく出来ていて、ワンチップでISAバスに直結でき、PnPやら諸々の機能も内蔵していて、外付け部品は殆ど要しない。低価格なNICにはもってこいであろう。



で、こいつを使ったネットワークカードを買ってくると、裏側に動作確認用のLEDが1個か2個ついているのが普通である。一つはリンク確認用、もう一つは、キャリア確認用とされている場合が多い(1個の場合は兼用)。前者は、正しく接続された時に常時点灯し、後者のLEDは、キャリアが検出されたときに点灯する。ところが、イーサーネットでは、一つのセグメントを流れる全てのパケットが、全ての端末に分配されるため、キャリア確認用のLEDは、自分が出したパケットに限らず、そのセグメント内を行き交う全てのパケットに対して反応する。そのため、自分がいつパケットを出しているかということは、これらのLEDからは知ることが出来ない。

しかし、自分の計算機はいつパケットを出しているかという情報も知りたくなるのは、サーバー管理者として自然のことであろう(本当かい)。そこで、自分が送信している時にだけ点灯するLEDを取り付けてみることにした。幸いにも、RTL8019ASにはLED_TXというピンがあり、ここにLEDを繋げるだけでOKなのだ。ちなみに、RTL8019ASのLED出力ピンには、以下のようなものがある。(補足:CONFIG3 RegisterのLEDS1が0でないと、このように動作しないようだ)

PinName説明
61LED_LINKリンク確認
62LED_RXパケット受信 (100msヒステリシス)
63LED_TXパケット送信 (100msヒステリシス)


ということで、実際にやってみた。



まず、RTL8019ASの63ピンに、細い線を半田付けする。



この出力は5Vで振るので、LEDに直接繋いでは行けない。抵抗を1本かまして、外部のLEDを接続できるよう、端子を取り付けた。最後に、外れないようホットボンドで固定してある。



で、実際にPCに繋いでみたところ。ケースについていた Turbo のLEDが未使用の状態になっていたので、これを流用して繋いでみた。すると、サーバーがデータを送信すると前面パネルのLEDが光るので、とっても綺麗...例えそれが無意味な物であっても、キラキラと光るものは美しい。ついでに、LED_RXのピンも引き出して、2色LEDなんかに繋いだら、もっと面白いかもしれない。(受信は緑、送信は赤、同時に来たら橙、とか)

特に意味はないが、一応回路図...




# お約束ですが、この改造によりNICを壊しても、突撃実験室は一切担保しません。
# また、RTL8019ASを用いた全てのNICで有効であるとは限りません。



インデックスへもどる