AR8033 1000M模式下ping包丟包率過大分析與解決


  1 現象  

  近期對一款基於QCA方案、有線Phy為AR8033、WiFi雙頻且支持iEEE802.11AC的WLAN產品進行了深度驗證,發現有線口同部分PC機直連時,WiFi終端ping 該PC機時總是丟包,有時高達20%;但通過交換機再接PC機時,又不會丟包。一直以為是偶現,所以未引起重視,反正跑流性能與穩定性都沒有任何影響。后來新購了一批千兆有線口的便攜機進行配套驗證時,發現每台都是如此,ping包丟得一塌塗地。在WLAN設備和PC機上分別開啟抓包工具,可以看到設備已發包,但PC機未收到報文;而由PC機直接ping設備有線口時,一切又正常。

  2 處理

  經過多方找原因,最后發現丟包嚴重的PC機的網卡強制工作在100M時,不會丟包;自動協商或強制1000M時,都會丟包。一度懷疑是硬件問題,折騰過好久;又同以前用過的AR8031進行對比驗證,用AR8031方案的WLAN設備,則不會出現丟包。偶然一次在修改PC機網卡的硬件屬性時,發現將“節能乙太網”功能關閉后,ping包就正常了。於是就沿QCA 有線Phy的EEE方向定位,嘗試去解決此問題。

      在DS文檔中,與EEE相關的寄存器:MMD3中的4個,MMD7中6個;但怎么改效果都不明顯;后來又去研讀MII寄存器和Debug寄存器,以及與節能相關的章節,最后發現0X3D號Debug寄存器中有下邊描述:

  

  而且在其不同版本的QSDK、LSDK的中,針對有線MAC/PHY代碼,對不同芯片都有不同的配置;但此寄存器就bit15,bit7公開,其它位都是黑箱。bit7的功能好理解,與丟包問題應該沒有關系,所以就將bit15更改為1。重新編譯后,再次驗證,問題解決。

     3 結論

    可能是AR8033的Green feature比較特別,從而導致它與別的網卡的Green特征不兼容,故優選將此特性關閉掉,以防實際使用中影響用戶體驗。

  4 免責聲明

    本方法僅供參考,若引起新問題(節能),一律免責。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM