mirror of
https://github.com/shenmintao/aic8800d80.git
synced 2026-09-26 17:44:16 +00:00
Sync WiFi driver, firmware, and DKMS configuration from the bluetooth
branch (which itself is radxa USB driver_fw + Linux 6.16/6.17/6.19
kernel compat). aic_btusb and Bluetooth-specific install.sh logic
are intentionally excluded from main.
Driver updates:
- Add Linux kernel 6.12-6.19 compatibility support
- Add Linux 6.16 timer_container_of and wakelock API support
- Add Debian 6.1.0-26 backport support
- Add USB device ID 368b:8d81 support
- Add AIC8800DW device support
- Add TP-Link Archer TX1U Nano support (USB_VENDOR_ID_TENDA_V2:0x0110)
- Add TENDA series device support (U2, U11, U11 PRO)
- Add AIC8800FC_CUS1-6 series support
- Add AIC8800M80_CUS0-8 series support
- Add UGREEN AIC8800D80 adapter support
- Add Mercury (TP-Link OEM) support
- Allow 1 or 3 USB interfaces (BT-disabled SKUs report 1)
New compat modules:
- aicwf_compat_8800d80n.{c,h}
- aicwf_compat_8800dln.{c,h}
Firmware:
- New: fw/aic8800/, fw/aic8800D80N/, fw/aic8800D80X2/, fw/aic8800DLN/
- Updated: fw/aic8800D80/, fw/aic8800DC/
install.sh:
- Loop over all fw/aic8800* variants instead of hard-coding aic8800D80
- Install usb_modeswitch/1111_1111 config for "Pandora" clone adapter
- Verify firmware install by counting variants
dkms.conf: pass KDIR explicitly to make for cross-kernel builds.
Excluded from this commit (BT-only, kept on bluetooth branch):
- drivers/aic8800/aic_btusb/
- modprobe/aic8800-bt.conf
- diagnose_bt.sh
- install.sh btusb auto-load / hciconfig / bluez status checks
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2790 lines
95 KiB
C
2790 lines
95 KiB
C
/**
|
|
******************************************************************************
|
|
*
|
|
* Copyright (C) 2020 AIC semiconductor.
|
|
*
|
|
* @file regdb.c
|
|
*
|
|
* @brief country code Dependent document
|
|
* https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/
|
|
* wireless-regdb-2025.02.20
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
|
|
#include <linux/nl80211.h>
|
|
#include <linux/version.h>
|
|
#include <net/cfg80211.h>
|
|
|
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
|
|
#define REG_RULE_EXT(start, end, bw, gain, eirp, dfs_cac, reg_flags) \
|
|
{ \
|
|
.freq_range.start_freq_khz = MHZ_TO_KHZ(start), \
|
|
.freq_range.end_freq_khz = MHZ_TO_KHZ(end), \
|
|
.freq_range.max_bandwidth_khz = MHZ_TO_KHZ(bw), \
|
|
.power_rule.max_antenna_gain = DBI_TO_MBI(gain), \
|
|
.power_rule.max_eirp = DBM_TO_MBM(eirp), \
|
|
.flags = reg_flags, \
|
|
}
|
|
#define NL80211_RRF_AUTO_BW 0
|
|
#endif
|
|
|
|
|
|
static const struct ieee80211_regdomain regdom_00 = {
|
|
.alpha2 = "00",
|
|
.n_reg_rules = 2,
|
|
.reg_rules = {
|
|
// 1 - 14
|
|
REG_RULE(2390 - 10, 2510 + 10, 40, 0, 20, 0),
|
|
// 36 - 165
|
|
REG_RULE(5150 - 10, 5970 + 10, 80, 0, 20, 0),
|
|
}
|
|
};
|
|
|
|
#if 0 //for the purpose of testing and verification
|
|
static const struct ieee80211_regdomain regdom_00 = {
|
|
.n_reg_rules = 8,
|
|
.alpha2 = "00",
|
|
.reg_rules = {
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(2457, 2482, 20, 0, 20, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_IR | 0),
|
|
REG_RULE_EXT(2474, 2494, 20, 0, 20, 0, NL80211_RRF_NO_IR | NL80211_RRF_NO_OFDM | 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_IR | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_IR | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 20, 0, NL80211_RRF_NO_IR | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 20, 0, NL80211_RRF_NO_IR | 0),
|
|
REG_RULE_EXT(57240, 63720, 2160, 0, 0, 0, 0),
|
|
}};
|
|
#endif
|
|
|
|
static const struct ieee80211_regdomain regdom_AD = {
|
|
.alpha2 = "AD",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_AE = {
|
|
.alpha2 = "AE",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_AF = {
|
|
.alpha2 = "AF",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_AI = {
|
|
.alpha2 = "AI",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_AL = {
|
|
.alpha2 = "AL",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_AM = {
|
|
.alpha2 = "AM",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5350, 160, 0, 17, 0, NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5875, 160, 0, 17, 0, NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_AN = {
|
|
.alpha2 = "AN",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_AR = {
|
|
.alpha2 = "AR",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_AS = {
|
|
.alpha2 = "AS",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_AT = {
|
|
.alpha2 = "AT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_AU = {
|
|
.alpha2 = "AU",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5600, 80, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5650, 5730, 80, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5730, 5850, 80, 0, 36, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5850, 5875, 20, 0, 14, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5925, 6425, 160, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 43, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 9};
|
|
|
|
static const struct ieee80211_regdomain regdom_AW = {
|
|
.alpha2 = "AW",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_AZ = {
|
|
.alpha2 = "AZ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 18, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 18, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_BA = {
|
|
.alpha2 = "BA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_BB = {
|
|
.alpha2 = "BB",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_BD = {
|
|
.alpha2 = "BD",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_BE = {
|
|
.alpha2 = "BE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_BF = {
|
|
.alpha2 = "BF",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_BG = {
|
|
.alpha2 = "BG",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_BH = {
|
|
.alpha2 = "BH",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5350, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5470, 5725, 80, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_BL = {
|
|
.alpha2 = "BL",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_BM = {
|
|
.alpha2 = "BM",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_BN = {
|
|
.alpha2 = "BN",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 20, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_BO = {
|
|
.alpha2 = "BO",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_BR = {
|
|
.alpha2 = "BR",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 27, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 27, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 30, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_NO_IR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_BS = {
|
|
.alpha2 = "BS",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_BT = {
|
|
.alpha2 = "BT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_BW = {
|
|
.alpha2 = "BW",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_BY = {
|
|
.alpha2 = "BY",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_BZ = {
|
|
.alpha2 = "BZ",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_CA = {
|
|
.alpha2 = "CA",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5600, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5650, 5730, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_CF = {
|
|
.alpha2 = "CF",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 40, 0, 17, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 40, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5730, 40, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 40, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_CH = {
|
|
.alpha2 = "CH",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_CI = {
|
|
.alpha2 = "CI",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_CL = {
|
|
.alpha2 = "CL",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_CN = {
|
|
.alpha2 = "CN",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 33, 0, 0),
|
|
REG_RULE_EXT(57240, 59400, 2160, 0, 28, 0, 0),
|
|
REG_RULE_EXT(59400, 63720, 2160, 0, 44, 0, 0),
|
|
REG_RULE_EXT(63720, 65880, 2160, 0, 28, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_CO = {
|
|
.alpha2 = "CO",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_CR = {
|
|
.alpha2 = "CR",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 20, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 20, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5730, 20, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 20, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5875, 5925, 20, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 30, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_CU = {
|
|
.alpha2 = "CU",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5150, 5350, 80, 0, 23, 0, NL80211_RRF_NO_IR | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 80, 0, 24, 0, NL80211_RRF_NO_IR | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 23, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_CX = {
|
|
.alpha2 = "CX",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_CY = {
|
|
.alpha2 = "CY",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_CZ = {
|
|
.alpha2 = "CZ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_DE = {
|
|
.alpha2 = "DE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_DK = {
|
|
.alpha2 = "DK",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_DM = {
|
|
.alpha2 = "DM",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_DO = {
|
|
.alpha2 = "DO",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 15, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_DZ = {
|
|
.alpha2 = "DZ",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5670, 160, 0, 23, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_EC = {
|
|
.alpha2 = "EC",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 21, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 21, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_EE = {
|
|
.alpha2 = "EE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_EG = {
|
|
.alpha2 = "EG",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_ES = {
|
|
.alpha2 = "ES",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_ET = {
|
|
.alpha2 = "ET",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_FI = {
|
|
.alpha2 = "FI",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_FM = {
|
|
.alpha2 = "FM",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_FR = {
|
|
.alpha2 = "FR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 160, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_GB = {
|
|
.alpha2 = "GB",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5925, 6425, 160, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_GD = {
|
|
.alpha2 = "GD",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_GE = {
|
|
.alpha2 = "GE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 18, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 18, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_GF = {
|
|
.alpha2 = "GF",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_GH = {
|
|
.alpha2 = "GH",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_GI = {
|
|
.alpha2 = "GI",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_GL = {
|
|
.alpha2 = "GL",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_GP = {
|
|
.alpha2 = "GP",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_GR = {
|
|
.alpha2 = "GR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_GT = {
|
|
.alpha2 = "GT",
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 27, 0, 0),
|
|
REG_RULE_EXT(5150, 5350, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 27, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(6425, 6525, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(6525, 6875, 320, 0, 22, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(6875, 7125, 160, 0, 22, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 13, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 9};
|
|
|
|
static const struct ieee80211_regdomain regdom_GU = {
|
|
.alpha2 = "GU",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 20, 0, 17, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 20, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5730, 20, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 20, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_GY = {
|
|
.alpha2 = "GY",
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 23, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_HK = {
|
|
.alpha2 = "HK",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5730, 5850, 80, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 160, 0, 14, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_HN = {
|
|
.alpha2 = "HN",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_NO_IR | 0),
|
|
REG_RULE_EXT(57240, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_HR = {
|
|
.alpha2 = "HR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_HT = {
|
|
.alpha2 = "HT",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_HU = {
|
|
.alpha2 = "HU",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_ID = {
|
|
.alpha2 = "ID",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 27, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5150, 5350, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_IE = {
|
|
.alpha2 = "IE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_IL = {
|
|
.alpha2 = "IL",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_IN = {
|
|
.alpha2 = "IN",
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_IQ = {
|
|
.alpha2 = "IQ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_IR = {
|
|
.alpha2 = "IR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_NO_INDOOR | NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_IS = {
|
|
.alpha2 = "IS",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_IT = {
|
|
.alpha2 = "IT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_JM = {
|
|
.alpha2 = "JM",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_JO = {
|
|
.alpha2 = "JO",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 80, 0, 27, 0, NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_JP = {
|
|
.alpha2 = "JP",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(2474, 2494, 20, 0, 20, 0, NL80211_RRF_NO_OFDM | 0),
|
|
REG_RULE_EXT(4910, 4990, 40, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 23, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 10, 0, 0),
|
|
},
|
|
.n_reg_rules = 8};
|
|
|
|
static const struct ieee80211_regdomain regdom_KE = {
|
|
.alpha2 = "KE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 33, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 17, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 40, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_KG = {
|
|
.alpha2 = "KG",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_KH = {
|
|
.alpha2 = "KH",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_KN = {
|
|
.alpha2 = "KN",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5815, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_KP = {
|
|
.alpha2 = "KP",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 20, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 20, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 20, 0, 20, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5630, 20, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5815, 20, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_KR = {
|
|
.alpha2 = "KR",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5150, 5230, 40, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5230, 5250, 20, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 20, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 160, 0, 15, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 43, 0, 0),
|
|
},
|
|
.n_reg_rules = 8};
|
|
|
|
static const struct ieee80211_regdomain regdom_KW = {
|
|
.alpha2 = "KW",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 17, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5825, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_KY = {
|
|
.alpha2 = "KY",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_KZ = {
|
|
.alpha2 = "KZ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 20, 0, NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_LB = {
|
|
.alpha2 = "LB",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_LC = {
|
|
.alpha2 = "LC",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5815, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_LI = {
|
|
.alpha2 = "LI",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_LK = {
|
|
.alpha2 = "LK",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 20, 0, 17, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 20, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5730, 20, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 20, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_LS = {
|
|
.alpha2 = "LS",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_LT = {
|
|
.alpha2 = "LT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_LU = {
|
|
.alpha2 = "LU",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_LV = {
|
|
.alpha2 = "LV",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_LY = {
|
|
.alpha2 = "LY",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_MA = {
|
|
.alpha2 = "MA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_MC = {
|
|
.alpha2 = "MC",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_MD = {
|
|
.alpha2 = "MD",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_ME = {
|
|
.alpha2 = "ME",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_MF = {
|
|
.alpha2 = "MF",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_MH = {
|
|
.alpha2 = "MH",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_MK = {
|
|
.alpha2 = "MK",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_MN = {
|
|
.alpha2 = "MN",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_MO = {
|
|
.alpha2 = "MO",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_MP = {
|
|
.alpha2 = "MP",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_MQ = {
|
|
.alpha2 = "MQ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_MR = {
|
|
.alpha2 = "MR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_MT = {
|
|
.alpha2 = "MT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_MU = {
|
|
.alpha2 = "MU",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_MV = {
|
|
.alpha2 = "MV",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 20, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_MW = {
|
|
.alpha2 = "MW",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_MX = {
|
|
.alpha2 = "MX",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_MY = {
|
|
.alpha2 = "MY",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 27, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 30, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 30, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5650, 160, 0, 30, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_NA = {
|
|
.alpha2 = "NA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 21, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_NG = {
|
|
.alpha2 = "NG",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_NI = {
|
|
.alpha2 = "NI",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_NL = {
|
|
.alpha2 = "NL",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_NO = {
|
|
.alpha2 = "NO",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_NP = {
|
|
.alpha2 = "NP",
|
|
.dfs_region = NL80211_DFS_JP,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 20, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_NZ = {
|
|
.alpha2 = "NZ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 30, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 27, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_OM = {
|
|
.alpha2 = "OM",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 28, 0, NL80211_RRF_DFS | NL80211_RRF_NO_INDOOR | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_PA = {
|
|
.alpha2 = "PA",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 36, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 36, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 30, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 36, 0, 0),
|
|
REG_RULE_EXT(57000, 64000, 2160, 0, 43, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_PE = {
|
|
.alpha2 = "PE",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_PF = {
|
|
.alpha2 = "PF",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_PG = {
|
|
.alpha2 = "PG",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_PH = {
|
|
.alpha2 = "PH",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 24, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_PK = {
|
|
.alpha2 = "PK",
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2500, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_PL = {
|
|
.alpha2 = "PL",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_PM = {
|
|
.alpha2 = "PM",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_PR = {
|
|
.alpha2 = "PR",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_PT = {
|
|
.alpha2 = "PT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_PW = {
|
|
.alpha2 = "PW",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_PY = {
|
|
.alpha2 = "PY",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_QA = {
|
|
.alpha2 = "QA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW |
|
|
NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_RE = {
|
|
.alpha2 = "RE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_RO = {
|
|
.alpha2 = "RO",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_RS = {
|
|
.alpha2 = "RS",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5850, 5875, 20, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 8};
|
|
|
|
static const struct ieee80211_regdomain regdom_RU = {
|
|
.alpha2 = "RU",
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5350, 160, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5650, 5850, 160, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5925, 6425, 160, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0,
|
|
NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_RW = {
|
|
.alpha2 = "RW",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_SA = {
|
|
.alpha2 = "SA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_SE = {
|
|
.alpha2 = "SE",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_SG = {
|
|
.alpha2 = "SG",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 23, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_SI = {
|
|
.alpha2 = "SI",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_SK = {
|
|
.alpha2 = "SK",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5875, 80, 0, 14, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_SM = {
|
|
.alpha2 = "SM",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_SN = {
|
|
.alpha2 = "SN",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_SR = {
|
|
.alpha2 = "SR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_SV = {
|
|
.alpha2 = "SV",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 20, 0, 17, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 20, 0, 23, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 20, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_SY = {
|
|
.alpha2 = "SY",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5850, 5875, 20, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_TC = {
|
|
.alpha2 = "TC",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_TD = {
|
|
.alpha2 = "TD",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_TG = {
|
|
.alpha2 = "TG",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5150, 5350, 80, 0, 20, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5470, 5850, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_TH = {
|
|
.alpha2 = "TH",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 24, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_TJ = {
|
|
.alpha2 = "TJ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_TM = {
|
|
.alpha2 = "TM",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_TN = {
|
|
.alpha2 = "TN",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_TR = {
|
|
.alpha2 = "TR",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_TT = {
|
|
.alpha2 = "TT",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_TW = {
|
|
.alpha2 = "TW",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 23, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 23, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 7};
|
|
|
|
static const struct ieee80211_regdomain regdom_TZ = {
|
|
.alpha2 = "TZ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5945, 6425, 320, 0, 23, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
|
|
static const struct ieee80211_regdomain regdom_UA = {
|
|
.alpha2 = "UA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 20, 0,
|
|
NL80211_RRF_NO_OUTDOOR | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR |
|
|
NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5470, 5725, 160, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5725, 5850, 80, 0, 20, 0, NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57000, 66000, 2160, 0, 16, 0,
|
|
NL80211_RRF_NO_OUTDOOR | 0),
|
|
},
|
|
.n_reg_rules = 6};
|
|
|
|
static const struct ieee80211_regdomain regdom_UG = {
|
|
.alpha2 = "UG",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_US = {
|
|
.alpha2 = "US",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
// 1...11
|
|
REG_RULE_EXT(2400, 2472, 40, 0, 30, 0, 0),
|
|
// 36 40 44 48
|
|
REG_RULE_EXT(5150, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
// 52 56 60 64
|
|
REG_RULE_EXT(5250, 5350, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
// 100 104 108 112 116 120 124
|
|
REG_RULE_EXT(5470, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
// 128 132 136 140
|
|
REG_RULE_EXT(5730, 5850, 80, 0, 30, 0, NL80211_RRF_AUTO_BW | 0),
|
|
// 149 153 157 161 165
|
|
REG_RULE_EXT(5850, 5895, 40, 0, 27, 0,
|
|
NL80211_RRF_AUTO_BW | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(5925, 7125, 320, 0, 12, 0,
|
|
NL80211_RRF_NO_IR | NL80211_RRF_NO_OUTDOOR | 0),
|
|
REG_RULE_EXT(57240, 71000, 2160, 0, 40, 0, 0),
|
|
},
|
|
.n_reg_rules = 8};
|
|
|
|
static const struct ieee80211_regdomain regdom_UY = {
|
|
.alpha2 = "UY",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0, NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_UZ = {
|
|
.alpha2 = "UZ",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
},
|
|
.n_reg_rules = 3};
|
|
|
|
static const struct ieee80211_regdomain regdom_VC = {
|
|
.alpha2 = "VC",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_VE = {
|
|
.alpha2 = "VE",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 23, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 23, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_VI = {
|
|
.alpha2 = "VI",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2472, 40, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 24, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_VN = {
|
|
.alpha2 = "VN",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5730, 80, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_VU = {
|
|
.alpha2 = "VU",
|
|
.dfs_region = NL80211_DFS_FCC,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 17, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 24, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5730, 160, 0, 24, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5735, 5835, 80, 0, 30, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
static const struct ieee80211_regdomain regdom_WF = {
|
|
.alpha2 = "WF",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_WS = {
|
|
.alpha2 = "WS",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5250, 5330, 40, 0, 20, 0, NL80211_RRF_DFS | 0),
|
|
REG_RULE_EXT(5490, 5710, 40, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_FK = {
|
|
.alpha2 = "FK",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_FO = {
|
|
.alpha2 = "FO",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_YE = {
|
|
.alpha2 = "YE",
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
},
|
|
.n_reg_rules = 1};
|
|
|
|
static const struct ieee80211_regdomain regdom_YT = {
|
|
.alpha2 = "YT",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
static const struct ieee80211_regdomain regdom_ZA = {
|
|
.alpha2 = "ZA",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 30, 0, 0),
|
|
REG_RULE_EXT(5925, 6425, 320, 0, 14, 0, 0),
|
|
},
|
|
.n_reg_rules = 5};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_ZM = {
|
|
.alpha2 = "ZM",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2400, 2483, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5725, 5825, 80, 0, 33, 0, 0),
|
|
},
|
|
.n_reg_rules = 2};
|
|
|
|
static const struct ieee80211_regdomain regdom_ZW = {
|
|
.alpha2 = "ZW",
|
|
.dfs_region = NL80211_DFS_ETSI,
|
|
.reg_rules =
|
|
{
|
|
REG_RULE_EXT(2402, 2482, 40, 0, 20, 0, 0),
|
|
REG_RULE_EXT(5170, 5250, 80, 0, 20, 0, NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5250, 5330, 80, 0, 20, 0,
|
|
NL80211_RRF_DFS | NL80211_RRF_AUTO_BW | 0),
|
|
REG_RULE_EXT(5490, 5710, 160, 0, 27, 0, NL80211_RRF_DFS | 0),
|
|
},
|
|
.n_reg_rules = 4};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_WW = {
|
|
.n_reg_rules = 2,
|
|
.alpha2 = "WW",
|
|
.reg_rules =
|
|
{
|
|
// 1...14
|
|
REG_RULE(2390 - 10, 2510 + 10, 40, 0, 20, 0),
|
|
// 36...165
|
|
REG_RULE(5150 - 10, 5970 + 10, 80, 0, 20, 0),
|
|
},
|
|
};
|
|
|
|
//kernel undefined
|
|
static const struct ieee80211_regdomain regdom_XX = {
|
|
.n_reg_rules = 1,
|
|
.alpha2 = "XX",
|
|
.reg_rules =
|
|
{
|
|
/* IEEE 802.11b/g, channels 1..11 */
|
|
REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0),
|
|
},
|
|
};
|
|
|
|
const struct ieee80211_regdomain *reg_regdb[] = {
|
|
®dom_00, ®dom_AD, ®dom_AE, ®dom_AF, ®dom_AI, ®dom_AL,
|
|
®dom_AM, ®dom_AN, ®dom_AR, ®dom_AS, ®dom_AT, ®dom_AU,
|
|
®dom_AW, ®dom_AZ, ®dom_BA, ®dom_BB, ®dom_BD, ®dom_BE,
|
|
®dom_BF, ®dom_BG, ®dom_BH, ®dom_BL, ®dom_BM, ®dom_BN,
|
|
®dom_BO, ®dom_BR, ®dom_BS, ®dom_BT, ®dom_BY, ®dom_BZ,
|
|
®dom_CA, ®dom_CF, ®dom_CH, ®dom_CI, ®dom_CL, ®dom_CN,
|
|
®dom_CO, ®dom_CR, ®dom_CX, ®dom_CY, ®dom_CZ, ®dom_DE,
|
|
®dom_DK, ®dom_DM, ®dom_DO, ®dom_DZ, ®dom_EC, ®dom_EE,
|
|
®dom_EG, ®dom_ES, ®dom_ET, ®dom_FI, ®dom_FM, ®dom_FR,
|
|
®dom_GB, ®dom_GD, ®dom_GE, ®dom_GF, ®dom_GH, ®dom_GL,
|
|
®dom_GP, ®dom_GR, ®dom_GT, ®dom_GU, ®dom_GY, ®dom_HK,
|
|
®dom_HN, ®dom_HR, ®dom_HT, ®dom_HU, ®dom_ID, ®dom_IE,
|
|
®dom_IL, ®dom_IN, ®dom_IR, ®dom_IS, ®dom_IT, ®dom_JM,
|
|
®dom_JO, ®dom_JP, ®dom_KE, ®dom_KH, ®dom_KN, ®dom_KP,
|
|
®dom_KR, ®dom_KW, ®dom_KY, ®dom_KZ, ®dom_LB, ®dom_LC,
|
|
®dom_LI, ®dom_LK, ®dom_LS, ®dom_LT, ®dom_LU, ®dom_LV,
|
|
®dom_MA, ®dom_MC, ®dom_MD, ®dom_ME, ®dom_MF, ®dom_MH,
|
|
®dom_MK, ®dom_MN, ®dom_MO, ®dom_MP, ®dom_MQ, ®dom_MR,
|
|
®dom_MT, ®dom_MU, ®dom_MW, ®dom_MX, ®dom_MY, ®dom_NI,
|
|
®dom_NL, ®dom_NO, ®dom_NP, ®dom_NZ, ®dom_OM, ®dom_PA,
|
|
®dom_PE, ®dom_PF, ®dom_PG, ®dom_PH, ®dom_PK, ®dom_PL,
|
|
®dom_PM, ®dom_PR, ®dom_PT, ®dom_PW, ®dom_PY, ®dom_QA,
|
|
®dom_RE, ®dom_RO, ®dom_RS, ®dom_RU, ®dom_RW, ®dom_SA,
|
|
®dom_SE, ®dom_SG, ®dom_SI, ®dom_SK, ®dom_SN, ®dom_SR,
|
|
®dom_SV, ®dom_SY, ®dom_TC, ®dom_TD, ®dom_TG, ®dom_TH,
|
|
®dom_TN, ®dom_TR, ®dom_TT, ®dom_TW, ®dom_UA, ®dom_UG,
|
|
®dom_US, ®dom_UY, ®dom_UZ, ®dom_VC, ®dom_VE, ®dom_VI,
|
|
®dom_VN, ®dom_VU, ®dom_WF, ®dom_YE, ®dom_YT, ®dom_ZA,
|
|
®dom_ZW, ®dom_BW, ®dom_GI, ®dom_IQ, ®dom_KG, ®dom_LY,
|
|
®dom_MV, ®dom_NA, ®dom_NG, ®dom_SM, ®dom_TJ, ®dom_TM,
|
|
®dom_FK, ®dom_FO, ®dom_ZM, ®dom_CU, ®dom_TZ, ®dom_WS,
|
|
®dom_WW, ®dom_XX,
|
|
};
|
|
|
|
int reg_regdb_size = ARRAY_SIZE(reg_regdb);
|