When an 11n capable station try to associate with an AP, the station does not include maximum Rx size and ampdu density set by the driver into an association request packet. So that, the AP might generate ampdu packets bigger than the station can handle. Detailed discussion can be found here. http://lists.freebsd.org/pipermail/freebsd-wireless/2013-February/002878.html Fix: In a brief testing, attached patch fixed the issue. But, need to be checked the patch doesn't break anything. Patch attached with submission follows: How-To-Repeat: 1) Set up an 11n station. 2) Capture an ASSOC_REQ packet sent by the station. 3) Read HT params in the packet.
Responsible Changed From-To: freebsd-bugs->freebsd-wireless Over to maintainer(s).
Hm, this one slipped through. I'll go re-check the patch against what I have here and commit it if it looks good. Sorry!
A commit references this bug: Author: adrian Date: Sun May 10 06:57:53 UTC 2015 New revision: 282704 URL: https://svnweb.freebsd.org/changeset/base/282704 Log: Attempt to address Bug #176201 - don't advertise what the AP announced to us. Instead, advertise what we can do based on what the AP says and what we're capped at by the VAP settings. For non-STA modes we still advertise what our VAP settings are. It may be that I've over-complicated this and instead of capping things we can just always announce what we're capable of. But this should at least stop the blatantly wrong handling of A-MPDU parameters. (I'll happily simplify things if someone can dig up a replacement, better compliant behaviour.) PR: kern/176201 Changes: head/sys/net80211/ieee80211_ht.c