freebsd-skq/sys
adrian 8c71055773 Attempt to make 5GHz HT/40 work on the 6xxx series NICs.
The 6205 (Taylor Peak) in the Lenovo X230 works fine in 5GHz 11a and 11n HT20,
but not 11n HT40.  The NIC goes RX deaf the moment HT40 is configured.
It's so RX deaf that it doesn't even hear beacons and the firmware sends
"BEACON MISS" events.  That's pretty deaf.

I tried configuring up the HT40 flags in monitor mode and it worked - so
I assumed that doing the transition from 20 -> 40MHz channel configuration
when going auth->assoc (ie, after the NIC has been partially configured)
is a problem.

So for now, let's just always set them if they're available.

Tested:

* Intel 5300, STA mode, 5GHz HT/40 AP; 2GHz HT/20 AP
* Intel 6205, STA mode, 5GHz HT/40, HT20, 11a AP; 2GHz HT/20 AP

This was pointed out to me by coworkers trying to use FreeBSD-HEAD
in the office on their Thinkpad T420p laptops.

TODO:

* I don't like how the HT40 flags are configured - the whole interop/
  protection config should be re-checked.  Notably, I think curhtprotmode
  is 0 in a lot of cases, which means "no interoperability" and i think
  that's busted.

Sponsored by:	Norse Corp, Inc.
2015-07-07 03:51:29 +00:00
..
amd64 Move the 'devmem' device nodes from /dev/vmm to /dev/vmm.io 2015-07-06 19:41:43 +00:00
arm Enable ipsec by default on all armv6 platforms. 2015-07-05 14:16:31 +00:00
arm64 Introduce ITS support for ARM64 2015-07-06 18:27:41 +00:00
boot Install loader.rc with ARM u-boot loader (ubldr). 2015-07-04 16:19:38 +00:00
bsm
cam Make first step toward supporting target and initiator roles same time. 2015-07-05 03:38:58 +00:00
cddl fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
compat fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
conf Introduce ITS support for ARM64 2015-07-06 18:27:41 +00:00
contrib Move the nvlist source and private includes from sys/kern to seperate 2015-07-04 16:33:37 +00:00
crypto Fix for non-random IV's when CRD_F_IV_PRESENT and CRD_F_IV_EXPLICIT 2015-07-06 19:30:29 +00:00
ddb Correct the function name in catch-all error handling case. 2015-06-17 10:20:59 +00:00
dev Attempt to make 5GHz HT/40 work on the 6xxx series NICs. 2015-07-07 03:51:29 +00:00
fs Check suspendability on the mountpoint returned by VOP_GETWRITEMOUNT. 2015-07-05 22:37:33 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Properly propagate errors in metadata reading. 2015-07-02 10:57:34 +00:00
gnu
i386 Fix up tabs vs. spaces 2015-07-04 20:31:06 +00:00
isa
kern tty: replace several curthread->td_proc with stored curproc 2015-07-06 18:53:56 +00:00
kgssapi
libkern Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
mips Reshuffle all of the DDR flush operations into a single switch/mux, 2015-07-04 03:05:57 +00:00
modules improve dependencies for this module a bit... not great, but at 2015-07-04 08:16:32 +00:00
net Fix if_loop so bpfwrite() can use it regardless of the state of 2015-07-06 02:12:49 +00:00
net80211 Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
netgraph Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
netinet Avoid doing multiple route lookups for the same destination IP during forwarding 2015-07-02 18:10:41 +00:00
netinet6 Keep IPv6 address specified by IPV6_PKTINFO socket option in kernel 2015-07-03 19:01:38 +00:00
netipsec Fill the port and protocol information in the SADB_ACQUIRE message 2015-07-06 12:40:31 +00:00
netnatm
netpfil ALTQ FAIRQ discipline import from DragonFLY 2015-06-24 19:16:41 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Fix broken implementation of "kvasprintf()" function by adding missing 2015-07-03 11:16:20 +00:00
opencrypto change the KASSERT so it is meaningful, var is unsigned, so even 2015-06-19 22:42:26 +00:00
pc98 Fix up tabs vs. spaces 2015-07-04 20:31:06 +00:00
powerpc style(9) cleanups. 2015-07-07 02:37:29 +00:00
rpc
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Fix up tabs vs. spaces 2015-07-04 20:31:06 +00:00
sys Check suspendability on the mountpoint returned by VOP_GETWRITEMOUNT. 2015-07-05 22:37:33 +00:00
teken
tools
ufs Check suspendability on the mountpoint returned by VOP_GETWRITEMOUNT. 2015-07-05 22:37:33 +00:00
vm Add a local variable initialization needed in the OBJT_DEFAULT case. 2015-07-05 22:26:19 +00:00
x86 Set the initial system time to a sane (as in: not end of 21st century) value when 2015-06-29 17:02:09 +00:00
xdr
xen Garbage collect comments which related to the pre-r284296 support for a 2015-06-21 06:05:33 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00