[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:25166] [summary] [Q] How to make eth0 ? because of no eth0.



柴田(あ)hです。

<Q>【質問】===========================
Debian GNU/Linux 2.2 (potato) 「徹底入門 CDROM からインストール」
下記ハードウェアでネットワーク接続できた方は
いらっしゃいますでしょうか?
いたらその方法はどうされましたでしょうか?

原因と思われるところで eth0 がありません。
どうしたら eth0 を出現させることができるでしょうか?
</Q>



<A>【回答】============================
下記ハードウェアの項の東芝のノートパソコンにおいては
kernel2.2.17 付属の tulip では認識されませんので
eth0 は出てきません。

下に diff の結果をつけますので、 kernel2.2.17 付属の tulip.c を
改変して、 kernel configuration で tulip (DEC 21x4x chip)を
選択の上、再構築すれば eth0 は認識されるようになります。

ただし、認識されているだけですので、ネットワークの設定を
しなくてはなりません。

【 diff の結果】=====================ここから
345,347c345
<         0x1317, 0x0981, 0xffff, PCI_ADDR0_IO, 256, 32, tulip_probe1 },
<   { "Accton Technology EN2242",
< 	0x1113, 0x1216, 0xffff, PCI_ADDR0_IO, 256, 32, tulip_probe1 },
---
> 	0x1317, 0x0981, 0xffff, PCI_ADDR0_IO, 256, 32, tulip_probe1 },
400,401d397
<   { "Accton Technology EN2242", 256, 0x0001abef,
<         MC_HASH_ONLY, comet_timer },
415,416c411,412
< 	LC82C168, MX98713, MX98715, MX98725, AX88140, PNIC2, COMET, EN2242,
< 	COMPEX9881, I21145,
---
> 	LC82C168, MX98713, MX98715, MX98725, AX88140, PNIC2, COMET, COMPEX9881,
> 	I21145,
440,442c436
< 	CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78, CSR16=0x80,
< 	CSR17=0x84, CSR18=0x88, CSR19=0x8c, CSR20=0x90, CSR21=0x94,
< 	CSR22=0x98, CSR23=0x9c, CSR24=0xa0};
---
> 	CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78 };
756c750
< 	} else if (chip_idx == COMET || chip_idx == EN2242) {
---
> 	} else if (chip_idx == COMET) {
903d896
< 				int mii_reg19 = mdio_read(dev,phy,19);
920,924d912
< 				if(chip_idx == COMET || chip_idx == EN2242) {
< 					/* Turn off low power mode *****albert */
< 					mii_reg19 = ( mii_reg19 & 0xFFDF );
< 					mdio_write(dev, phy, 19, mii_reg19);
< 				}
1005,1009c993
< 	case EN2242:
< 		if ( inl(ioaddr + CSR18) & 0x00800000 )
< 		   outl(inl(ioaddr + CSR24) & 0x7FFFFFFF, ioaddr + CSR24);
< 		outl(inl(ioaddr + CSR18) | 1, ioaddr + CSR18);
< 
---
> 		/* No initialization necessary. */
1326c1310
< 	if (tp->chip_id == COMET || tp->chip_id == EN2242) {
---
> 	if (tp->chip_id == COMET) {
1383c1367
< 	if (tp->chip_id == COMET || tp->chip_id == EN2242) {
---
> 	if (tp->chip_id == COMET) {
1473c1457
< 		} else if (tp->chip_id == COMET || tp->chip_id == EN2242) {
---
> 		} else if (tp->chip_id == COMET) {
1588c1572
< 	} else if (tp->chip_id == COMET || tp->chip_id == EN2242) {
---
> 	} else if (tp->chip_id == COMET) {
1590,1591c1574
< 		/* baushg enable store_and_forward */
< 		tp->csr6 = 0x00240000;
---
> 		tp->csr6 = 0x00040000;
3029c3012
< 		else if (tp->chip_id == COMET || tp->chip_id == EN2242)
---
> 		else if (tp->chip_id == COMET)
3156c3139
< 			} else if (tp->chip_id == COMET || tp->chip_id == EN2242) { /* Has a simple hash filter. */
---
> 			} else if (tp->chip_id == COMET) { /* Has a simple hash filter. */
3257,3262c3240
< 	if (dev_id == 0x1216) {
< 		dev = tulip_probe1(bus, devfn, NULL, io & ~3, irq, EN2242, 0);
< 	} else if (dev_id == 0x0003 && vendor_id == 0x115d)
< 		dev = tulip_probe1(bus, devfn, NULL, io & ~3, irq, X3201_3, 0);
< 	else
< 		dev = tulip_probe1(bus, devfn, NULL, io & ~3, irq, DC21142, 0);
---
> 	dev = tulip_probe1(bus, devfn, NULL, io & ~3, irq, DC21142, 0);
【 diff の結果】=====================ここまで
</A>



<STATUS>【状況】===========================
つまり ifconfig では下記のように表示されることを期待するのですが、

                           (うまくいっている例)
saba:~$ /sbin/ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
          RX packets:165049 errors:0 dropped:0 overruns:0 frame:0
          TX packets:165049 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:0

eth0      Link encap:Ethernet  HWaddr 00:00:F4:D8:55:9D
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:629110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:559136 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:30
          Interrupt:5 Base address:0xd000

eth1      Link encap:Ethernet  HWaddr 00:40:C7:5A:75:80
          inet addr:192.168.10.3  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1992837 errors:2 dropped:0 overruns:0 frame:125
          TX packets:1926076 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:10637
          Interrupt:9 Base address:0x300


ここからしたのように lo しか表示されません。

                           (現在の eth0 がなくて困っている例)
hotate:~$ /sbin/ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  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


エラー等が dmesg には記録されないようなので、手で写しました。
--------------------
MBR

LILO boot;
Loading Linux..........
Uncompressing Linux... Ok, booting the kernel.
Linux version 2.2.17 (root@hotate) (gcc version 2.95.2 200002220 (Debian GNU/Linu
x)) #1 Mon Nov 6 23:36:44 JST 2000
-snip-
mtrr: v1.35a (19990819) Richard Gooch (rgooch@xxxxxxxxxxxxx)
PCI: PCI BIOS revision 2.10 entry at 0xfd9be
PCI: Using configuration tyope 1
PCI: Probin PCI hardware
PCI: Enabling memory for device 00:22
PCI: Enabling I/O for device 00:3a
PCI: Enabling memory for device 00:40
PCI: Enabling I/O for device 00:80
PCI: Enabling memory for device 00:80
PCI: Enabling I/O for device 00:88
PCI: Enabling memory for device 00:88
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0.
IP Protocols: ICMP, UDP, TCP
TCP: Hash tables configured (ehash 131072 bhash 65536)
Starting kswapd v 1.5
Detected PS/2 Mouse Port.
-snip-
Setting kernel variables.
Loading the saved-state of serial devices...
modprobe: modprobe: Can't locate module char-major-4
/dev/ttyS1: No such device
modprobe: modprobe: Can't locate module char-major-4
/dev/ttyS1: No such device
Mounting local filesystems...
-snip-
Running dns-clean.
chmod: /etc/resolv.conf: No such file or directory
Settin up IP spoofing protection: rp_filter.
Configuring network interfaces: Don't seem to be have all the variables for eth0
..
done.
Starting portmap daemon: portmap.
-snip-
INIT: Entering runlevel: 2
Starting system log daemon: syslogd klogd.
Starting PCMCIA services: module directory /lib/modules.2,2,17/pcmcia not found.
Starting NFS common utilities: statd lockd.
Starting cannaserver...
-snip-
Starting internet superserver: inetd.
Starting printerspooler: lprng.
Not starting NFS kernel daemon: No exports.
Starting mail transport agent: Postfix.
Starting OpenBSD Secure Shell server: sshd.
Starting X-TT font server: xfs-xtt.
Starting deferred execution scheduler: atd.
Starting periodic command scheduler: cron.

Debina GNU/Linux 2.2 hotate tty1

hotate login:

−−−−−−−−−−−−−−−−−−−−−−−−−−−−


試したこと
---------------------------
$ sudo /etc/init.d/networking restart
Reconfiguring network interfaces: eth0: unknown interface: No such device
Don't seem to be have all the variables for eth0.
done.

---------------------------
$ sudo cat /var/log/syslog
Nov  7 21:13:21 hotete insmod: /lib/modules/2.2.17/net/tulip.o: init_module: Dev
ice or resource busy
Nov  7 21:13:21 hotete insmod: Hint: this error can be caused by incorrect modul
e parameters, includeing invalid IO or IRQ parameters
Nov  7 21:13:21 hotete insmod: /lib/modules/2.2.17/net/tulip.o: insmod eth0 fail
ed


IRQ がぶつかっているのかと思い、みてみました。
---------------------------
$ cat /proc/interrupts
           CPU0       
  0:     201178          XT-PIC  timer
  1:       4335          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
 13:          1          XT-PIC  fpu
 14:       2389          XT-PIC  ide0
 15:          7          XT-PIC  ide1
NMI:          0



内蔵 NIC がおかしいのかもしれないので、
http://www.scyld.com/diag/
から取得したプログラムでみてみました。
一応、 Windows98SE では使えています。

$ sudo ./tulip-diag
Unable to find a recognized card in /proc/pci.
If there is a card in the machine, explicitly set the I/O port address
  using '-p <ioaddr> -t <chip_type_index>'
 Use '-t -1' to see the valid chip types.
tulip-diag.c:v2.04 9/26/2000 Donald Becker (becker@xxxxxxxxx)
 http://www.scyld.com/diag/index.html
------------------------------------------------------
$ sudo ./tulip-diag -a -p 1800

tulip-diag.c:v2.04 9/26/2000 Donald Becker (becker@xxxxxxxxx)
 http://www.scyld.com/diag/index.html
Assuming a Digital Tulip series adapter at 0x1800.
Digital Tulip series chip registers at 0x1800:
  fe590000 ffffffff ffffffff 00000000 00000000 fc00c810 ff970115 fffe4010
  fffe0000 fff0dff8 00000000 fffe0000 00000000 40000200 00000000 c40ffec8
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 Transmit stopped, Receive stopped, half-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 128.
 Interrupt sources are pending!  CSR5 is fc00c810.
   Link passed indication.
   Timer expired indication.
   Early Rx indication.
-------------------------------------------------
$ sudo ./tulip-diag -ee -p 1800

tulip-diag.c:v2.04 9/26/2000 Donald Becker (becker@xxxxxxxxx)
 http://www.scyld.com/diag/index.html
Assuming a Digital Tulip series adapter at 0x1800.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 Transmit stopped, Receive stopped, half-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 128.
 Interrupt sources are pending!  CSR5 is fc00c810.
   Link passed indication.
   Timer expired indication.
   Early Rx indication.
EEPROM size is 8.
 A simplifed EEPROM data table was found.
 The EEPROM does not contain transceiver control information.
EEPROM contents:
  0985 0002 0000 0000 9000 0396 2d49 0000
  0000 0400 0001 0000 0000 0000 0000 0100
  1216 1113 2242 1113 ffff 0000 0000 a04c
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 e4dc
 ID block CRC 0xa2 (vs. 00).
  Full contents CRC 0xe4dc (read as 0xe4dc).
-------------------------------------------------
$ sudo ./tulip-diag -mm -p 1800

tulip-diag.c:v2.04 9/26/2000 Donald Becker (becker@xxxxxxxxx)
 http://www.scyld.com/diag/index.html
Assuming a Digital Tulip series adapter at 0x1800.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 Transmit stopped, Receive stopped, half-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 128.
 Interrupt sources are pending!  CSR5 is fc00c810.
   Link passed indication.
   Timer expired indication.
   Early Rx indication.
 MII PHY found at address 1, status 0x786d.
 MII PHY found at address 2, status 0x786d.
 MII PHY found at address 3, status 0x786d.
 MII PHY found at address 4, status 0x786d.
 MII PHY #1 transceiver registers:
   1000 786d 0022 5410 01e1 45e1 0005 2801
   ffff ffff ffff ffff ffff ffff ffff ffff
   01c0 0000 0c99 8000 4f02 0304 0026 0000
   0002 c0bf 0000 ffff ffff ffff ffff ffff.
 MII PHY #2 transceiver registers:
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff.
 MII PHY #3 transceiver registers:
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff.
 MII PHY #4 transceiver registers:
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff
   ffff ffff ffff ffff ffff ffff ffff ffff.
---------------------------------------------------




【ハードウェア】=====================
東芝 DynaBook SS DS50C/1CA モデル
  http://www2.toshiba.co.jp/pc/catalog/dynabook/db65_50/ds_hard.htm
プレインストールの Windows98SE からは
  accton EN2242 と表示されます。
さらに追求してそのコントローラチップが ADMtek AN983AL という
ものであることを突き止めました。
http://www.tmc.co.jp/admtek/products.htm
http://www.internix.co.jp/products/admtek/an983_985.htm
によると DEC 21140/21143 互換のようで Linux でも使えるようです。
</STATUS>


<COMMENT>
東芝ノートパソコン ds50c1ca  は Windows98SE モデルです
ds50c1ccr モデル(DynaBook SS DS50C/1CCR)は WindowsMe モデルで
多分ハードウェアは同じものと思われるので上記対処法にて
ネットワーク使用可能だと思われます
 

最後になりましたが、フォローいただいた皆様、いしかわ むつみさま、
松田陽一様、高橋 秀明様、そして特に直接的に解決のヒントを
いただいた渡邉勝之様、ありがとうございました。

summary を投稿することによる貢献にてお礼に代えたく思います。
</COMMENT>



--
あまねく生命に、あまねく知性に、最大の幸福を願う
E-mail:help@xxxxxxxxx