Question:

Transmit bitrate shown in `iw` is unexpectedly low

Jayden: 02 February 2022

> iw dev wlp5s0 link

Connected to 00:35:1a:41:2d:cf (on wlp5s0)
    SSID: eduroam
    freq: 5240
    RX: 59188796 bytes (179767 packets)
    TX: 351043602 bytes (273799 packets)
    signal: -59 dBm
    tx bitrate: 6.0 MBit/s

    bss flags:  short-slot-time
    dtim period:    1
    beacon int: 102


> iw dev wlp5s0 station dump

Station 00:35:1a:41:2d:cf (on wlp5s0)
    inactive time:  176 ms
    rx bytes:   59188796
    rx packets: 179767
    tx bytes:   351043602
    tx packets: 273799
    tx retries: 0
    tx failed:  396
    signal:     -59 dBm
    signal avg: -59 dBm
    tx bitrate: 6.0 MBit/s
    rx bitrate: 78.0 MBit/s VHT-MCS 4 VHT-NSS 2
    authorized: yes
    authenticated:  yes
    preamble:   long
    WMM/WME:    yes
    MFP:        no
    TDLS peer:  no

I see that my transmit bitrate is unexpectedly low, and I can confirm that upload speeds are slower than they could be (if I connect using a USB tether to my phone I get up/down speeds of 80Mbit/sec on this network).

I've fiddled with iw, powersave is off, but I haven't succeeded at getting my transmit rate up. This is a year old high-end laptop, so it shouldn't have an issue (I don't recall such an issue when I ran windows). Any ideas on how to tackle this issue?

Running the latest Linux mint 18.1 on an MSI Ghost laptop.

Update:

@dirkt provided some troubleshooting tips in the comments which lead me to a driver update that has half-fixed the problem. My receive bitrate is now 240Mbit, but my transmit bitrate is still stuck at 6Mbit.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1383184

> iw dev wlp5s0 station dump
Station 00:35:1a:2e:07:2f (on wlp5s0)
    inactive time:  396 ms
    rx bytes:   234425411
    rx packets: 180469
    tx bytes:   33988923
    tx packets: 95897
    tx retries: 0
    tx failed:  248
    signal:     -60 dBm
    signal avg: -58 dBm
    tx bitrate: 6.0 MBit/s
    rx bitrate: 240.0 MBit/s VHT-MCS 5 40MHz short GI VHT-NSS 2
    authorized: yes
    authenticated:  yes
    preamble:   long
    WMM/WME:    yes
    MFP:        no
    TDLS peer:  no

> lspci -nn
<removed irrelevant entries>
05:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 20)

> sudo ethtool -i wlp5s0
driver: ath10k_pci
version: 4.4.0-77-generic
firmware-version: SW_RM.1.1.1-00157-QCARMSWPZ-1
expansion-rom-version: 
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

Answer:
Sophie: 02 February 2022

(Wrote up comment as answer.)

I've seen Linux Wifi driver developers complaining that some of the newer Wifi chips mostly rely on closed-source firmware to get everything working, and that it's really a pain to write a good driver for that. So "driver issue" isn't unlikely.

Figure out what your chipset is (lspci -nn or lsusb, look at the 4 digit hex vendor/device ids), google for that in the form of 0123:4567 to see if this is a known issue, file a bug with the developers if it isn't.

According to your comment, the issue (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1383184) is already reported. Put yourself on the subscribe list for the bug (and maybe add a comment explaining your situation), so you'll be kept informed when it's fixed.