阅读:1139回复:1
移植的smsc9115网卡驱动无法正常接收数据
最近要在开发板上驱动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包 真诚求教,希望有经验的朋友点拨一下,偶调的快吐血了:( |
|
沙发#
发布于:2008-07-21 09:43
没有做过smsc系列网卡驱动的朋友吗?
望指教 |
|