vxWorks6.6的网络驱动调试问题

时间:2021-06-11 19:38:45
大家好:
       我在调试vxWorks6.6 vxBus形式的网络驱动,开发板IP:192.168.0.177,PC机IP:192.168.0.39。发现:网络不通,先将调试信息粘贴一下,望高手帮我加以分析,谢谢!!
  -> vxBusShow
Registered Bus Types:
  MII_Bus @ 0x001211ec
  PCI_Bus @ 0x0011edcc
  Local_Bus @ 0x0011ee2c

Registered Device Drivers:
  ppcIntCtlr at 0x0011fcb8 on bus Local_Bus, funcs @ 0x0011fcac
VxBus version 2
  quiccIntCtlr at 0x00120e58 on bus Local_Bus, funcs @ 0x00120e24
  quiccEngineIntCtlr at 0x00120de4 on bus Local_Bus, funcs @ 0x00120db0
  quiccTimerDev at 0x00121514 on bus Local_Bus, funcs @ 0x001214f8
VxBus version 2
  motetsec at 0x0011f608 on bus Local_Bus, funcs @ 0x0011f4e0
  ns16550 at 0x00121430 on bus Local_Bus, funcs @ 0x001213c0
  ns16550 at 0x001213e8 on bus PCI_Bus, funcs @ 0x001213c0
  ppcDecTimerDev at 0x001214b8 on bus Local_Bus, funcs @ 0x0012149c
  mv88E1x11Phy at 0x001212c8 on bus MII_Bus, funcs @ 0x00121298
  bcm54xxPhy at 0x00121234 on bus MII_Bus, funcs @ 0x00121228
  genericPhy at 0x00121334 on bus MII_Bus, funcs @ 0x00121328
  miiBus at 0x001211a4 on bus PCI_Bus, funcs @ 0x00121148
  miiBus at 0x00121164 on bus Local_Bus, funcs @ 0x00121148
  plbCtlr at 0x0011ee54 on bus Local_Bus, funcs @ 0x0011ee48

Busses and Devices Present:
  Local_Bus @ 0x00140028 with bridge @ 0x0011ee94
    Device Instances:
        quiccIntCtlr unit 0 on Local_Bus @ 0x00140fe8 with busInfo 0x00000000
        ppcIntCtlr unit 0 on Local_Bus @ 0x001410e8 with busInfo 0x00000000
        motetsec unit 0 on Local_Bus @ 0x001411e8 with busInfo 0x00000000
        motetsec unit 1 on Local_Bus @ 0x001412e8 with busInfo 0x00000000
        ppcDecTimerDev unit 0 on Local_Bus @ 0x001413e8 with busInfo 0x00000000
        quiccTimerDev unit 0 on Local_Bus @ 0x001414e8 with busInfo 0x00000000
        quiccTimerDev unit 1 on Local_Bus @ 0x001415e8 with busInfo 0x00000000
        ns16550 unit 0 on Local_Bus @ 0x001416e8 with busInfo 0x00000000
        ns16550 unit 1 on Local_Bus @ 0x001418e8 with busInfo 0x00000000
        miiBus unit 0 on Local_Bus @ 0x00141de8 with busInfo 0x001406a8
        miiBus unit 1 on Local_Bus @ 0x00145fe8 with busInfo 0x001406e8
    Orphan Devices:
        legacy unit 0 on Local_Bus @ 0x00141ae8 with busInfo 0x00000000
  MII_Bus @ 0x001406a8 with bridge @ 0x00141de8
    Device Instances:
    Orphan Devices:
  MII_Bus @ 0x001406e8 with bridge @ 0x00145fe8
    Device Instances:
    Orphan Devices:

value = 1 = 0x1
-> ifconfig
lo0 Link type:Local loopback  Queue:none
inet 127.0.0.1  mask 255.255.255.255
inet 224.0.0.1  mask 240.0.0.0
UP RUNNING LOOPBACK MULTICAST 
MTU:1500  metric:1  VR:0  ifindex:1
RX packets:8 mcast:0 errors:0 dropped:0
TX packets:8 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:672  TX bytes:672

