Analysis and Solution of excessive packet loss rate of ping packets in AR8033 M Mode
1 symptom
Recently, a QCA-based WLAN product with a wired Phy of AR8033, a dual-band Wi-Fi and support for iEEE802.11AC has been thoroughly verified. It is found that the wired port is directly connected to some PCs, when a Wi-Fi terminal is pinged to the PC, packet loss is always achieved, sometimes as high as 20%. However, when the PC is connected through a switch, packet loss is not allowed. I always thought it was an occasional occurrence, so I did not pay attention to it. The performance and stability of the running stream have no impact. Later, when I purchased a batch of gigabit wired port hosts for supporting verification, I found that this was the case for each host, and the ping packet was thrown to the ground. Enable the packet capture tool on the WLAN device and PC respectively. You can see that the device has sent a packet, but the PC does not receive the packet. However, when the PC directly ping the device's wired port, everything is normal.
2. Processing
After finding the cause from multiple parties, we finally find that the NIC of a PC with severe packet loss will not be lost when it is forced to work at MB; packet loss will occur when it is automatically negotiated or forced to MB. I once suspected that it was a hardware problem and it had been a long time. I also compared and verified it with the previously used AR8031. WLAN devices using the AR8031 solution will not experience packet loss. Occasionally, when modifying the hardware attribute of the PC Nic, the ping packet will be normal after the "energy-saving Ethernet" function is disabled. As a result, it locates along the EEE direction of the QCA wired Phy and tries to solve this problem.
In the DS document, the EEE-related registers are four in MMD3 and six in MMD7, but the effects are not obvious. Later I went to study MII registers and Debug Registers, and energy-saving-related chapters, and finally found that the 0X3D Debug register has the following description:
In addition, in different versions of QSDK and LSDK, different configurations are available for different chips for the wired MAC/PHY Code. However, this register is made public on bit15 and bit7, the other bits are black boxes. The functions of bit7 are easy to understand and should have nothing to do with packet loss issues. Therefore, bit15 is changed to 1. After re-compilation, verify again and solve the problem.
3 conclusion
It may be that the Green feature of AR8033 is special, which makes it incompatible with the Green features of other NICs. Therefore, it is preferred to disable this feature to prevent the user experience from being affected in actual use.
4. Disclaimer
This method is for reference only. If a new problem (energy-saving) occurs, it will be exempted from liability.