▼DM9101を使用したNICにLEDを追加する▼ [正面図]

If you're searching for DM9101F, this is not the page, although it might show up first on the list. There is no device drivers etc for VIA nor DAVICOM chips here.
ここには VT86C100A や DAVICOMチップのドライバ等はありません。

Abstract

最近の安いネットワークインタフェースカード(NIC)には、コストダウンのため 各種表示 LED が省かれています。多くの場合、LSI自体に信号線は 用意されているので、手作りで LED を追加することも可能です。 今回は、メディア変換に Davicom DM9101F を使用している 100MBps NIC に送受信LEDを追加してみました。

$Id: Welcome.html,v 1.9 2000-03-06 17:29:43+09 kabe Exp $


観察

今回のお題は、メインLSI に VT86C100A("Rhine")、 100base-T変換にDM9101F を使用している、ナカガワメタルの TR-PCI-100 です。

VT86C100 は、RTL8139 とならんで安100Base-T NICにはよく使われている石ですので ご存知の方も多いと思います。

この NIC には LAN の動作を示す LED の類が全くついていません。 コストダウンのためでしょうが、あったほうが便利ですし 見ためが楽しい。

その後注意して見て回ったのですが、 エレコム("Laneed")、 メルコ("BUFFALO")、 PLANEX("pci") ブランドのNICでも、 VT86C100 + DM9101 という組合せが一般的でした。 DEC 21140 を使ったNICにも DM9101 が使われている場合があります。 結構定番の組合せらしい。安いんかな。

調査

そこで、まずは使われている LSI の仕様を調査し、LED がつけられそうか 検討します。

VT86C100に関しては、 VIA のWWW から 詳しい仕様書がダウンロードできます。

それでもデバイスドライバを書くには不足らしい。<LinuxやNetBSDの デバイスドライバのソース
この時点では、まだもう片方の LSI が何なのか良くわかっていなかったのですが、 この仕様書の応用回路例には100Base-Tに接続するための別の LSI が載っています。 VT86C100自体はメディア非依存であり、メディア変換チップをつけることにより 100Base-TやFDDIに対応させるようにできているようです。 DM9101はこのメディア変換チップらしい。

回路例にはこのメディア変換チップにLEDがつながっています。 確かにVT86C100側にはLEDに関するピンや設定項目はありません。

今度はもう片方のLSI、 DM9101Fの資料を探します。 詳しい資料は「メールすればあげるよ」と書いてありますが、 ピン接続図だけならWWWで見ることができます。 →DM9101Fのピン接続

これを見ると、右下の方に TXLED# などといった いかにもそれらしいピンがあります。 #は負論理を示す。つまり、

ピン]---抵抗---LED---Vcc
とすれば点灯することになります。

ドライブ能力が不明です。知りたきゃメールして仕様をもらえばいいんですが、 VT86C100の回路例では 510Ωを使用しているので、そのあたりだろう と見当をつけます。

回路図

[回路図]

Vccは、はんだづけのしやすさからいうと 93C46 (EEPROM) から引っ張ってくるのが 楽なんですが、なるべく出力チップに近い方がいいと思ったので DM9101Fの62ピンからとっています。

560Ωてのは単に手持ちの手頃な品です。470Ωではちょっと小さい気がしたので。

点線部分は、LINK LEDをコリジョン時に消灯、としようと思ったんですが、 LSIの出力がオープンドレインかどうか自信がなかったので配線していません。

製作

手持ちの LEDストックの中に、他に使い道のなさそうな三角頭のものがあったので、 これを2つ組み合わせて送受信LEDにしました。 間には、色的に干渉しにくい緑の角LEDをはさみ、LINK LEDにします。

色的に近いLEDを隣合わせに配置すると、消灯していても 隣が点灯していると光っているように見えることがあります。 緑と橙ではこの干渉が起こりにくいもよう。
他の人が製作する際は、アレイ型LEDを使った方が断然楽だと思います。
ので、最初は7セグメントLEDを使ってみようと思ったんですが、 手持ち品が古いせいか複数のセグメントを使うと 500Ω程度では満足に光ってくれません。 電流ブースト等はやりたくなかったので、あきらめ。

製作でもっとも難しいのは、フラットパッケージのLSIから配線を取り出す ことでしょう。工具と工作の腕に自身のない人はやめといたほうが無難です。 作例では、ラッピング線をランドにつけたあと、線をたばねて エポキシ接着剤で固めて補強してあります。(気やすめ)

1mm厚のバックパネルに穴を開けるのも意外と難工事です。 パネル工事の際は基板を切り離し、切りクズがつかないように気をつけましょう。

[できあがり写真1] [できあがり写真2]
(被写界深度が足らんなぁ…)

調整

PCに挿して、正常に動けばおわり。 動かない場合は、どこかショートしている可能性もあるのですぐに 電源を切って調べます。

DM9101はやたらに発熱しますが、これが正常です。(Ethernet用の石ですから)。 不安な人は、改造する前に発熱の具合を確かめておくといいでしょう。

応用

LEDは、バックパネルではなくフロントパネルに持ってくればさらに楽しめます。 LSI の出力を長々とひきまわすとノイズを拾いそうなので、 バッファなりアイソレータなりをかますほうがいいかもしれません。

その後

2ヶ月ほど快調に動いてたのですが、そのうち 「送信はできるが受信できない」状態に。 診断プログラムを走らせるとループバックで引っかかる。

…合掌

LEDつけたことが原因だとは思えんので、単に運が悪かったんでしょう。 このNICはコンパクトなので (ブートROMソケットがないため) 結構お気に入りだったのですが

おまけ

附属のデバイスドライバは、 VIA から提供されている OEM用のパッケージが そのまま配布されているみたいで、インストールすると "PCI Fast Ethernet Adapter" などとやる気のない名前で表示されます。 (本来はベンダが OEMSETUP.INF を書き換えて出荷する)

ので、"VT86C100A" などと、もう少しわかりやすい表示をする OEMSETUP.INF を作ってみました。 パッチで配布すべきなんでしょうけど、Windowsでは patch は 一般的ではないので まるごと配ります。 VIAから バージョン 2.27 のドライバ (100v32.exe) を入手し、 winnt40\ 以下に放り込んでからインストールして下さい。

その後、動作確認用にplanex製のNICを買ったのですが、 同梱のドライバはちゃんと"FNW-9700"に書き替わっていました。 メーカーによるんでしょう。(そりゃそうだ)

kabe@sra-tohoku.co.jp