motetsec1 Link type:Ethernet  HWaddr 00:a0:1e:93:31:36  Queue:none
capabilities: TXCSUM TX6CSUM 
inet 192.168.0.177  mask 255.255.255.255
inet 224.0.0.1  mask 240.0.0.0
UP SIMPLEX BROADCAST MULTICAST 
MTU:1500  metric:1  VR:0  ifindex:2
RX packets:0 mcast:0 errors:0 dropped:136
TX packets:0 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:0  TX bytes:0

value = 0 = 0x0
-> ping "192.168.0.177"

Pinging 8313 (192.168.0.177) with 64 bytes of data:
Reply from 192.168.0.177 bytes=64 time=0ms ttl=64 
Reply from 192.168.0.177 bytes=64 time=0ms ttl=64 
Reply from 192.168.0.177 bytes=64 time=0ms ttl=64 
Reply from 192.168.0.177 bytes=64 time=0ms ttl=64 

--- 8313 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 4000 ms
rtt min/avg/max = 0/0/0 ms
value = 0 = 0x0
-> ping "192.168.0.39"

Pinging host (192.168.0.39) with 64 bytes of data:
Echo request operation failed: Network is unreachable (51)
value = -1 = 0xffffffff
-> 

6 个解决方案

#1


昨天修改了一下,mask确实也有问题,不能设置成255.225.255.255,这个也有问题,最后修改成了255.255.255.0;但是,网络仍旧不通!
望各位多加关注,问题到底出在何处?
会不会和百兆、千兆网装换有关?

#2


目前发现一个问题,两个网口的状态不一致!在下面的调试信息中有注释,将其列出,望大家帮忙分析。有哪位高过6.6下的网络驱动望不吝赐教!
-> ifconfig
lo0 Link type:Local loopback Queue:none
inet 127.0.0.1 mask 255.255.255.255
inet 224.0.0.1 mask 240.0.0.0
UP RUNNING LOOPBACK MULTICAST      其状态为UP和RUNNING
MTU:1500 metric:1 VR:0 ifindex:1
RX packets:8 mcast:0 errors:0 dropped:0
TX packets:8 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:672 TX bytes:672

motetsec1 Link type:Ethernet HWaddr 00:a0:1e:93:31:36 Queue:none
capabilities: TXCSUM TX6CSUM  
inet 192.168.0.177 mask 255.255.255.255
inet 224.0.0.1 mask 240.0.0.0
UP SIMPLEX BROADCAST MULTICAST       此网口状态仅为UP,没有RUNNING!!
MTU:1500 metric:1 VR:0 ifindex:2
RX packets:0 mcast:0 errors:0 dropped:136
TX packets:0 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:0 TX bytes:0

#3


在hwcof.C中设置正确的phyaddr,而且要清楚自己的phy型号,在config.H 加入相应的phy驱动定义,

#4


这位老兄:
    之前的问题已经解决,现在又有新的问题,是在开发板上进行的调试,现已全部通过。
    最近自己做的电路板回来了,PHY芯片使用lxt972,目前的问题是BSP下网络不通,具体问题是:
    1、能从PHY芯片中读ID,包括数据,并且正确;
    2、在网络接收中断中做了一个测试,发现网络中断接正确接收到网络数据;但是,网络不通,没有数据从板子上发出;
    3、我在接收到数据之后、将接收的数据写入协议栈之间,再将接收的数据打印出来,发现数据无误,从推断看,网络已将数据送入协议栈,但是,没有数据发送出来。
    目前,怀疑是否是协议栈的问题,听有些人讲6.6的网络协议栈需要自己使用make命令进行编译,但是,我有一点疑问:我之前已经进行过make编译命令了,并且程序在开发半板上网络运行正常。
    请各位不吝赐教!!

