return ENODEV;
+ }
--------------------------------------------------------------------------------
那么它就会输出检查的每一个口地址信息,你可以看到你的网卡地址是否被检测了。
6) 你还可以从Don的ftp站点(在howto中也提及了)获取ne2k的诊断程序,看看你在启动进入Linux后能否用它检测你的网卡。使用“-p 0xNNN”选项告诉它在哪里寻找你的网卡。(缺省情况下只检测0x300,与启动时的探测不同,不会检测其它的地址。)在找到网卡时的输出如下:
--------------------------------------------------------------------------------
Checking the ethercard at 0x300.
Register 0x0d (0x30d) is 00
Passed initial NE2000 probe, value 00.
8390 registers: 0a 00 00 00 63 00 00 00 01 00
30 01 00 00 00 00
SA PROM 0: 00 00 00 00 c0 c0 b0 b0 05 05 65
65 05 05 20 20
SA PROM 0x10: 00 00 07 07 0d 0d 01 01 14 14
02 02 57 57 57 57
NE2000 found at 0x300, using start page 0x40 and end page 0x80.
--------------------------------------------------------------------------------
你的注册值和PROM值可能会不一样。注意,对16比特网卡,所有PROM值都增加一倍,以太网卡地址(00:00:c0:b0:05:65)出现在第一行,加倍后的0x57标识出现在PROM的结尾。
在0x300处没有安装网卡时的输出如下:
--------------------------------------------------------------------------------
Checking the ethercard at 0x300.
Register 0x0d (0x30d) is ff
Failed initial NE2000 probe, value ff.
8390 registers: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
SA PROM 0: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
SA PROM 0x10: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff
Invalid signature found, wordlength 2.
--------------------------------------------------------------------------------
出现值0xff的原因是在读取空I/O口时返回的就是该值。如果在检测的区域内有其它硬件,你可以看到一些非0xff的值。