はじめまして。
過去のメールなどを参考にしながら素人考えでいろいろとやってみたのですが、
どうにも行き詰りました。
根本的に考え違いをしているかと思いまして、ご意見を伺えれば幸いです。
手元に富士通のFMV-C601とFMV-K601という型のパソコンがあります。
http://www.fmworld.net/biz/fmv/annc/linux/chip_info_desktop.html
ここを見ると、どちらもほぼ同じ内容物で、Soundがちょっと違いますが、
NICに関しては全く同じ「Intel 82801DB + Intel 82562EX」と書かれています。
ところが、K601の方は、e100として正常に利用できるのですがC601の方は
うまくいきません。
KNOPPIXは、knoppix_v3.6_20040816-20040914.isoを使っています。(一部の
パッケージを削除しています。)
富士通の以下のページでは、RedHat 9で、どちらでも同じように動作すると
書かれています。(いま、RedHat 9のCDイメージをダウンロードして、バージョン
などを確認しようとしていますが…ダウンロードが遅い…)
http://www.fmworld.net/biz/fmv/annc/linux/03_Summer/dt_c601.html
http://www.fmworld.net/biz/fmv/annc/linux/03_Summer/dt_k601.html
考え付くだけの情報を拾ってみましたので、以下に書きます。
どのようなことをすれば、良いでしょうか?
それと、基本的な仕組みを知らないのですが、おそらくは、lspciで表示される
8086:103b(ベンダIDとデバイスIDとでも言うのでしょうか?)は、lspci -xxxnで
表示される内容の始めの4バイトを見ているのではないかと思うのです。
しかし、この部分もffになっているのですが、これはどういう状態なのでしょうか?
それともこのIDはもっと別の方法で読み取っているのでしょうか?
よろしくお願いいたします。
C601では、以下のような状態です。
# lspci -s 2:8
0000:02:08.0 ffff: Intel Corp. 82801BD PRO/100 VM (LOM) Ethernet Controller
(rev ff)
# lspci -vn -s 2:8
0000:02:08.0 ffff: 8086:103b (rev ff) (prog-if ff)
!!! Unknown header type 7f
# lspci -xxxn -s 2:8
0000:02:08.0 ffff: 8086:103b (rev ff)
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
# lspci -t
-[00]-+-00.0
+-02.0
+-1d.0
+-1d.1
+-1d.7
+-1e.0-[02]----08.0
+-1f.0
+-1f.1
+-1f.3
\-1f.5
# hwsetup -v -n(の一部)
class: OTHER
bus: PCI
device: (null)
driver: e100
desc: Intel Corp.|82801BD PRO/100 VM (LOM) Ethernet Controller
# lsmod
Module Size Used by Not tainted
i810_audio 25048 0 (unused)
ac97_codec 11916 0 [i810_audio]
soundcore 3428 2 [i810_audio]
serial 52100 0 (autoclean)
pcmcia_core 39840 0
thermal 6724 0 (unused)
processor 9008 0 [thermal]
fan 1600 0 (unused)
button 2700 0 (unused)
battery 5952 0 (unused)
ac 1824 0 (unused)
rtc 7036 0 (autoclean)
cloop 9508 2
ieee1394 183076 0
usb-storage 61760 0 (unused)
usb-uhci 21644 0 (unused)
usbcore 57600 1 [usb-storage usb-uhci]
ataraid 6180 0
ide-scsi 8816 1
dmesgのNIC部分では、
Intel(R) PRO/100 Network Driver - version 2.3.43-k1
Copyright (c) 2004 Intel Corporation
PCI: No IRQ known for interrupt pin ? of device 02:08.0
e100: selftest timeout
e100: Failed to initialize, instance #0
のようになります。
K601では、以下のような状態になります。
# lspci -s 1:8
0000:01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VM (LOM) Ethernet
Controller (rev 81)
# lspci -vn -s 1:8
0000:01:08.0 0200: 8086:103b (rev 81)
Subsystem: 10cf:1188
Flags: bus master, medium devsel, latency 32, IRQ 20
Memory at ec000000 (32-bit, non-prefetchable) [size=4K]
I/O ports at a000 [size=64]
Capabilities: [dc] Power Management version 2
# lspci -xxxn -s 1:8
0000:01:08.0 0200: 8086:103b (rev 81)
00: 86 80 3b 10 07 00 90 02 81 00 00 02 08 20 00 00
10: 00 00 00 ec 01 a0 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 cf 10 88 11
30: 00 00 00 00 dc 00 00 00 00 00 00 00 0b 01 08 38
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 fe
e0: 00 40 00 3a 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# lspci -t
-[00]-+-00.0
+-02.0
+-1d.0
+-1d.1
+-1d.7
+-1e.0-[01-03]--+-08.0
| +-0c.0
| \-0c.1
+-1f.0
+-1f.1
+-1f.3
\-1f.5
# hwsetup -v -n(の一部)
class: NETWORK
bus: PCI
device: eth
driver: e100
desc: Intel Corp.|82801BD PRO/100 VM (LOM) Ethernet Controller
また、以前のメールを参考にして、/usr/shar/hwdata/pcitable の "e100"を
すべて"eepro100"に変更してCD-ROMを再作成してみたのですが、ダメでした。
ただ、この場合には、lsmodでの表示に
# lsmod
eepro100 19380 0 (unused)
mii 2240 0 [eepro100]
という行が加わり、ifconfig -a した時にも
eth0 Link encap:Ethernet HWaddr FF:FF:FF:FF:FF:FF
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:20 Base address:0xb000
という表示がされます。(e100の時には出ません。)
dmesgでは、
eepro100.c:v1.09j-t 9/29/99 Donald Becker
http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin
<saw@xxxxxxxxxxxxx> and others
PCI: No IRQ known for interrupt pin ? of device 02:08.0
eth0: Invalid EEPROM checksum 0xff00, check settings before activating this
device!
eth0: OEM i82557/i82558 10/100 Ethernet, FF:FF:FF:FF:FF:FF, IRQ 20.
Board assembly ffffff-255, Physical connectors present: RJ45 BNC AUI MII
Primary interface chip unknown-15 PHY #31.
Secondary interface chip i82555.
Self test failed, status ffffffff:
Failure to initialize the i82557.
Verify that the card is a bus-master capable slot.
となっていました。
lspciの情報は全く同じで、やhwsetupは、e100がeepro100になるだけでした。
同じCD-ROMを使ってK601を起動すると、こちらではeepro100を使って正常に
動作します。
K601のdmesg
eepro100.c:v1.09j-t 9/29/99 Donald Becker
http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin
<saw@xxxxxxxxxxxxx> and others
eth0: Intel Corp. 82801BD PRO/100 VM (LOM) Ethernet Controller,
00:0C:6E:59:11:88, IRQ 20.
Board assembly 000000-000, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x04f4518b).
さらに、Intelのサイト
http://support.intel.co.jp/jp/support/network/adapter/pro100/linux_driver.htm
から手繰って、最新と思われる
http://downloadfinder.intel.com/scripts-df/filter_results.asp?strOSs=39&strTypes=DRV&ProductID=1701&OSFullName=Linux*&submit=Go%21
e100-3.2.3.tar.gzをダウンロードしてみました。
knoppix_v3.6_20040816-20040914.isoの/ramdiskで展開してmakeしたら
警告は出たものの e100.o が出来上がったので、これをminirt24.gzをマウントする
要領で /lib/modules/2.4.27/kernel/drivers/net/e100にマウントした
イメージに置いて modprobe e100 してみましたが、同じようにエラーになります。
-- やった作業 --
# cp /cdrom/boot/isolinux/minirt24.gz .
# gzip -d minirt24.gz
# mount -o loop minirt24 /lib/modules/2.4.27/kernel/drivers/net/e100
# rm -rf /lib/modules/2.4.27/kernel/drivers/net/e100/*
# cp e100.o /lib/modules/2.4.27/kernel/drivers/net/e100/
# modprobe e100
-- ここまで --
この時、dmesgで確認したところ、
Intel(R) PRO/100 Network Driver - version 2.3.43-k1
のバージョン部分が 3.2.3 になっていたので、新しいものを使おうと
していたのは確かだろうと思うのですが…
--
小倉
|