这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教:8260双网口其中一个ping不通(已经设置在不同的网段了)

共7条 1/1 1 跳转至

请教:8260双网口其中一个ping不通(已经设置在不同的网段了)

菜鸟
2005-03-23 01:20:58     打赏

在论坛里搜了一下,我这个问题前面也有兄弟遇到过,但没看到最终怎么解决的。

板上两个网口,物理上应该都是通的(分别连到交换机上时指示灯亮了),ifShow显示如下:

-> ifShow motfcc (unit number 0): Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING Type: ETHERNET_CSMACD Internet address: 192.168.0.100 Broadcast address: 192.168.0.255 Netmask 0xffffff00 Subnetmask 0xffffff00 Ethernet address is 00:10:ec:00:54:7f Metric is 0 Maximum Transfer Unit size is 1500 0 octets received 0 octets sent 11 packets received 6 packets sent 5 unicast packets received 4 unicast packets sent 6 non-unicast packets received 2 non-unicast packets sent 0 input discards 0 input unknown protocols 0 input errors 0 output errors 0 collisions; 0 dropped lo (unit number 0): Flags: (0x8069) UP LOOPBACK MULTICAST ARP RUNNING Type: SOFTWARE_LOOPBACK Internet address: 127.0.0.1 Netmask 0xff000000 Subnetmask 0xff000000 Metric is 0 Maximum Transfer Unit size is 32768 0 packets received; 0 packets sent 0 multicast packets received 0 multicast packets sent 0 input errors; 0 output errors 0 collisions; 0 dropped motfcc (unit number 1): Flags: (0x8063) UP BROADCAST MULTICAST ARP RUNNING Type: ETHERNET_CSMACD

Internet address: 192.168.1.200 Broadcast address: 192.168.1.255 Netmask 0xffffff00 Subnetmask 0xffffff00 Ethernet address is 00:10:ec:80:54:7f Metric is 0 Maximum Transfer Unit size is 1500 0 octets received 0 octets sent 70 packets received 1 packets sent 0 unicast packets received 0 unicast packets sent 70 non-unicast packets received 1 non-unicast packets sent 0 input discards 0 input unknown protocols 0 input errors 0 output errors 0 collisions; 0 dropped

此后第一个网口可以ping通,第二个网口却不行。场景: (子网掩码均为255.255.255.0,采用对角网线或通过交换机的连接方式都试过)

host1 192.168.0.3 ping 第一个网口 192.168.0.100 ,OK。 host2 192.168.1.3 ping 第二个网口(192.168.1.200), 不通。 如果将host1的网关设为192.168.0.100, 则可以ping通 192.168.0.100, 但这个应该说明不了什么问题。

为第二网口设置IP的三个函数是ipAttach(1, "motfcc"); ifMaskSet("motfcc1", 0xffffff00); ifAddrSet("motfcc1", "192.168.1.200"); IP_MAX_UNITS也已经设为2了。

另外,BSP跑起来后,串口频繁地打印 0x3dbe748 (tNetTask): RX addr = 0x3c41dc0 Len = 0x60 Stat = 0x1c84, 如果采用对角网线连则不会打印。打印函数在驱动文件的motFccHandleRX()里,前面有人说是CRC校验错误,收到的bit数不能被8整除,但不知道怎么解决。

在这里学到过很多东西,还请各位老大指教,助小弟一臂之力,解决最后这几个问题。

[align=right][color=#000066][此贴子已经被作者于2005-3-22 17:28:33编辑过][/color][/align]



关键词: 请教     8260双     网口     其中     一个     不通     已经         

菜鸟
2005-03-23 16:51:00     打赏
2楼

偶也遇到同样的问题,目标机上有两个RealTek8139网卡用了对角线分别和两台host相连,我未用hub。

期待高手的回答。


菜鸟
2005-03-24 23:59:00     打赏
3楼

试过了不跑第一个,只跑第二个,也不行。


菜鸟
2005-03-25 00:13:00     打赏
4楼

现在用对角网线对连主机和第二个网口,已经可以ping通了,但通过交换机还是不行。 我想如果最后实在不行的话,就用这样对连着用算了。

现在的问题是这样对连,虽然能ping通,但在Tornado下Target Server却attach不上去,用抓包软件看这时可以看到对应的双发有正常的收发包,但就是attach不了。报错为:“BackEnd client unable to receive fail”,不明白。

各位大哥发发话吧。


菜鸟
2005-03-25 00:34:00     打赏
5楼

我估计是你加载motfcc的时候,有些问题。比如 sysMotFccEnd.c这个文件修改不正确。因为两个网口的加载应该需要加以区别的。

此外,sysLib.c中对网口的enable和disable都要修改。unit为0和1时应该不一样。

我试过,3个网口都能正常驱动起来。


菜鸟
2005-03-25 17:34:00     打赏
6楼

你试一下把第二个改个网段,比如172.20


菜鸟
2005-03-26 05:47:00     打赏
7楼

to haibin :我 试了将另外一个网口改为172.20.段,结果仍然一样,所以问题应该不在这。

to gem2000:

我在syslib.c中的enable和disable函数都特别注意了两个网口的区别,应该没问题。 sysMotFccEnd.c中对两个网口的加载我使用了同一个函数sysMotFccEndLoad(),但在函数里针对unitNumber=0和1的情况作了区别,最后生成的两个网口的load string除了unitNumber和phyAddr项不同外,其他项我都采用了一样的参数,这样有问题吗? 现在关键问题是用对角网线连主机和第二个网口,ping的通,但Target Server连不上。


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]