RT5370 performance issues
Hi everyone,
I'm having some trouble with an RT5370 Wi-Fi module on an embedded Linux system. With just one of these modules connected to an access point, performance is around 30 Mbit/s. However, as soon as a second module is connected to the access point, performance drops to about 3 Mbit/s.
With debug output enabled, there are many copies of this message:
wlan0: release an RX reorder frame due to timeout on earlier frames
which seems to be related to MDPU aggregation. So, I went into rt2800lib.c in the function rt2800_ampdu_action and added the line ret = -ENOTSUPP; to disable support for RX frame aggregation:
switch (action) {
case IEEE80211_AMPDU_RX_START:
case IEEE80211_AMPDU_RX_STOP:
ret = -ENOTSUPP;
...After that change, debug output shows:
wlan0: AddBA Req buf_size=64 for 00:ad:24:ff:6c:a0
wlan0: Rx A-MPDU request on 00:ad:24:ff:6c:a0 tid 0 result -524
and performance seems to be maybe slightly faster but not by much.
I'm using backports, and have tried with version 5.3-rc4 and 4.14-rc2. I've also tried several versions of the device firmware file rt2870.bin; 0.36, 0.33, and 0.22.
Many thanks for any ideas you can offer.
Marlon