@@ -116,6 +116,26 @@ config ATH9K_DFS_CERTIFIED
developed. At this point enabling this option won't do anything
except increase code size.
+config ATH9K_LICENSED_CHAN
+ bool "Support channels in licensed bands"
+ depends on ATH9K && CFG80211_CERTIFICATION_ONUS
+ default n
+ ---help---
+ This option enables support for licensed channels on such as
+ 4.9 GHz (public safety).
+
+ These are PUBLIC SAFETY CHANNELS and MUST NOT BE USED in most
+ regulatory domains UNLESS YOU HAVE A FULL LICENSE for their use from
+ your local radio regulator, e.g. the FCC or equivalent. Using these
+ channels without proper authorisation may result in serious legal
+ consequences.
+
+ You will also have to build a regulatory database with these channels
+ enabled to actually use them.
+
+ If you are a distro kernel builder or have any doubt whatsoever about
+ your legal ability to use these channels, say N.
+
config ATH9K_DYNACK
bool "Atheros ath9k ACK timeout estimation algorithm (EXPERIMENTAL)"
depends on ATH9K
@@ -86,6 +86,21 @@ static const struct ieee80211_channel ath9k_5ghz_chantable[] = {
CHAN5G(5785, 35), /* Channel 157 */
CHAN5G(5805, 36), /* Channel 161 */
CHAN5G(5825, 37), /* Channel 165 */
+
+#ifdef CONFIG_ATH9K_LICENSED_CHAN
+ /* 4.9Ghz channels, public safety channels, license is required in US
+ * and most other regulatory domains!
+ */
+ /* 802.11j 4.9 GHz (20 MHz) */
+ CHAN5G(4920, 38), /* channel 184 */
+ CHAN5G(4940, 39), /* channel 188 */
+ CHAN5G(4960, 40), /* channel 192 */
+ CHAN5G(4980, 41), /* channel 196 */
+ /* 802.11j 5.030 - 5.080 GHz (20 MHz) */
+ CHAN5G(5040, 42), /* channel 8 */
+ CHAN5G(5060, 43), /* channel 12 */
+ CHAN5G(5080, 44), /* channel 16 */
+#endif
};
/* Atheros hardware rate code addition for short premble */
@@ -73,7 +73,11 @@
#define ATH9K_RSSI_BAD -128
+#ifdef CONFIG_ATH9K_LICENSED_CHAN
+#define ATH9K_NUM_CHANNELS 45
+#else
#define ATH9K_NUM_CHANNELS 38
+#endif
/* Register read/write primitives */
#define REG_WRITE(_ah, _reg, _val) \