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