Davicom NIC が dmfe ではなく tulip で認識されてしまう問題
Posted by yoosee on Debian at 2006-03-15 23:42 JST1 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 daemonudev のデバイス認識→ドライバのロード部分を修正する必要があるが、回避策としては /etc/modprobe.conf に
blacklist tulipと書けとのこと。これを追記して再起動した限りに置いては、問題無く始めから認識してくれるようだ。やれやれ。