The mappings from ath was not synced with the QCA driver since 2009. Only
two minor fixes were integrated in 2011. Since then, a lot of regd changes
were integrated in the close source QCA driver which are now used but not
supported by the Open Source driver. This either prevents the use of the
OSS driver on such devices or the wrong conformance test limits (CTLs) may
be used.
To get the integrated we would first get access to the closed source QCA
driver and a special OSS-NDA with QCA. This doesn't seem to be possible at
the moment and thus other sources for the changes have to be found. One of
them is the qcacld-2.0 source repository [1] which contains the QCA
regdomain.h and regdomain_common.h which was relicensed by QCA as ISC. It
isn't the newest version from the QCA driver but at least received some
updates which are not present in ath's regd.
This repository [1] (commit 48f9ab5d5c161549be098997fa0e3602c1547213 to be
more precise) was now used to find differences and ad some missing
mappings.
The title of the mappings describe what exactly was changed. The "Add
regulatory mapping for" patches introduce new country codes/mappings and
thus don't change old mappings. The "Add regulatory mapping for" patches
are similar but for regulatory code mappings instead of country code
mappings.
More interesting might be the "Map XXXX to YYYY" patches because they
modify already existing mappings. The result are following changes to the
selected CTLs:
* CTRY_ALBANIA: 5GHz: NO_CTL -> ETSI
* CTRY_ALGERIA: 5GHz: NO_CTL -> ETSI
* CTRY_BANGLADESH: 5GHz: NO_CTL -> FCC
* CTRY_BRUNEI_DARUSSALAM: 5GHz: FCC -> ETSI
* CTRY_HONDURAS: 5GHz: NO_CTL -> FCC
* CTRY_INDONESIA: 5GHz: NO_CTL -> FCC
* CTRY_ISRAEL: 5GHz: NO_CTL -> ETSI
* CTRY_KOREA_NORTH: 2.4GHz: ETSI -> MKK
* CTRY_KOREA_ROC: 2.4GHz: ETSI -> MKK
* CTRY_KOREA_ROC3: 2.4GHz: ETSI -> MKK
* CTRY_LEBANON: 5GHz: NO_CTL -> FCC
* CTRY_MACEDONIA: 5GHz: NO_CTL -> ETSI
* CTRY_MALAYSIA: 5GHz: ETSI -> FCC
* CTRY_MEXICO: 2.4GHz: FCC-> ETSI
* CTRY_PAKISTAN: 5GHz: NO_CTL -> FCC
* CTRY_ROMANIA: 5GHz: NO_CTL -> ETSI
* CTRY_RUSSIA: 5GHz: NO_CTL -> ETSI
* CTRY_SAUDI_ARABIA: 5GHz: NO_CTL -> FCC
* CTRY_SINGAPORE: 5GHz: ETSI -> FCC
* CTRY_UKRAINE: 5GHz: NO_CTL -> ETSI
* CTRY_UAE: 5GHz: NO_CTL -> ETSI
* CTRY_VIET_NAM: 5GHz: NO_CTL -> ETSI
* CTRY_ZIMBABWE: 5GHz: NO_CTL -> ETSI
Btw. I have not removed CTRY_SERBIA_MONTENEGRO, CTRY_KOREA_ROC2 or
APL2_APLD because this might break devices which have these programmed in
the EEPROM. And I have not added APL11_FCCA, APL12_WORLD and CTRY_MALDIVES
because only the code was in the qcacld-2.0 source code but not the actual
mapping.
I am relative confident that QCA also has following extra countries:
* Afghanistan
* American Samoa
* Anguilla
* Bhutan
* Burkina Faso
* Cayman Islands
* Central Africa Republic
* Chad
* Christmas Islands
* Dominica
* Ethiopia
* French Guiana
* French Polynesia
* Ghana
* Guadeloupe
* Guyana
* Cote d'Ivoire
* Lesotho
* Malawi
* Maldives
* Marshall Islands
* Martinique
* Mauitania
* Mayotte
* Micronesia
* Moldova
* Mongolia
* Namibia
* Nigeria
* Northern Mariana Islands
* Palau
* Reunion
* St Barthelemy
* St Kitts Nevis
* St Lucia
* St Martin
* St Pierre Miquelon
* St Vincent Grenadiens
* Samoa
* Senegal
* Suriname
* Togo
* Turks Caicos
* Vanuatu
* Virgin Islands
* Wallis Futuna
+ a lot of extra regdomain codes (0x15, 0x16, 0x17, 0x18, 0x19, 0x3c, 0x4f,
0x51, 0x57, 0x59) and the corresponding mappings.
There might be even a lot more. But we will miss out on them unless QCA
somehow opensources their current:
* regdomain_common.h or at least:
- enum EnumRd
- ahCmnRegDomainPairs
- ahCmnAllCountries
- ahCmnRegDomains
* regdomain.h or at least:
- enum CountryCode
Kind regards,
Sven
[1]
https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0
Sven Eckelmann (52):
ath: Add regulatory mapping for Bahamas
ath: Add regulatory mapping for Bermuda
ath: Add regulatory mapping for Japan (J56)
ath: Add regulatory mapping for Japan KDDI
ath: Add regulatory mapping for Kenya
ath: Add regulatory mapping for Mauritius
ath: Add regulatory mapping for Montenegro
ath: Add regulatory mapping for Nicaragua
ath: Add regulatory mapping for Paraguya
ath: Add regulatory mapping for Rwanda
ath: Add regulatory mapping for Serbia
ath: Add regulatory mapping for Tanzania
ath: Add regulatory mapping for Uganda
ath: Add regulatory mapping for United States for AP
ath: Add regulatory mapping for APL2_FCCA
ath: Add regulatory mapping for APL10_MKKC
ath: Add regulatory mapping for APL13_WORLD
ath: Add regulatory mapping for ETSI8_WORLD
ath: Add regulatory mapping for ETSI9_WORLD
ath: Add regulatory mapping for FCC3_ETSIC
ath: Switch APL9_WORLD to 2.4GHz MKK CTL
ath: Map Albania to ETSI1_WORLD
ath: Map Algeria to APL13_WORLD
ath: Map Australia to FCC3_WORLD
ath: Map Bangladesh to APL1_WORLD
ath: Map Brunei Darussalam to APL6_WORLD
ath: Map Bulgaria to ETSI1_WORLD
ath: Map Colombia to FCC1_FCCA
ath: Map Czech to ETSI1_WORLD
ath: Map Honduras to FCC3_WORLD
ath: Map Indonesia to APL2_WORLD
ath: Map Isreal to ETSI3_WORLD
ath: Map Japan to MKK5_MKKA2
ath: Map South Korea to APL10_MKKC
ath: Map Lebanon to APL1_WORLD
ath: Map Macedonia to ETSI1_WORLD
ath: Map Malasia to FCC1_WORLD
ath: Map Mexico to FCC1_WORLD
ath: Map New Zealand to FCC3_ETSIC
ath: Map Pakistan to APL1_WORLD
ath: Map Peru to APL1_WORLD
ath: Map Philippines to FCC3_WORLD
ath: Map Romania to ETSI1_WORLD
ath: Map Russia to ETSI8_WORLD
ath: Map Saudi Arabia to FCC2_WORLD
ath: Map Singapore to FCC3_WORLD
ath: Map Taiwan to APL7_FCCA
ath: Map Ukraine to ETSI9_WORLD
ath: Map U.A.E. to ETSI1_WORLD
ath: Map Venezuela to FCC1_WORLD
ath: Map Vietnam to ETSI3_WORLD
ath: Map Zimbabwe to ETSI1_WORLD
drivers/net/wireless/ath/regd.h | 10 ++++
drivers/net/wireless/ath/regd_common.h | 98 ++++++++++++++++++++++------------
2 files changed, 73 insertions(+), 35 deletions(-)
--
2.11.0