Search Linux Wireless

Re: Where to report mpdus tx vs failed?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/22/2018 05:07 AM, Johannes Berg wrote:
On Mon, 2018-10-22 at 14:06 +0200, Johannes Berg wrote:
On Fri, 2018-10-19 at 11:32 -0700, Ben Greear wrote:

I was hoping I could fit it into some existing stat.  It is sort of like
retries, so that will be my first attempt.

By investigating an RF sniff, I notice the 9880 ath10k (with my fw
and driver, at least), will retransmit about 30% of the frames when running
at least one of my test cases (small udp frame transmit to AP that can only do about mcs5 or mcs7
reliably at 3x3 nss).

I'd like to report this stat in my wifi test tool if nothing else, but
likely other people would make use of it as well.


We have NL80211_STA_INFO_TX_RETRIES, shouldn't you be able to capture it
there?

Or, per TID, NL80211_TID_STATS_TX_MSDU_RETRIES

I added this code (rate is struct ieee80211_tx_rate)

	if (tx_done->mpdus_failed) {
		/* Maybe there is a better way to report this tried vs failed stat up the stack? */
		rate->count = tx_done->mpdus_failed + 1;
	}
	else {
		rate->count = 1;
	}

I think this is mostly providing useful info up the stack and we are trying to verify
the counts against a packet sniff today.  The driver is only reporting
this number for the first packet in the ampdu chain, so all retries are counted against the
first frame (the rest will have mpdus_failed == 0 regardless of how many retries they have).

And, on total retry failure, packets should be reported up the stack as tx-no-ack, so I think
that is working OK too.

I guess mac80211 could use this tx-status to report per-tid if it cared to.  I don't see any
other way to pass such tx failure details up the stack to mac80211.

Thanks,
Ben


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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux