Re: [PATCH v5 1/3] dt-bindings: net: wireless: add flag marvell,ignore-regulatory-hint
From: George Valkov
Date: Thu Aug 20 2026 - 06:31:48 EST
On Thu, 20 Aug 2026 at 12:33, George Valkov <gvalkov@xxxxxxxxx> wrote:
>
> On Thu, 20 Aug 2026 at 11:14, Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> >
> > On 20/08/2026 09:50, George Valkov wrote:
> > >
> > >
> > > Krzysztof:
> > >> regulatory-hint for me means usually regdb, but even with your meaning
> > >> you tell SW what to do - ignore hardware regulatory information.
> > >> Property should not tell what SW should do with hardware. Property
> > >> should tell what is happening here in the hardware. In this case: what
> > >> is the reason behind.
> > >>
> > >> IOW, why user of a board in country X, where regulatory data says X,
> > >> should have the correct regulatory data ignored?
> > >
> > > Because users in X buy a board for X and the regulatory data says U.
> > >
> > > Indeed when the ROM regulatory hint is set to US and the driver
> > > reports this to the OS, the wireless-regdb restrictions for US are
> > > applied. This would normally be fine, however the third radio in
> > > WRT3200ACM and WRT32x, reports US on all models including those sold
> > > in the EU and other non US markets. This creates a conflict with
> > > radios 0 and 1, which report FR and also with my correct setting: BG.
> > > With the wireless-regdb restrictions for US, FR and BG applied, radio
> > > 0 refuses to start.
> >
> > So if you move with your router to US, you would need to change DTB?
> > IOW, the DTB is per user? This is obviously wrong... What if one device
> > has correct regulatory data written and you ignore it? Why would you
> > ignore it? If you decide to ignore correct regulatory data, then you can
> > as well ignore it unconditionally and this property is not needed.
>
> All radios on these devices operate according to their certified
> region. The firmware for all radios is closed source, locked-down and
> there is no API to change any regional settings or affect TX power. By
> design, the regulatory information for this platform is configured
> from the devinfo partition mtd3:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/marvell/armada-385-linksys-rango.dts?h=v7.2#n106
>
> cat /dev/mtd3
> admin1_passphrase=[...]
> admin2_passphrase=[...]
> cert_region=EU
> default_passphrase=[...]
> default_ssid=Linksys07770
> deviceType=urn:home-linksys-com:device:Router:1
> devinfo_version=20160121.1
> hw_mac_addr=[...]
> hw_revision=1
> hw_version=48SAM203.0GA
> manufacturer=Linksys, LLC
> manufacturerURL=http://www.linksys.com
> manufacturer_date=2017/12/26
> mfg_data_version=1
> modelDescription=Simultaneous Dual-Band Wireless-AC Gigabit Router
> modelNumber=WRT3200ACM-EU
> serial_number=[...]
> sw_version=v1.0.0
> tc_passphrase=[...]
> tc_ssid=[...]
> uuid_key=[...]
> wps_device_pin=[...]
>
> The intent of these patch series is not to make the radios operate in
> a region other than the one they are certified for, that's obviously
> not possible. As described in the commit description, the goal is to
> allow the platform to use the correct region, which is stored in the
> devinfo partition. The hard-coded region in the ROM of radio 2
> conflicts with the platform region and should be ignored, otherwise
> radio 0 and 2 won't even start. And yes this applies to the case where
> the user bought the device in Europe and has configured their correct
> country.
>
> With routes that allow the region to be changed, a user can move from
> EU to US, set the region to US and use their device.
> This is not the case with this model. The radios refuse region change
> so the user should not use it in other regions.
> For models sold on the US market, all 3 radios report US. The platform
> also enforces the US region from the devinfo partition. Even if we
> ignore the ROM hint from all radios, the platform will still use US. I
> don't see any regression. My changes are carefully scoped to a
> particular device which needs them and do not affect any other
> devices.
>
> > > Would you approve any of these or suggest a better name for the flag?
> > > Should ROM be in upper or lower case?
> > > I omitted 'in-ROM' to keep it short, because the driver check line is
> > > already longer than 80 characters.
> > > - marvell,ignore-regulatory-hint (current)
> > > - marvell,ignore-regulatory-hint-in-ROM
> > > - marvell,invalid-regulatory-hint-in-ROM
> > > - marvell,invalid-regulatory-hint
> > > - marvell,invalid-regulatory-ROM
> > > - marvell,invalid-reg-hint-in-ROM
> >
> > The point is that the regulatory hint is NOT INVALID. One device was
> > sold in US with US data, so how could it be invalid?
>
> US devices have no issues, because all radios report US.
> I would love to ask Linksys the same question.
> My router was sold in Bulgaria and radio 3 reports US. Others bought
> it from the UK, DE, etc - same thing. Please allow me some time to
> install a clean firmware and I will post the output from
> iw reg get
> so you can see the incorrect regulatory hint and mix of three regions.
> This will take some time, and I will be left without a working Wi-Fi
> until I recover using UART.
iw reg get
global
country 98: DFS-UNSET
(2400 - 2472 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 100), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 100), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5725 @ 160), (N/A, 24), (0 ms), DFS
(5725 - 5730 @ 5), (N/A, 13), (0 ms), DFS
(5730 - 5850 @ 80), (N/A, 13), (N/A)
(5850 - 5875 @ 25), (N/A, 13), (N/A), NO-OUTDOOR, PASSIVE-SCAN
(5945 - 6425 @ 320), (N/A, 12), (N/A), NO-OUTDOOR, PASSIVE-SCAN
(57240 - 71000 @ 2160), (N/A, 40), (N/A)
phy#2
country US: DFS-FCC
(902 - 904 @ 2), (N/A, 30), (N/A)
(904 - 920 @ 16), (N/A, 30), (N/A)
(920 - 928 @ 8), (N/A, 30), (N/A)
(2400 - 2472 @ 40), (N/A, 30), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW
(5250 - 5350 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
(5470 - 5730 @ 160), (N/A, 24), (0 ms), DFS
(5730 - 5850 @ 80), (N/A, 30), (N/A), AUTO-BW
(5850 - 5895 @ 40), (N/A, 27), (N/A), NO-OUTDOOR, AUTO-BW, PASSIVE-SCAN
(5925 - 7125 @ 320), (N/A, 12), (N/A), NO-OUTDOOR, PASSIVE-SCAN
(57240 - 71000 @ 2160), (N/A, 40), (N/A)
phy#1
country FR: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
(5725 - 5875 @ 80), (N/A, 13), (N/A)
(5945 - 6425 @ 320), (N/A, 23), (N/A), NO-OUTDOOR
(57000 - 71000 @ 2160), (N/A, 40), (N/A)
phy#0
country FR: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
(5725 - 5875 @ 80), (N/A, 13), (N/A)
(5945 - 6425 @ 320), (N/A, 23), (N/A), NO-OUTDOOR
(57000 - 71000 @ 2160), (N/A, 40), (N/A)
global: country 98: DFS-UNSET
phy#0: country FR: DFS-ETSI
phy#1: country FR: DFS-ETSI
phy#2: country US: DFS-FCC
- phy0 does not start
- phy1 works
- phy2 works
And my country is set to BG
# /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
option require_mode 'ac'
option cell_density '3'
option legacy_rates '0'
option htmode 'VHT80'
option hwmode '11a'
option country 'BG'
option channel '100'
option disabled '0'
Other users report the same:
https://github.com/kaloz/mwlwifi/issues/173#issuecomment-307879699
You can also search: WRT3200ACM DFS, there are endless comments.
Greetings!
Georgi Valkov