Re: git: 84e1eb50dd95 - main - net80211/regdomain: try to sort out TW

From: Nuno Teixeira <eduardo_at_freebsd.org>
Date: Sat, 12 Apr 2025 20:06:36 UTC
Hello,

A quick search on regdomain.xml leads to regulatory.db used in linux:
https://manpages.ubuntu.com/manpages/lunar/man5/regulatory.db.5.html

Maybe this is of interest to use in FreeBSD too?

Cheers,

Bjoern A. Zeeb <bz@freebsd.org> escreveu (sábado, 12/04/2025 à(s) 17:51):

> The branch main has been updated by bz:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=84e1eb50dd9529b234e568ccb6f6c37f897688dc
>
> commit 84e1eb50dd9529b234e568ccb6f6c37f897688dc
> Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
> AuthorDate: 2025-04-11 13:12:41 +0000
> Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
> CommitDate: 2025-04-12 16:49:39 +0000
>
>     net80211/regdomain: try to sort out TW
>
>     Try to help people in TW to get onto 11ac as well by adding the missing
>     entries to regdomain.xml.  Use at your own risk.
>
>     regdomain.xml is unmaintanable in the modern world with too many tiny
>     difference between countries.  We'll need a different way to generate
>     this or a different representation long term.
>
>     Sponsored by:   The FreeBSD Foundation
>     Reported by:    lwhsu
>     Tested by:      lwhsu
>     MFC after:      3 days
>     Reviewed by:    lwhsu, adrian
>     Differential Revision: https://reviews.freebsd.org/D49776
> ---
>  lib/lib80211/regdomain.xml | 254
> ++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 253 insertions(+), 1 deletion(-)
>
> diff --git a/lib/lib80211/regdomain.xml b/lib/lib80211/regdomain.xml
> index 557af0349cb0..9116e54c31cf 100644
> --- a/lib/lib80211/regdomain.xml
> +++ b/lib/lib80211/regdomain.xml
> @@ -1187,6 +1187,202 @@
>    </netband>
>  </rd>
>
> +<rd id="taiwan">
> +  <name>TAIWAN</name>
> +  <netband mode="11b">
> +    <band>
> +      <freqband ref="F1_2412_2472"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_B</flags>
> +    </band>
> +  </netband>
> +
> +  <netband mode="11g">
> +    <band>
> +      <freqband ref="F1_2412_2472"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_G</flags>
> +    </band>
> +  </netband>
> +
> +  <netband mode="11ng">
> +    <band>
> +      <freqband ref="F1_2412_2472"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_G</flags>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +    </band>
> +    <band>
> +      <freqband ref="H4_2412_2472"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_G</flags>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +    </band>
> +  </netband>
> +
> +  <netband mode="11a">
> +    <band>
> +      <freqband ref="F1_5160_5240"/>
> +      <maxpower>23</maxpower>
> +    </band>
> +    <band>
> +      <freqband ref="F1_5260_5340"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="F1_5480_5720"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="F1_5745_5845"/>
> +      <maxpower>30</maxpower>
> +    </band>
> +  </netband>
> +
> +  <netband mode="11na">
> +    <band>
> +      <freqband ref="F1_5160_5240"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +    </band>
> +    <band>
> +      <freqband ref="H4_5180_5240"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +    </band>
> +
> +    <band>
> +      <freqband ref="F1_5260_5340"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="H4_5260_5320"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +
> +    <band>
> +      <freqband ref="F1_5480_5720"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="H4_5500_5720"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +
> +    <band>
> +      <freqband ref="F1_5745_5845"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +    </band>
> +    <band>
> +      <freqband ref="H4_5745_5845"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +    </band>
> +  </netband>
> +
> +  <netband mode="11ac">
> +    <band>
> +      <freqband ref="AC2_5160_5240_20"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +      <flags>IEEE80211_CHAN_VHT20</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5180_5240_40"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT40</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5180_5240_80"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT80</flags>
> +    </band>
> +
> +    <band>
> +      <freqband ref="AC2_5260_5340_20"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +      <flags>IEEE80211_CHAN_VHT20</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5260_5320_40"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT40</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5260_5320_80"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT80</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +
> +    <band>
> +      <freqband ref="AC2_5480_5700_20"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +      <flags>IEEE80211_CHAN_VHT20</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5500_5720_40"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT40</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5500_5720_80"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT80</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5500_5640_160"/>
> +      <maxpower>23</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT160</flags>
> +      <flags>IEEE80211_CHAN_DFS</flags>
> +    </band>
> +
> +    <band>
> +      <freqband ref="AC2_5745_5845_20"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_HT20</flags>
> +      <flags>IEEE80211_CHAN_VHT20</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5745_5845_40"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT40</flags>
> +    </band>
> +    <band>
> +      <freqband ref="AC2_5745_5805_80"/>
> +      <maxpower>30</maxpower>
> +      <flags>IEEE80211_CHAN_HT40</flags>
> +      <flags>IEEE80211_CHAN_VHT80</flags>
> +    </band>
> +  </netband>
> +</rd>
> +
>  <!-- Rest Of World -->
>
>  <rd id="row">
> @@ -1781,7 +1977,7 @@
>    <isocc>760</isocc> <name>Syria</name> <rd ref="none"/>
>  </country>
>  <country id="TW">
> -  <isocc>158</isocc> <name>Taiwan</name> <rd ref="row"/>
> +  <isocc>158</isocc> <name>Taiwan</name> <rd ref="taiwan"/>
>  </country>
>  <country id="TH">
>    <isocc>764</isocc> <name>Thailand</name> <rd ref="none"/>
> @@ -1904,6 +2100,11 @@
>    <flags>IEEE80211_CHAN_A</flags>
>  </freqband>
>  <!-- 5150-5250/80 -->
> +<freqband id="F1_5160_5240">
> +  <freqstart>5120</freqstart> <freqend>5240</freqend>
> +  <chanwidth>20</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <freqband id="AC2_5160_5240_20">
>    <freqstart>5160</freqstart> <freqend>5240</freqend>
>    <chanwidth>20</chanwidth> <chansep>20</chansep>
> @@ -1925,6 +2126,11 @@
>    <flags>IEEE80211_CHAN_A</flags>
>  </freqband>
>  <!-- 5250-5350/80 -->
> +<freqband id="F1_5260_5340">
> +  <freqstart>5260</freqstart> <freqend>5340</freqend>
> +  <chanwidth>20</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <freqband id="AC2_5260_5340_20">
>    <freqstart>5260</freqstart> <freqend>5340</freqend>
>    <chanwidth>20</chanwidth> <chansep>20</chansep>
> @@ -1941,6 +2147,11 @@
>    <flags>IEEE80211_CHAN_A</flags>
>  </freqband>
>  <!-- 5470-5725/160 -->
> +<freqband id="F1_5480_5720">
> +  <freqstart>5480</freqstart> <freqend>5720</freqend>
> +  <chanwidth>20</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <freqband id="AC2_5480_5700_20">
>    <freqstart>5480</freqstart> <freqend>5700</freqend>
>    <chanwidth>20</chanwidth> <chansep>20</chansep>
> @@ -1961,7 +2172,38 @@
>    <chanwidth>160</chanwidth> <chansep>20</chansep>
>    <flags>IEEE80211_CHAN_A</flags>
>  </freqband>
> +<!-- 5500-5720/80 -->
> +<freqband id="AC2_5500_5720_40">
> +  <freqstart>5500</freqstart> <freqend>5720</freqend>
> +  <chanwidth>40</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
> +<freqband id="AC2_5500_5720_80">
> +  <freqstart>5500</freqstart> <freqend>5720</freqend>
> +  <chanwidth>80</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <!-- 5725-5875/80 short range -->
> +<freqband id="F1_5745_5825">
> +  <freqstart>5745</freqstart> <freqend>5825</freqend>
> +  <chanwidth>20</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
> +<freqband id="F1_5745_5845">
> +  <freqstart>5745</freqstart> <freqend>5845</freqend>
> +  <chanwidth>20</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
> +<freqband id="H4_5745_5845">
> +  <freqstart>5745</freqstart> <freqend>5845</freqend>
> +  <chanwidth>40</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
> +<freqband id="AC2_5745_5845_20">
> +  <freqstart>5745</freqstart> <freqend>5845</freqend>
> +  <chanwidth>20</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <freqband id="AC2_5745_5865_20">
>    <freqstart>5745</freqstart> <freqend>5865</freqend>
>    <chanwidth>20</chanwidth> <chansep>20</chansep>
> @@ -1972,6 +2214,11 @@
>    <chanwidth>40</chanwidth> <chansep>20</chansep>
>    <flags>IEEE80211_CHAN_A</flags>
>  </freqband>
> +<freqband id="AC2_5745_5845_40">
> +  <freqstart>5745</freqstart> <freqend>5845</freqend>
> +  <chanwidth>40</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <freqband id="AC2_5745_5805_80">
>    <freqstart>5745</freqstart> <freqend>5805</freqend>
>    <chanwidth>80</chanwidth> <chansep>20</chansep>
> @@ -2027,6 +2274,11 @@
>    <chanwidth>20</chanwidth> <chansep>20</chansep>
>    <flags>IEEE80211_CHAN_A</flags>
>  </freqband>
> +<freqband id="H4_5500_5720">
> +  <freqstart>5500</freqstart> <freqend>5720</freqend>
> +  <chanwidth>40</chanwidth> <chansep>20</chansep>
> +  <flags>IEEE80211_CHAN_A</flags>
> +</freqband>
>  <freqband id="H4_5500_5580">
>    <freqstart>5500</freqstart> <freqend>5580</freqend>
>    <chanwidth>40</chanwidth> <chansep>20</chansep>
>
>

-- 
Nuno Teixeira
FreeBSD UNIX:  <eduardo@FreeBSD.org>   Web:  https://FreeBSD.org