2.27.2009

ドライバー難民

最近のPCの安さもあって、ちょっとした自宅サーバー用のマシンが欲しくなり、ShuttleのPCベアボーンキットを購入しました。 Shuttle G2 6800, CPU: AMD Athlon X2 4850E という省電力なのに、いざというときパワーもしっかり出る構成で、求めてるのにピッタリでした。


http://www.shuttle-japan.jp/Product/system/product/sn68sg2/G2_6800.html


自分で組み立てれば、39,800円です。 めちゃ安い。
モニターは、ヤフオクで買って、送料含め 4,500円程度です。

PCの組み立て自体は、かなり簡単に出来ました。 CPUクーラーも、Shuttleが提供するヒートパイプ式CPUクーラーで、かなり静か。 CPUに付属してるCPUクーラーは使わず、ゴミと化している。

組み立て完了後、BIOS確認。 特に異常なし。 OSなしもかわいそうなので、早速、Solaris 10 x86/x64 入れてみました。 何のエラーもなく、順調にインストール終了。 起動時に、sendmailのエラーが出るのは、まあドメインの設定でしょ、と思ってたのもつかの間。 確認用に上げたブラウザから、「接続できません」とのエラーが… "ifconfig -a" を叩くと、余裕で、 lo0しか表示されてません。 (つまり、ネットワークデバイスが認識されてないってこと。)

めんどくさいですが、予備に持ってた「OpenSolaris」で再度挑戦。 結果、failed...

どうも、今現在、このOS達が持っているドライバーでは、この構成には対応できないみたい。
http://www.shuttle-japan.jp/Product/system/product/sn68sg2/G2_6800-Specs.html

とりあえず、仕様表では、MARVELLのカードを使ってるっぽかったので、88E1116を頼りに検索。

# MARVELL 88E1116
# Built-in 10/100/1000BASE-T Gigabit Ethernet (RJ-45 connector)

合致しそうなドライバーを試してみましたが、いずれもFail。

適合するドライバーは、どれ? もう、他のカードを買ってやろうかという気持ちもすこし芽生えていましたが、もうちょっとがんばって、一からGoogleで探すことにしました。

(こっからは、ある意味、自分メモ)

気を取り直して、再度、入れなおしたSolaris 10から、"/usr/X11/bin/scanpci -v" と "prtconf" 叩いてみる。 Ethernetの項目には、しっかりと、nVidia Corporation MCP67 Ethernetの表示が・・・
MARVELの表示はカケラもありません。 

=================================================================================
# /usr/X11/bin/scanpci -v

nVidia Corporation MCP67 Ethernet
Card Vendor 0x1297 card 0x3114 (Holco Enterprise Co, Ltd/Shuttle Computer, Card, unknown)

Status 0x00b0 command 0x0007
CLASS 0x02 0x00 0x00 revision 0xa2
BIST 0x00 HEADER 0x00 LATENCY 0x00 Cache 0x00

# prtconf -pv

Node 0x000015
assigned-addresses: 82005010.00000000.fe02b000.00000000.00001000.81005014.00000000.0000d800.00000000.00000008.82005018.00000000.fe02a000.00000000.00000100.8200501c.00000000.fe029000.00000000.00000010
reg: 00005000.00000000.00000000.00000000.00000000.02005010.00000000.00000000.00000000.00001000.01005014.00000000.00000000.00000000.00000008.02005018.00000000.00000000.00000000.00000100.0200501c.00000000.00000000.00000000.00000010
compatible: 'pci10de,54c.1297.3114.a2' + 'pci10de,54c.1297.3114' + 'pci1297,3114' + 'pci10de,54c.a2' + 'pci10de,54c' + 'pciclass,020000' + 'pciclass,0200'
model: 'Ethernet controller'
power-consumption: 00000001.00000001
66mhz-capable:
fast-back-to-back:
devsel-speed: 00000000
interrupts: 00000001
max-latency: 00000014
min-grant: 00000001
subsystem-vendor-id: 00001297
subsystem-id: 00003114
unit-address: 'a'
class-code: 00020000
revision-id: 000000a2
vendor-id: 000010de
device-id: 0000054c
pci-msi-capid-pointer: 00000050
name: 'pci1297,3114'
=================================================================================

先にこっちをちゃんと見てればよかったと思いつつ、今度は、「nVidia MCP67」で、検索っす。

すると・・・、しっかり登録されてましたよ。

http://bugs.opensolaris.org/view_bug.do?bug_id=6775313
http://bugs.opensolaris.org/view_bug.do?bug_id=6638017
http://defect.opensolaris.org/bz/show_bug.cgi?id=4803

しかも現時点で、直ってないし。 そりゃ、繋がらないよね~。 この時点で、かなり、めんどくささMAX。

唯一の希望、回避策っぽい記載で載っていた Murayama-sanのドライバーを探索。
http://homepage2.nifty.com/mrym3/taiyodo/eng/

[17. nfo driver for NVIDIA nForce chipset built-in ethernet controller]

おお~、記載が、モロ、うちの構成に合致。 気分は、もう、無人島に現れた唯一の希望のよう。(通りがかった船とか) 

nfo-2.6.3.tar.gz for all generations of nForce chipset series, alpha test version

alphaバージョンですが、背に腹は変えられず。 試します!!

READMEにビルド方法も、テスト方法もキッチリ書いてあって、迷うことなくインストールできます。 (ファイル自体を移動するのに、CD-R(W)は必要)

すると・・・、繋がりましたっ!!! 

最終的には、/lib/svc/method/net-physical をちょっと変更したりしましたが、全く問題なく、Netに繋がってくれています。

Murayama様、本当にありがとうございました。

0 件のコメント: