Re: [PATCH v5 1/3] dt-bindings: net: wireless: add flag marvell,ignore-regulatory-hint
George Valkov <[email protected]>
| Newsgroups | org.kernel.vger.linux-wireless,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <CADOrJmYdg6_BLdgY3yEDkn5ugBDwUNUyArffrCB7GWJkHqQRwA@mail.gmail.com> |
On Thu, 20 Aug 2026 at 12:33, George Valkov <[email protected]> wrote: > > On Thu, 20 Aug 2026 at 11:14, Krzysztof Kozlowski <[email protected]> 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