Vitruvian Penguin
knoppix

[knoppix:4465] FMV-C601

Date: Fri, 17 Dec 2004 00:09:19 +0900
X-mailer: EdMax Ver2.85.5F
はじめまして。

過去のメールなどを参考にしながら素人考えでいろいろとやってみたのですが、
どうにも行き詰りました。
根本的に考え違いをしているかと思いまして、ご意見を伺えれば幸いです。

手元に富士通の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 になっていたので、新しいものを使おうと
していたのは確かだろうと思うのですが…


--
小倉
<Prev in Thread] Current Thread [Next in Thread>