Optimization of QCA9984 ath10k driver - kernel maybe?

Description of the problem (how to configure, how to reproduce, how often it happens).

Openwrt x86 installation on x86 hardware with Compex QCA9984 as wifi.
Testing scenario:
Sata connected SSD 120G, continuous transfer rate of 220MB/s read. file 10GB.
vsftpd daemon serving file
Two routers equally configured with two same sata drive and same file, same vsftpd conf, default openwrt config:

WRT3200acs : OpenWRT

  • 36 channel , 160Mhz channel width, WPA2 - mvebu driver and firmware
    Client: macbook 15" 2018 . - filezilla client
    Client <-- WiFi << Router <--SSD
    99MB/s

KANSUNG with Compex QCA9984 as wifi: OpenWRT

  • 36channel,80Mhz channel width, WPA2 ath10kct driver 4.19 and firmware
    Client <-- WiFi << Router <--SSD
    72MB/s with firmware-5-ct-non-commercial-full-htt-mgt-11.bin or 10,9,8
    52MB/s with any other firmware-5-ct-****

KANSUNG with Compex QCA9984 as wifi: OpenWRT

  • 36channel,80Mhz channel width, WPA2 ath10k vanilla driver and kvalo firmware
    Client <-- WiFi << Router <--SSD
    60MB/s

KANSUNG with Compex QCA9984 as wifi: DD-WRT

  • 36channel,80Mhz channel width, WPA2 ath10k vanilla driver and kvalo firmware
    Client <-- WiFi << Router <--SSD
    99MB/s

Software (OS, Firmware version, kernel, driver, etc)
openwrt- latest trunk

Hardware (NIC chipset, platform, etc)
NIC: Compex COMPEX WLE1216V5-20 5GHz
Platform: KANSUNG Model: K515G6
(https://bit.ly/2IOlSeQ)

Logs (dmesg, maybe supplicant and/or hostap)

Why is this firmware firmware-5-ct-non-commercial-full-htt-mgt-11.bin the fastest one? Does anyone has the same experience, Why is ddwrt the fastest? Which optimisation is in ddwrt and not in openwrt. i got 2000softirq(netdata) kmod-ath10k utilization.

Can someone pinpoint where could be the performance issue and which tools to dig into it and prove it?

1 Like

Is this OpenWrt?

You may want to ask that here: https://forum.dd-wrt.com

I surmise the older kernel - which accounts for the differences.

Is this OpenWrt?

All testing except one from ddwrt is on openwrt. That particular statement is here as an info and as a question, because openwrt repo have candela tech firmware and drivers, so maybe they wanna rethink which firmware to use.

You may want to ask that here: https://forum.dd-wrt.com
i asked the question there, the answer is some tweaks in driver and kernel optimization.:frowning:
I surmise the older kernel - which accounts for the differences.
so older kernel is better? is that your answer?
I think this is a openwrt issue, to optimize kernel or that particular vanilla driver to perform better, like ddwrt does.

Do you know how to "surround the enemy" to find out where could be the bottleneck?

No and no. I do NOT think an older kernel is better.

Just ask DD-WRT to publicly release those tweaks. Easy!

No "enemy surrounding" necessary!

1 Like

I ask them on ddwrt forum. No response!
So back to the reverse enginering, we will learn something at the end.

  1. Where to start and how to resolve this throughput issue?
    a) monitoring includes which parameters? to se possible congestion?
    b) with wat tool?
echo 0xEFFFFFFF > /sys/kernel/debug/ieee80211/phy1/ath10k/debug_level

enjoy! :wink:

1 Like

heh, firstly, what i meant is number of call's, to compare to another setup(router one).
Is there some benchmark result of QCA9984 with the latest openwrt build, similar like mine? just se compare OS numbers?

seems that there is some crucial change between those version, but u can not find what is changed,....

seems that there is some crucial change between those version, but u can not find what is changed:-(

Maybe some sharper eye can tell me what could be the cause of this download boost:

https://svn.dd-wrt.com/changeset?old=33607&old_path=src&new=33772&new_path=src

MUMIMO maybe?