linux网线和网卡没有正常连接但ping自己能通,请教:开发板换内核后,再也ping不通主机了...

我原来的开发板(FL2440)用的是飞凌提供的2.6.28,最近我想把它升级到2.6.33。按照厂商给出的移植文档,好不容易能让板子正常启动,这时我连上交叉网线,却发现怎么也ping不通主机了(防火墙关掉了,开发板和主机处于同一网段)。

以下是ifconfig信息

# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:12:34:56:80:49

inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0

UP 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:51 Base address:0xa300

lo        Link encap:Local Loopback

LOOPBACK  MTU:16436  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:0

RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

我用ifconfig lo 127.0.0.1设置lo后能成功ping 127.0.0.1     ping 192.168.1.15确ping不通主机,这是怎么回事呢?

**********************************附部分启动信息

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

UDP hash table entries: 256 (order: 0, 4096 bytes)

UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

NET: Registered protocol family 1

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

NetWinder Floating Point Emulator V0.97 (extended precision)

JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.

ROMFS MTD (C) 2007 Red Hat, Inc.

init started: BusyBox v1.6.0 (2008-01-09 17:10:28 CST) multi-call binary

starting pid 933, tty '': '/etc/init.d/rcS'

mount: mounting none on /dev/pts failed

mount: mounting tmpfs on /dev/shm failed

dm9000 dm9000.0: WARNING: no IRQ resource flags set.

eth0: link down

ifconfig: SIOCSIFADDR: No such device

|

第一步可以在网卡处用hub听下发出的报文。

可以确认1、是因为没有对方机器的mac地址,ping包没有发出去,还是ping包发出去没有回应。

2、如果连对方机器的mac地址都没有的话,就应该怀疑是网卡的问题了。

查看网卡是否有中断响应?

如果没有,证明网卡驱动写的有问题。

如果有的话,可以通过在网卡驱动上加调试信息确认问题

|

肯定是网卡驱动的问题。

ping 127.0.0.1走的是内部协议栈,lo接口就是一个“软件假接口”。

127.0.0.1能通,说明你的TCP/IP协议栈没问题。

从上面看,100%网卡驱动的问题。

|

dm9000 dm9000.0: WARNING: no IRQ resource flags set.

eth0: link down

ifconfig: SIOCSIFADDR: No such device

很明显,你的网卡驱动没有移植好

参见原来的改吧改吧就好了

|

no IRQ resource flags set

你的dm9000网卡驱动没有移植成功,中断那块有问题。

|

但能ping通自身ip 192.168.1.15说明什么呢

============================================

ping通自身走的是协议栈(不涉及MAC地址解析之类的驱动封包处理),说明你驱动把网卡加载上了,但是内部工作不对。

操作系统上看应该是有个eth0的接口,但是驱动本质没加载对。

|

接收到数据包后无法中断吧。

先试试看Uboot中能够成功ping,再比较uboot中对中断的设置。

|

赞成

你可能感兴趣的:(linux网线和网卡没有正常连接但ping自己能通,请教:开发板换内核后,再也ping不通主机了...)