Implement EU regulatory domain
Please consider the attached patch (inline sign-off & short description) for inclusion in 2.6.27
Regards,
Tony V.
UNIX systems administrator
London Internet Exchange (LINX)
Implement missing EU regulatory domain for mac80211. Based on the information in IEEE 802.11-2007 (specifically pages 1142, 1143 & 1148) and ETSI 301 893 (V1.4.1).
With thanks to Johannes Berg.
wireless/reg.c renamed from wireless/reg.c.orig +18 -0
@@ -80,6 +80,23 @@ IEEE80211_CHAN_RADAR), }; +static const struct ieee80211_channel_range ieee80211_EU_channels[] = { +/* IEEE 802.11b/g, channels 1..13 */ +RANGE_PWR (2412 ,2472 ,20 ,6 ,0 ), +/* IEEE 802.11a, channel 36*/ +RANGE_PWR (5180 ,5180 ,23 ,6 ,IEEE80211_CHAN_PASSIVE_SCAN ), +/* IEEE 802.11a, channel 40*/ +RANGE_PWR (5200 ,5200 ,23 ,6 ,IEEE80211_CHAN_PASSIVE_SCAN ), +/* IEEE 802.11a, channel 44*/ +RANGE_PWR (5220 ,5220 ,23 ,6 ,IEEE80211_CHAN_PASSIVE_SCAN ), +/* IEEE 802.11a, channels 48..64 */ +RANGE_PWR (5240 ,5320 ,23 ,6 ,IEEE80211_CHAN_NO_IBSS | +IEEE80211_CHAN_RADAR ), +/* IEEE 802.11a, channels 100..140 */ +RANGE_PWR (5500 ,5700 ,30 ,6 ,IEEE80211_CHAN_NO_IBSS | +IEEE80211_CHAN_RADAR ), +}; +#define REGDOM (_code) \ { \ .code = __stringify(_code), \
@@ -90,6 +107,7 @@static const struct ieee80211_regdomain ieee80211_regdoms[] = {REGDOM (US ),REGDOM (JP ), +REGDOM (EU ), };
Johannes Berg
Acked-byQuoted 6 lines
Implement missing EU regulatory domain for mac80211. Based on the information in IEEE 802.11-2007 (specifically pages 1142, 1143 & 1148)
and ETSI 301 893 (V1.4.1).
With thanks to Johannes Berg.
Technically not mac80211 but cfg80211 ;)
Quoted 1 line
Signed-off-by Tony Vroon <[email protected]>
Quoted 35 lines
wireless/reg.c 2008-06-04 19:25:34.000000000 +0100 renamed from wireless/reg.c.orig 2008-06-04 16:29:54.000000000 +0100 +17
-0@@ -80,6 +80,23 @@ IEEE80211_CHAN_RADAR), }; +static const struct ieee80211_channel_range ieee80211_EU_channels[] = { + /* IEEE 802.11b/g, channels 1..13 */ + RANGE_PWR(2412, 2472, 20, 6, 0), + /* IEEE 802.11a, channel 36*/ + RANGE_PWR(5180, 5180, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN), + /* IEEE 802.11a, channel 40*/ + RANGE_PWR(5200, 5200, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN), + /* IEEE 802.11a, channel 44*/ + RANGE_PWR(5220, 5220, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN), + /* IEEE 802.11a, channels 48..64 */ + RANGE_PWR(5240, 5320, 23, 6, IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_RADAR), + /* IEEE 802.11a, channels 100..140 */ + RANGE_PWR(5500, 5700, 30, 6, IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_RADAR), +}; + #define REGDOM(_code) \{ \ .code =
__stringify(_code), \wireless/reg.c 2008-06-04 19:25:34.000000000 +0100 renamed from wireless/reg.c.orig 2008-06-04 16:29:54.000000000 +0100 +1
-0@@ -90,6 +107,7 @@ static const struct ieee80211_regdomain ieee80211_regdoms[] = { REGDOM(US), REGDOM(JP), + REGDOM(EU), };
Quoted 11 lines · Johannes Berg
Quoted 5 lines
Implement missing EU regulatory domain for mac80211. Based on the information in IEEE 802.11-2007 (specifically pages 1142, 1143 & 1148)
and ETSI 301 893 (V1.4.1).
With thanks to Johannes Berg.Technically not mac80211 but cfg80211 ;)
Quoted 1 line
Signed-off-by Tony Vroon <[email protected]>Acked-by Johannes Berg <[email protected]>
John, can we have that commit in 2.6.26? It fixes a problem that users in the EU are not able to properly use the spectrum they are allowed to.
johannes