kevin.tan
奇怪的网卡问题!!!
[code]
AierM:/home/tmeng# uname -a
Linux AierM 2.6.18-aier #1 SMP Mon Oct 8 22:07:30 CST 2007 i686 GNU/Linux
AierM:/home/tmeng# lspci|grep 'DECchip'
07:00.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 20)
AierM:/home/tmeng# dmesg |grep 'eth1'
eth1: Digital DS21143 Tulip rev 32 at 00014800, 00:80:4C:35:0D:78, IRQ 11.
eth1: Digital DS21143 Tulip rev 32 at 00014800, 00:80:4C:35:0D:78, IRQ 11.
eth1: Digital DS21143 Tulip rev 32 at 00014800, 00:80:4C:35:0D:78, IRQ 11.
[/code]
在PCMICA插槽中有一块DECchip 21143芯片的网卡;从得到的信息来看,驱动已经加载了;并且所加载的驱动也包含 本芯片型号;如下:
[code]
AierM:/home/tmeng# modinfo tulip
filename: /lib/modules/2.6.18-aier/kernel/drivers/net/tulip/tulip.ko
author: The Linux Kernel Team
[color=Red]description: Digital 21*4* Tulip ethernet driver[/color]
license: GPL
version: 1.1.13-NAPI
vermagic: 2.6.18-aier SMP mod_unload PENTIUMM REGPARM gcc-4.1
depends:
alias: pci:v00001011d00000009sv*sd*bc*sc*i*
alias: pci:v00001011d00000019sv*sd*bc*sc*i*
alias: pci:v000011ADd00000002sv*sd*bc*sc*i*
alias: pci:v000010D9d00000512sv*sd*bc*sc*i*
alias: pci:v000010D9d00000531sv*sd*bc*sc*i*
alias: pci:v0000125Bd00001400sv*sd*bc*sc*i*
alias: pci:v000011ADd0000C115sv*sd*bc*sc*i*
alias: pci:v00001317d00000981sv*sd*bc*sc*i*
alias: pci:v00001317d00000985sv*sd*bc*sc*i*
alias: pci:v00001317d00001985sv*sd*bc*sc*i*
alias: pci:v00001317d00009511sv*sd*bc*sc*i*
alias: pci:v000013D1d0000AB02sv*sd*bc*sc*i*
alias: pci:v000013D1d0000AB03sv*sd*bc*sc*i*
alias: pci:v000013D1d0000AB08sv*sd*bc*sc*i*
alias: pci:v0000104Ad00000981sv*sd*bc*sc*i*
alias: pci:v0000104Ad00002774sv*sd*bc*sc*i*
alias: pci:v00001259d0000A120sv*sd*bc*sc*i*
alias: pci:v000011F6d00009881sv*sd*bc*sc*i*
alias: pci:v00008086d00000039sv*sd*bc*sc*i*
alias: pci:v00001282d00009100sv*sd*bc*sc*i*
alias: pci:v00001282d00009102sv*sd*bc*sc*i*
alias: pci:v00001113d00001216sv*sd*bc*sc*i*
alias: pci:v00001113d00001217sv*sd*bc*sc*i*
alias: pci:v00001113d00009511sv*sd*bc*sc*i*
alias: pci:v00001186d00001541sv*sd*bc*sc*i*
alias: pci:v00001186d00001561sv*sd*bc*sc*i*
alias: pci:v00001186d00001591sv*sd*bc*sc*i*
alias: pci:v000014F1d00001803sv*sd*bc*sc*i*
alias: pci:v00001626d00008410sv*sd*bc*sc*i*
alias: pci:v00001737d0000AB09sv*sd*bc*sc*i*
alias: pci:v00001737d0000AB08sv*sd*bc*sc*i*
alias: pci:v000017B3d0000AB08sv*sd*bc*sc*i*
alias: pci:v000010B7d00009300sv*sd*bc*sc*i*
alias: pci:v000014EAd0000AB08sv*sd*bc*sc*i*
alias: pci:v00001414d00000002sv*sd*bc*sc*i*
srcversion: 04C5C182C6E93DE91DBE155
parm: full_duplex:array of int
parm: options:array of int
parm: csr0:int
parm: rx_copybreak:int
parm: max_interrupt_work:int
parm: tulip_debug:int
[/code]
但问题还是意外的发生了,找不到所标识的eth1网卡,如下:
[code]
AierM:/home/tmeng# ifconfig eth1
eth1: error fetching interface information: Device not found
AierM:/home/tmeng# ifconfig
eth0 Link encap:Ethernet HWaddr 00:09:6B:CD:CF:21
inet addr:192.168.133.128 Bcast:192.168.133.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8750 errors:0 dropped:0 overruns:0 frame:0
TX packets:10045 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:6295737 (6.0 MiB) TX bytes:1576558 (1.5 MiB)
Base address:0x8000 Memory:c0220000-c0240000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1352 (1.3 KiB) TX bytes:1352 (1.3 KiB)
AierM:/home/tmeng# ifconfig eth1 up
eth1: ERROR while getting interface flags: 没有那个设备
[/code]
上面输出的eth0为集成的板载网卡,e1000的,可以看到MAC地址与eth1是不同的。
在插入网卡或重加载模块的过程中可以看到:
[code]
May 30 17:36:21 AierM kernel: Linux Tulip driver version 1.1.13-NAPI (May 11, 2002)
May 30 17:36:21 AierM kernel: tulip0: EEPROM default media type Autosense.
May 30 17:36:21 AierM kernel: tulip0: Index #0 - Media 10baseT (#0) described by a 21142 Serial PHY (2) block.
May 30 17:36:21 AierM kernel: tulip0: Index #1 - Media 10baseT-FDX (#4) described by a 21142 Serial PHY (2) block.
May 30 17:36:21 AierM kernel: tulip0: Index #2 - Media 100baseTx (#3) described by a 21143 SYM PHY (4) block.
May 30 17:36:21 AierM kernel: tulip0: Index #3 - Media 100baseTx-FDX (#5) described by a 21143 SYM PHY (4) block.
May 30 17:36:21 AierM kernel: eth1: Digital DS21143 Tulip rev 32 at 00014800, 00:80:4C:35:0D:78, IRQ 11.
[/code]
上面显示eth1已加载,芯片型号和MAC地址均无误,可ifconfig输出就是没有,真是无比郁闷 :(:(:(
kevin.tan
真是邪门了,百般无耐,处到翻看,Google无数,均无答案
终查看/pro/net/dev ,有些线索,如下:
[code]
AierM:/home/tmeng# cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 1252 22 0 0 0 0 0 0 1252 22 0 0 0 0 0 0
imq0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
imq1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth0: 7012966 9581 0 0 0 0 0 18 1664289 10079 0 0 0 0 0 0
irda0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth3: 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0
[/code]
乖乖,不是有个eth3吗,赶紧 up先,如是那朵出色的tulip终于出来了,如:
[code]
AierM:/home/tmeng# ifconfig eth3 up
AierM:/home/tmeng# ifconfig eth3
eth3 Link encap:Ethernet HWaddr 00:80:4C:35:0D:78
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:9 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:11 Base address:0x4800
[/code]
但比较让我郁闷是的,为什么不是默认的eth1而是eth3呢?继续找找看,是什么原因