*1  Davicom NIC が dmfe ではなく tulip で認識されてしまう問題

kernel 2.6.8 では問題無く認識されていた Davicom DM9102 NIC が、2.6.15 では起動時に 正しく認識されないという問題が出た。
ACPI: PCI Interrupt 0000:02:0b.0[A] -> Link [LNKD] -> GSI 9 (level, low) -> IRQ9
tulip0:  MII transceiver #1 config 1000 status 782d advertising 01e1.
eth0: Davicom DM9102/DM9102A rev 64 at 0001b400, 00:09:2C:28:01:AF, IRQ 9.
dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17)
どうも dmfe だけでなく tulip ドライバが読み込まれてしまっているようだ。 # rmmod tulip && rmmod dmfe && modprobe dmfe とすると使えるようになる。
dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17)
ACPI: PCI Interrupt 0000:02:0b.0[A] -> Link [LNKD] -> GSI 9 (level, low) -> IRQ 9
eth0: Davicom DM9102 at pci0000:02:0b.0, 00:09:2c:28:01:af, irq 9.
ちなみにこれは discover1-data の時にもあった問題(Bug#326723: Davicom ethernet controller gets tulip instead of dmfe)らしいのだが、/etc/modules に dmfe を足すやり方では駄目だった。

起動時はこの通りの状況なのだが、起動終了後に rmmod して discover-modprobe を走らせると tulip を読まずに dmfe だけを正しく呼んでくれる。lspci -n の結果
0000:02:0b.0 0200: 1282:9102 (rev 40) 
と /lib/discover/pci.lst の内容
  12829100   ethernet   tulip   21x4x DEC-Tulip compatible 10/100 Ethernet
  12829102   ethernet   dmfe    21x4x DEC-Tulip compatible 10/100 Ethernet
を付き合わせてもちゃんと dmfe が呼ばれているようだし、/etc/discover-modprobe.conf に skip="tulip" を入れても効かないところをみると、そもそも discover の問題ではないのかもしれない。
ii  discover      2.0.7-2.1      hardware identification system
ii  discover-data 2.2005.02.13-1 Data lists for Discover hardware detection system

*2  udev の問題

その後「rm tulip.ko すればいいのでは」という素晴らしい提案を頂いたりもしたが、全く同じ構成のシステムで linux 2.6.7-1-686 では問題無く起動するのが linux 2.6.15 では駄目だというのが怪しいと思って色々調べた結果、先ほどの discover1-data の Follow-up 記事 Bug#326723: acknowledged by developer (Bug#326723: fixed in discover1-data 1.2005.09.25) を見付けた。これによれば、現在のシステムでは discover ではなく udev が tulip を呼んでいるらしきことが書いてある(故に discover を使う 2.6.8 では問題が出なかったのだろう) 。
ii  udev           0.086-1        /dev/ and hotplug management daemon
udev のデバイス認識→ドライバのロード部分を修正する必要があるが、回避策としては /etc/modprobe.conf に
blacklist tulip
と書けとのこと。これを追記して再起動した限りに置いては、問題無く始めから認識してくれるようだ。やれやれ。

( Permalink | Comments (0) | tags: boot  )
 自宅サーバのネットワークI/Fのコネクタが駄目になったっぽいとか思って放置していたけど、なんとかモニタをつなげて調べていたら、どうもKernelに問題があるみたい。3.2の時に使っていたKernelで起動するとちゃんと動く。 (ちなみに、コネクタが駄目っぽくなったと思ったのは、抜いたり差したりすると何度か認識したから)...
Comments

Please write your comment. email address won't appear. Cannot use any HTML tags in comment.
コメントをお書き下さい。メールアドレスは公開されません。 またHTMLタグは利用できません。
Name   E-mail   URL
Comment

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

このエントリーのブックマーク

Monthly Archives

Select Month to read