« September 2008 | Main | December 2008 »

October 13, 2008

FreeBSD SIS191 Ethernet Driver

Asus の P5SD2-VM というマザボ。
省エネな SIS672 & SIS968 チップで安価。
たぶん、自宅のサーバで使っているレガシーなマザボより 10W は下がる。
という理由で買ってしまった。

…が、FreeBSD 7.0 Release で NIC が認識しなかった(涙)

ドライバを探してみるに、
http://www.nabble.com/New-NIC-driver%3A-sis190-td16955262.html
http://pohoyda.gmxhome.de/sis190-freebsd-7.tar.gz
というのがあった。

ラッキーとか思いつつ使ってみる。…が、認識しない。

諦めずに1日クッキング。

罠が多かった・・・&ドライバのデバッグって再起動で時間かかる・・・

  • 認識しない
    たぶん、2か所位を修正だったような・・・
  • kernel panic
    detach のお作法のバグ
  • DMA関係で挙動が変
    load するとハードディスクへのアクセスが死ぬ。たぶん、interupt 周りが変なんだろう?と、新旧ソースコード混ぜて変更してみる。ひとまず解決。直っているのか、いまいち不安。
  • mac address が取得できない
    eeprom経由ではなくAPC CMOS RAMから取得する様に変更。ちゃんと確認してないけど、取れてるっぽいので、ひとまずOK。このCMOSから取り出す番地情報(?)だけは、GPLのLinuxコードから引っ張ってきて、参照ロジック自体は元々のif_sis.cからコピー。これってGPL上、どうなんでしょうね??

で、多少怪しいけど動く様になったので、しばらく放置。DEVICE_POLLINGとか、ちゃんと確認しないといけないような・・・?

追記: こんな良いページがあったとは・・・
Free NIC drivers for Solaris http://homepage2.nifty.com/mrym3/taiyodo/eng/

ソース全体の公開はせず、パッチだけ保存。

patch.zip

MSC-NPD11 R1 みたいな atom + sis チップなパソコンが普及するといいですね。既存パソコンのケース流用の入れ替え用とかで。

| | Comments (0)

« September 2008 | Main | December 2008 »