20111017版:ide
大包收發數據無校驗錯誤,須要進一步測試驗證。測試
20111013版:spa
已加入了完整的Phy驅動(DP83640),目前收發OK,而且1588服務已經能夠精確對時(可控制在30ns範圍內),大包收發問題仍待解決。ip
2011-08-16it
目前8139 miniport驅動已經實現了C+模式的小包通訊(Ping通了),關鍵要注意RxInt裏面IndicateReceivePacket和SET_PACKET_STATUS的順序,SET_PACKET_STATUS要在前面,不然協議層接受報文會有問題,這些在DDK裏面都沒有提到的,總之icmp報文通了,哈哈,下一步要實現大包的處理,大包的DMA發送將不能再用packet拷貝,這樣會影響效率,要實現零拷貝,直接映射(注意cache的問題)class
2011-09-07效率
目前協議層驅動已於minoport驅動綁定,而且,協議層驅動和Miniport驅動均已經收到1588報文,在這裏要強調一下鏈路層加入多播組的問題。通信
只有將鏈路層加入1588多播組,才能收到1588鏈路層報文,而且須要設置協議層驅動的包過濾規則(OID_GEN_CURRENT_PACKET_FILTER),以及協議層驅動的多播組地址表(OID_802_3_MULTICAST_LIST),不然即使miniport驅動收到了多播報文,向上提交後也會被協議層驅動丟棄,到時候根本截獲不到任何1588報文。數據
固然miniport驅動在接收到鏈路層多播地址表後,也要設置相應的MAR0、MAR1寄存器。協議