Help with WiFi Streaming (ie noack) mode.

Nick Dennis enjay77 at gmail.com
Sat Sep 11 17:08:44 PDT 2021


("WiFi Streaming" is just a more descriptive name for the desired wifi 
behaviour.
The wifi keeps streaming packets without waiting for ACKS/Block ACKs.)

I'm working with ath10k-ct, the boot announceent shows:

[   17.250943] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c 
chip_id 0x043222ff sub 0000:0000
[   17.260370] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 
tracing 0 dfs 1 testmode 0
[   23.753344] ath10k_pci 0000:00:00.0: firmware ver 
10.1-ct-8x-__fH-022-ecad3248 api 2 features 
wmi-10.x,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT 
crc32 1b2a161c

In noack mode, rate control algorithms won't know whether a packet 
transmission was successful or not, so a fixed rate has to be set, 
normally with only 1 try.

So far, I've patched mac80211 and ath10k-ct so that

root at Openwrt:/#iw dev wlan0 set bitrates ht-mcs-5 vht-mcs-5 1:9 2:9 sgi-5

sets a single rate bit in the ath10k_vif bitrate_mask.control[ band 
].vht_mcs[ 0 ]
and

root at Openwrt:/#iw wlan0 set noack_map 0x00ff

sets the ieee80211_tx_info flag IEEE80211_TX_CTL_NO_ACK for data packets.

Also needed a patch to ath10k function ath10k_htt_tx_32 for the fixed 
rate to show in the gui association list
- detect info->flags & IEEE80211_TX_CTL_NO_ACK and
- set the variables pream_type, nss, mcs and num_retries from ath10k_vif
- which then set up txbuf->cmd_tx.peerid.

While running iperf across a link:
- setting the fixed rate causes the throughput to change accordingly
- but setting the noack_map causes
-- the rate shown on the gui to drop from 400 to 173 Mbps
-- packets stop being aggregated.
so the throughput drops from about 200 Mbps to about 80 Mbps

What am i missing?




More information about the openwrt-devel mailing list