Search Linux Wireless

rt2800usb: Low Tx throughput

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

First of all, apologies if this mailing list is not the right place to report this kind of issue.

I am encountering a very low Tx throughput (~12 Mbits/s) when sending data with iperf from an rt2800usb station to an OpenWRT mwlwifi AP. There are no other stations connected to the AP, or other applications running apart from iperf.
Rx throughput, however, is well within the expected range (~112 Mbits/s).
For reference, the same USB network adapter achieves 10 times the Tx throughput (~130 Mbits/s) when using the Windows driver in an otherwise identical test (iperf binary compiled for Windows, same AP, same location).

Additional information follows:

Linux kernel: 4.14.178

rt2800usb module and its dependencies: backported from Linux (v5.7-rc3-0-g6a8b55ed4056) using backports v5.7-rc3-1-0-gc0c7d2bb
The same issue can be reproduced using the modules that came originally with the 4.14.178 kernel.

lsusb:
ID 148f:5572 Ralink Technology, Corp. RT5572 Wireless Adapter

'iw dev wireless station dump' output in the client after a 60-second iperf run:

Station XX:XX:XX:XX:XX:XX (on wireless)
inactive time:  7540 ms
rx bytes:       2729211
rx packets:     31477
tx bytes:       92127099
tx packets:     60088
tx retries:     1100
tx failed:      3
beacon loss:    0
beacon rx:      721
rx drop misc:   18
signal:         -46 dBm
signal avg:     -47 dBm
beacon signal avg:      209 dBm
tx bitrate: 300.0 MBit/s MCS 15 40MHz short GI
rx bitrate: 162.0 MBit/s MCS 12 40MHz
expected throughput: 58.43Mbps
authorized: yes
authenticated: yes
associated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 2
beacon interval:100
short preamble: yes
short slot time:yes
connected time: 74 seconds

iperf output:

station# iperf -c ap -t 60 -i 5
------------------------------------------------------------
Client connecting to router, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local A.B.C.D port 45136 connected with W.X.Y.Z port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  3.60 MBytes  6.03 Mbits/sec
[  3]  5.0-10.0 sec  7.50 MBytes  12.6 Mbits/sec
[  3] 10.0-15.0 sec  7.50 MBytes  12.6 Mbits/sec
[  3] 15.0-20.0 sec  7.50 MBytes  12.6 Mbits/sec
[  3] 20.0-25.0 sec  7.25 MBytes  12.2 Mbits/sec
[  3] 25.0-30.0 sec  7.12 MBytes  12.0 Mbits/sec
[  3] 30.0-35.0 sec  7.12 MBytes  12.0 Mbits/sec
[  3] 35.0-40.0 sec  7.12 MBytes  12.0 Mbits/sec
[  3] 40.0-45.0 sec  7.00 MBytes  11.7 Mbits/sec
[  3] 45.0-50.0 sec  7.12 MBytes  12.0 Mbits/sec
[  3] 50.0-55.0 sec  7.00 MBytes  11.7 Mbits/sec

ap# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local W.X.Y.Z port 5001 connected with A.B.C.D port 45136
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-59.5 sec  82.9 MBytes  11.7 Mbits/sec

I enabled all the MAC80211 and Ralink debug options I could find in the backports menuconfig, but nothing interesting showed up in dmesg during the tests:
[18591.310959] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 5592, rev 0222 detected
[18591.323993] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 000f detected
[18591.324351] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[18592.057905] rt2800usb 1-1.4.2:1.0 wireless: renamed from wlan0
[18606.170423] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[18606.210871] ieee80211 phy1: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
[18614.393426] wireless: authenticate with XX:XX:XX:XX:XX:XX
[18614.448933] wireless: send auth to XX:XX:XX:XX:XX:XX (try 1/3)
[18614.449587] wireless: authenticated
[18614.451765] wireless: associate with XX:XX:XX:XX:XX:XX (try 1/3)
[18614.470701] wireless: RX AssocResp from XX:XX:XX:XX:XX:XX (capab=0x11 status=0 aid=1)
[18614.476924] wireless: associated

iw event -t output is empty.

Any pointers as to where I could start debugging this problem?

Many thanks.



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux