Very low throughput with QCA9880

Martin Potts fluxcap451 at gmail.com
Thu Jan 26 14:42:50 PST 2017


Hi Ben

Much thanks for the help. Switching my TCP congestion control from
cubic (default) to reno resulted in an TCP upstream throughput
increase from 15 Mbps to 175 Mbps. I am getting 283 Mbps with UDP.

283 Mbps still seems low for my setup (4x4 AP with 80 MHz channels,
3x3 STA). I'll try and cable my setup to see if that improves things.
I am wondering if the STA is actually doing 802.11ac, or is just
staying at 802.11n rates. Are there any log messages I can look for to
check this?


Regards,
Martin

On Thu, Jan 26, 2017 at 2:38 PM, Ben Greear <greearb at candelatech.com> wrote:
> If UDP works noticeably better, then you probably need to use a different
> TCP congestion control.
>
> Thanks,
> Ben
>
>
> On 01/26/2017 11:34 AM, Martin Potts wrote:
>>
>> Hi all,
>>
>> I'm using a QC9880 802.11ac NIC with Ubuntu 14.04 LTS and getting
>> really low upstream (STA to AP) throughput. The specific NIC is the
>> Compex WLE900VX.
>>
>> Testing using iperf3 in TCP mode I cannot achieve much more than 15
>> Mbps. Downstream throughput is roughly 145 Mbps. I get nearly the same
>> performance when testing with different AP's. Using other 802.11ac
>> client devices (iPads etc) can achieve 200+ Mbps upstream to the same
>> test setup.
>>
>> At the moment I am testing open air but will move to a cabled setup
>> shortly to try and rule out RF interference issues.
>>
>> The ath10k driver version and firmware appear to be pretty recent.
>> Here is some version info from my system.
>>
>> modinfo ath10k_core
>> filename:
>>
>> /lib/modules/4.4.0-59-generic/kernel/drivers/net/wireless/ath/ath10k/ath10k_core.ko
>> license:        Dual BSD/GPL
>> description:    Core module for QCA988X PCIe devices.
>> author:         Qualcomm Atheros
>> srcversion:     F5C0E3964FCD86D0F5FE986
>> depends:        mac80211,cfg80211,ath
>> intree:         Y
>> vermagic:       4.4.0-59-generic SMP mod_unload modversions
>> parm:           debug_mask:Debugging mask (uint)
>> parm:           uart_print:Uart target debugging (bool)
>> parm:           skip_otp:Skip otp failure for calibration in testmode
>> (bool)
>> parm:           cryptmode:Crypto mode: 0-hardware, 1-software (uint)
>> parm:           rawmode:Use raw 802.11 frame datapath (bool)
>>
>> modinfo ath10k_pci
>> filename:
>>
>> /lib/modules/4.4.0-59-generic/kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
>> firmware:       ath10k/QCA9377/hw1.0/board.bin
>> firmware:       ath10k/QCA9377/hw1.0/firmware-5.bin
>> firmware:       ath10k/QCA6174/hw3.0/board-2.bin
>> firmware:       ath10k/QCA6174/hw3.0/board.bin
>> firmware:       ath10k/QCA6174/hw3.0/firmware-5.bin
>> firmware:       ath10k/QCA6174/hw3.0/firmware-4.bin
>> firmware:       ath10k/QCA6174/hw2.1/board-2.bin
>> firmware:       ath10k/QCA6174/hw2.1/board.bin
>> firmware:       ath10k/QCA6174/hw2.1/firmware-5.bin
>> firmware:       ath10k/QCA6174/hw2.1/firmware-4.bin
>> firmware:       ath10k/QCA988X/hw2.0/board-2.bin
>> firmware:       ath10k/QCA988X/hw2.0/board.bin
>> firmware:       ath10k/QCA988X/hw2.0/firmware-5.bin
>> firmware:       ath10k/QCA988X/hw2.0/firmware-4.bin
>> firmware:       ath10k/QCA988X/hw2.0/firmware-3.bin
>> firmware:       ath10k/QCA988X/hw2.0/firmware-2.bin
>> firmware:       ath10k/QCA988X/hw2.0/firmware.bin
>> license:        Dual BSD/GPL
>> description:    Driver support for Atheros QCA988X PCIe devices
>> author:         Qualcomm Atheros
>> srcversion:     8CBDAC7980FC042032AE6A6
>> alias:          pci:v0000168Cd00000042sv*sd*bc*sc*i*
>> alias:          pci:v0000168Cd00000040sv*sd*bc*sc*i*
>> alias:          pci:v0000168Cd0000003Esv*sd*bc*sc*i*
>> alias:          pci:v0000168Cd00000041sv*sd*bc*sc*i*
>> alias:          pci:v0000168Cd0000003Csv*sd*bc*sc*i*
>> depends:        ath10k_core
>> intree:         Y
>> vermagic:       4.4.0-59-generic SMP mod_unload modversions
>> parm:           irq_mode:0: auto, 1: legacy, 2: msi (default: 0) (uint)
>> parm:           reset_mode:0: auto, 1: warm only (default: 0) (uint)
>>
>> ethtool -i wlan2
>> driver: ath10k_pci
>> version: 4.4.0-59-generic
>> firmware-version: 10.2.4.70.9-2
>> bus-info: 0000:04:00.0
>> supports-statistics: yes
>> supports-test: no
>> supports-eeprom-access: no
>> supports-register-dump: no
>> supports-priv-flags: no
>>
>> iw list
>> Wiphy phy0
>>         Band 1:
>>                 Capabilities: 0x19e3
>>                         RX LDPC
>>                         HT20/HT40
>>                         Static SM Power Save
>>                         RX HT20 SGI
>>                         RX HT40 SGI
>>                         TX STBC
>>                         RX STBC 1-stream
>>                         Max AMSDU length: 7935 bytes
>>                         DSSS/CCK HT40
>>                 Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
>>                 Minimum RX AMPDU time spacing: 8 usec (0x06)
>>                 HT TX/RX MCS rate indexes supported: 0-23
>>                 Frequencies:
>>                         * 2412 MHz [1] (27.0 dBm)
>>                         * 2417 MHz [2] (27.0 dBm)
>>                         * 2422 MHz [3] (27.0 dBm)
>>                         * 2427 MHz [4] (27.0 dBm)
>>                         * 2432 MHz [5] (27.0 dBm)
>>                         * 2437 MHz [6] (27.0 dBm)
>>                         * 2442 MHz [7] (27.0 dBm)
>>                         * 2447 MHz [8] (27.0 dBm)
>>                         * 2452 MHz [9] (27.0 dBm)
>>                         * 2457 MHz [10] (27.0 dBm)
>>                         * 2462 MHz [11] (27.0 dBm)
>>                         * 2472 MHz [13] (disabled)
>>                         * 2484 MHz [14] (disabled)
>>                 Bitrates (non-HT):
>>                         * 1.0 Mbps
>>                         * 2.0 Mbps (short preamble supported)
>>                         * 5.5 Mbps (short preamble supported)
>>                         * 11.0 Mbps (short preamble supported)
>>                         * 6.0 Mbps
>>                         * 9.0 Mbps
>>                         * 12.0 Mbps
>>                         * 18.0 Mbps
>>                         * 24.0 Mbps
>>                         * 36.0 Mbps
>>                         * 48.0 Mbps
>>                         * 54.0 Mbps
>>         Band 2:
>>                 Capabilities: 0x19e3
>>                         RX LDPC
>>                         HT20/HT40
>>                         Static SM Power Save
>>                         RX HT20 SGI
>>                         RX HT40 SGI
>>                         TX STBC
>>                         RX STBC 1-stream
>>                         Max AMSDU length: 7935 bytes
>>                         DSSS/CCK HT40
>>                 Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
>>                 Minimum RX AMPDU time spacing: 8 usec (0x06)
>>                 HT TX/RX MCS rate indexes supported: 0-23
>>                 Frequencies:
>>                         * 5180 MHz [36] (17.0 dBm)
>>                         * 5200 MHz [40] (17.0 dBm)
>>                         * 5220 MHz [44] (17.0 dBm)
>>                         * 5240 MHz [48] (17.0 dBm)
>>                         * 5260 MHz [52] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5280 MHz [56] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5300 MHz [60] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5320 MHz [64] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5500 MHz [100] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5520 MHz [104] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5540 MHz [108] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5560 MHz [112] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5580 MHz [116] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5600 MHz [120] (disabled)
>>                         * 5620 MHz [124] (disabled)
>>                         * 5640 MHz [128] (disabled)
>>                         * 5660 MHz [132] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5680 MHz [136] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5700 MHz [140] (20.0 dBm) (passive scanning,
>> no IBSS, radar detection)
>>                         * 5745 MHz [149] (30.0 dBm)
>>                         * 5765 MHz [153] (30.0 dBm)
>>                         * 5785 MHz [157] (30.0 dBm)
>>                         * 5805 MHz [161] (30.0 dBm)
>>                         * 5825 MHz [165] (30.0 dBm)
>>                 Bitrates (non-HT):
>>                         * 6.0 Mbps
>>                         * 9.0 Mbps
>>                         * 12.0 Mbps
>>                         * 18.0 Mbps
>>                         * 24.0 Mbps
>>                         * 36.0 Mbps
>>                         * 48.0 Mbps
>>                         * 54.0 Mbps
>>         max # scan SSIDs: 16
>>         max scan IEs length: 195 bytes
>>         Coverage class: 0 (up to 0m)
>>         Supported Ciphers:
>>                 * WEP40 (00-0f-ac:1)
>>                 * WEP104 (00-0f-ac:5)
>>                 * TKIP (00-0f-ac:2)
>>                 * CCMP (00-0f-ac:4)
>>                 * CMAC (00-0f-ac:6)
>>         Available Antennas: TX 0x7 RX 0x7
>>         Configured Antennas: TX 0x7 RX 0x7
>>         Supported interface modes:
>>                  * managed
>>                  * AP
>>                  * AP/VLAN
>>                  * monitor
>>                  * mesh point
>>         software interface modes (can always be added):
>>                  * AP/VLAN
>>                  * monitor
>>         valid interface combinations:
>>                  * #{ AP, mesh point } <= 8,
>>                    total <= 8, #channels <= 1, STA/AP BI must match
>>         Supported commands:
>>                  * new_interface
>>                  * set_interface
>>                  * new_key
>>                  * new_beacon
>>                  * new_station
>>                  * new_mpath
>>                  * set_mesh_params
>>                  * set_bss
>>                  * authenticate
>>                  * associate
>>                  * deauthenticate
>>                  * disassociate
>>                  * join_ibss
>>                  * join_mesh
>>                  * remain_on_channel
>>                  * set_tx_bitrate_mask
>>                  * action
>>                  * frame_wait_cancel
>>                  * set_wiphy_netns
>>                  * set_channel
>>                  * set_wds_peer
>>                  * Unknown command (84)
>>                  * Unknown command (87)
>>                  * Unknown command (85)
>>                  * Unknown command (89)
>>                  * Unknown command (92)
>>                  * connect
>>                  * disconnect
>>         Supported TX frame types:
>>                  * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
>> 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
>> 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
>> 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
>> 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
>> 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
>> 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70
>> 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>                  * Unknown mode (10): 0x00 0x10 0x20 0x30 0x40 0x50
>> 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
>>         Supported RX frame types:
>>                  * IBSS: 0x40 0xb0 0xc0 0xd0
>>                  * managed: 0x40 0xd0
>>                  * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
>>                  * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
>>                  * mesh point: 0xb0 0xc0 0xd0
>>                  * P2P-client: 0x40 0xd0
>>                  * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
>>                  * Unknown mode (10): 0x40 0xd0
>>         Device supports RSN-IBSS.
>>         Device supports AP-side u-APSD.
>>         HT Capability overrides:
>>                  * MCS: ff ff ff ff ff ff ff ff ff ff
>>                  * maximum A-MSDU length
>>                  * supported channel width
>>                  * short GI for 40 MHz
>>                  * max A-MPDU length exponent
>>                  * min MPDU start spacing
>>         Device supports TX status socket option.
>>         Device supports HT-IBSS.
>>
>> Any thoughts on why my throughput numbers are so low or suggestions
>> would be greatly appreciated.
>>
>> Regards,
>> Martin
>>
>> _______________________________________________
>> ath10k mailing list
>> ath10k at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/ath10k
>>
>
>
> --
> Ben Greear <greearb at candelatech.com>
> Candela Technologies Inc  http://www.candelatech.com
>



More information about the ath10k mailing list