802.11n support for the ath(4) NICs
| Driver | HAL | Supported Hardware | 802.11n support |
Overview
The driver in FreeBSD-HEAD supports 802.11n TX and RX. It is still under active development and is suitable for local testing. It is not yet production ready.
The 802.11n support is for station and hostap mode. Adhoc, Mesh, TDMA, etc are not currently supported.
Current Development
The details can be found on the development page: AdrianChadd/AtherosTxAgg.
Hardware
The following NICs are supported for 802.11n operation:
- AR5416, AR5418
- AR9130 (Wireless SoC)
- AR9160
- AR9220, AR9280
- AR9285
- AR9227, AR9287
How to use it
- You must be using FreeBSD-HEAD.
- Add "options ATH_ENABLE_11N" to the kernel configuration and recompile.
- Also add AH_DEBUG, ATH_DEBUG and ATH_DIAGAPI options as well to aid in debugging.
bgscan is not supported for now - please disable it (-bgscan) when creating VAPs.
"ifconfig -v wlan0 list channel" should show 802.11n channels "ht".
In station mode, it will negotiate 802.11n as required.
In hostap mode, 802.11n can be specified in the channel configuration:
# ifconfig wlan0 channel 6:ht/40
Caveats
- The only encryption supported in 802.11n mode is AES-CCMP. TKIP and WEP will work but as they are not covered in the 802.11n specification, unpredictable results may occur. If configuring the NIC in hostap mode, please ensure that the group and session key only uses AES-CCMP.
wpa_pairwise=CCMP
Known issues
- bgscan (background scan) isn't currently supported. You must disable it.
- Don't do a foreground scan manually if live traffic is currently going on or you'll find that your aggregation session will hang. It's for similar reasons as to why bgscan doesn't work.
- The driver doesn't support filtered frames from the TX engine and thus power save support/behaviour is very sub-optimal.
- .. and for now, please understand that (hostap only) PS-Poll and power save support likely don't work with aggregation enabled.
- There's no STA/adhoc power save support at the present moment.
Reporting issues
Please report issues to freebsd-wireless@freebsd.org . Please keep in mind that AdrianChadd won't help unless:
- You're running FreeBSD-HEAD - ie, if you run the driver on -8 or -9 then you're on your own;
- All the debugging options above are enabled;
- Make sure the tools in src/tools/ath/ath/athstats/ have been compiled;
- Please ensure the -HEAD debugging options are enabled - specifically the locking, witness and invariants checks.