Unicast packets stop being transmitted to a particular station, under load, when WPA2 is enabled

Adrian Chadd adrian at freebsd.org
Wed May 14 12:38:00 PDT 2014


[snip]

I found a lot of .. bad behaving WME/TID/QoS mapping code in freebsd's
atheros and net80211 code. It wouldn't surprise me to find the same in
Linux. There's not always a lot of driver / stack testing with
multiple overlapping TID traffic. (I found a lot out by actually
running lots of torrents whilst working; that triggers some bulk/best
effort/high priority concurrent traffic and it clued me in for how
screwed up it is.)

Ok, so the "seqno = 0" thing is something that various wireless stacks
do (including a couple of freebsd drivers, ugh) - when aggregation is
enabled, they reset the seqno back to 0 before continuing. It's kind
of odd, but it's typically because the non-aggregation seqno space was
done by the wireless stack (net80211 or derived) but then aggregation,
BAW tracking transmit/retransmit is done by the driver and/or
firmware. Thus it doesn't actually know about the sequence numbers in
question.

Yes, you negotiate a different block-ack setup with each TID. Same as
how each TID has a separate sequence number space. It gets more
interesting, as there's only one set of keys for all TIDs, yet each
TID can have a separate replay counter.

Anyway, lemme look at the trace. I'd like to see what's going on after
the negotitation.


-a



More information about the ath10k mailing list