kine920
驱动牛犊
驱动牛犊
  • 注册日期2007-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1139回复:1

移植的smsc9115网卡驱动无法正常接收数据

楼主#
更多 发布于:2008-07-19 17:45
最近要在开发板上驱动smsc9115,这是一个bootloader上的网卡驱动,它限制只能采用轮询方式,不支持中断
我主要参照了smsc公司网站上SRC-118-LINUX-SIMPLE的代码(中断方式)
目前状况是从9115ping PC机网卡正常,并且PC机回送了一个reply包,但是9115无法收到从PC机直接ping 9115,9115可以收到ping包,但是收到的数据会比发送的多。因为收到的数据长度是根据读取RX_STATUS_FIFO寄存器的值得到的,而这个寄存器值是轮询接收数据时从硬件得到的,我也没有手动赋值。为什么读到的这个值会是错误的?非常困惑!

另外,目前我的这个9115驱动它可以收到UDP和ARP的数据,但是对ICMP完全没有接收,不明白怎么回事,是地址过滤?
注:ping的时候如果不知道对方MAC地址会先发送ARP包待收到对方arp reply回来的MAC地址再开始发送ICMP包

真诚求教,希望有经验的朋友点拨一下,偶调的快吐血了:(
kine920
驱动牛犊
驱动牛犊
  • 注册日期2007-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-07-21 09:43
没有做过smsc系列网卡驱动的朋友吗?
望指教
游客

返回顶部