ping裝置的時候,時間會越來越長,從幾毫秒到幾百毫秒,有時候甚至無ping響應。這裡的原因在於,他使用了中斷的方式接收網絡卡資料報,在每次中斷中只讀取網絡卡的乙個資料報。如果一次中斷發生,而網絡卡內事實上可能存在有多個資料報,這樣如果唯讀乙個,最終導致網絡卡內資料報積壓,所以會出現ping延遲的現象。如果資料報長期積壓,還可能出現因網絡卡緩衝區滿而無法接收資料的情況,由於無接收中斷產生,控制器也不會處理積壓資料的現象,從而發生網絡卡假死的現象,系統無法接收資料。
這裡的正確解決方法是,在乙個中斷中,需要讀取並處理所有的已經接收的資料報。網友的ping延時問題通過這種方案已經得到解決。
至於中斷裡面如何處理,需要學習dm9000驅動程式以及檢視,現在暫時使用查詢的方式進行處理,到時候需要的時候再重新修改驅動程式。。。
lwip執行一段時間後ping時間延長
原文 很多在學習lwip的時候,都遇到過 剛開始ping 裝置的時候返回時間都在1ms以下,可是工作了一段時間後,ping返回的時間卻越來越長,甚至達到了超時的程度,通過使用ip tool等抓包工具可以發現,其實是有資料返回的,只不過返回的間隔太久了,有的達到了3000ms以上,可是這已經超出了tc...
lwip斷線重連問題7 7
問題描述 客戶端用乙個固定的埠連線遠方伺服器,首次連線建立後,關閉伺服器,此時客戶端檢測到連線斷開,自動每隔一定時間嘗試重新連線。要求在遠端伺服器再次啟動後,自動恢復客戶端到伺服器的連線。方法 關閉伺服器,斷開連線,此時伺服器的埠資源尚未釋放,如果立刻重新連線,會連線失敗。此時只要拔掉網線,等待一段...
LWIP移植後 dhcp 宕機問題
將lwip移植到ucos之後,qa在長時間測試後發現,偶爾會在dhcp的過程中宕機.assertion dhcp create request dhcp p out null failed at line 1493 in d network tcpip lwip src core dhcp.c ap...