Help with WiFi Streaming (ie noack) mode.

Ben Greear greearb at candelatech.com
Mon Sep 13 07:37:16 PDT 2021


On 9/11/21 5:08 PM, Nick Dennis wrote:
> ("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?

Not sure, but maybe try leaving rate-control and rest of the stack alone.  Instead use ath10k 'set_rate_overrides'
debugfs to set rate as you wish and disable retries?

Thanks,
Ben

> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the openwrt-devel mailing list