#5


6.6的协议栈应该没问题。你确定硬件没有问题吗?

#6


引用 4 楼 jxy0825 的回复:
这位老兄:
    之前的问题已经解决,现在又有新的问题,是在开发板上进行的调试,现已全部通过。
    最近自己做的电路板回来了,PHY芯片使用lxt972,目前的问题是BSP下网络不通,具体问题是:
    1、能从PHY芯片中读ID,包括数据,并且正确;
    2、在网络接收中断中做了一个测试,发现网络中断接正确接收到网络数据;但是,网络不通,没有数据从板子上发出;
    3……

请问你是怎么解决的,我现在也遇到与你一样的问题,请赐教?

#1


昨天修改了一下,mask确实也有问题,不能设置成255.225.255.255,这个也有问题,最后修改成了255.255.255.0;但是,网络仍旧不通!
望各位多加关注,问题到底出在何处?
会不会和百兆、千兆网装换有关?

#2


目前发现一个问题,两个网口的状态不一致!在下面的调试信息中有注释,将其列出,望大家帮忙分析。有哪位高过6.6下的网络驱动望不吝赐教!
-> ifconfig
lo0 Link type:Local loopback Queue:none
inet 127.0.0.1 mask 255.255.255.255
inet 224.0.0.1 mask 240.0.0.0
UP RUNNING LOOPBACK MULTICAST      其状态为UP和RUNNING
MTU:1500 metric:1 VR:0 ifindex:1
RX packets:8 mcast:0 errors:0 dropped:0
TX packets:8 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:672 TX bytes:672

motetsec1 Link type:Ethernet HWaddr 00:a0:1e:93:31:36 Queue:none
capabilities: TXCSUM TX6CSUM  
inet 192.168.0.177 mask 255.255.255.255
inet 224.0.0.1 mask 240.0.0.0
UP SIMPLEX BROADCAST MULTICAST       此网口状态仅为UP,没有RUNNING!!
MTU:1500 metric:1 VR:0 ifindex:2
RX packets:0 mcast:0 errors:0 dropped:136
TX packets:0 mcast:0 errors:0
collisions:0 unsupported proto:0
RX bytes:0 TX bytes:0

#3


在hwcof.C中设置正确的phyaddr,而且要清楚自己的phy型号,在config.H 加入相应的phy驱动定义,

#4


这位老兄:
    之前的问题已经解决,现在又有新的问题,是在开发板上进行的调试,现已全部通过。
    最近自己做的电路板回来了,PHY芯片使用lxt972,目前的问题是BSP下网络不通,具体问题是:
    1、能从PHY芯片中读ID,包括数据,并且正确;
    2、在网络接收中断中做了一个测试,发现网络中断接正确接收到网络数据;但是,网络不通,没有数据从板子上发出;
    3、我在接收到数据之后、将接收的数据写入协议栈之间,再将接收的数据打印出来,发现数据无误,从推断看,网络已将数据送入协议栈,但是,没有数据发送出来。
    目前,怀疑是否是协议栈的问题,听有些人讲6.6的网络协议栈需要自己使用make命令进行编译,但是,我有一点疑问:我之前已经进行过make编译命令了,并且程序在开发半板上网络运行正常。
    请各位不吝赐教!!

#5


6.6的协议栈应该没问题。你确定硬件没有问题吗?

#6


引用 4 楼 jxy0825 的回复:
这位老兄:
    之前的问题已经解决,现在又有新的问题,是在开发板上进行的调试,现已全部通过。
    最近自己做的电路板回来了,PHY芯片使用lxt972,目前的问题是BSP下网络不通,具体问题是:
    1、能从PHY芯片中读ID,包括数据,并且正确;
    2、在网络接收中断中做了一个测试,发现网络中断接正确接收到网络数据;但是,网络不通,没有数据从板子上发出;
    3……

请问你是怎么解决的,我现在也遇到与你一样的问题,请赐教?