Re: [PATCH] wifi: mwifiex: ignore ROM regulatory hint on WRT3200ACM/WRT32x
George Valkov <[email protected]>
| Newsgroups | org.kernel.vger.linux-wireless,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <CADOrJmZKdM0y6jeS7oOK0aKm7BaqcDB=BmXTSBrFTiTqXHhUhA@mail.gmail.com> |
Hi Jeff, Initially I wanted to keep changes easy to read and as simple as possible, hence my current patch is based on device names. Indeed out openwrt-ai also caught this: https://github.com/openwrt/openwrt/pull/24458#pullrequestreview-4803923901 I've been thinking about possible options: 1. Use board names "linksys,rango" and "linksys,venom", where rango is WRT3200ACM, and venom is WRT32x. But a venom dts is also not available in Linux. We do have it in OpenWrt: https://github.com/openwrt/openwrt/blob/main/target/linux/mvebu/files /arch/arm/boot/dts/marvell/armada-385-linksys-venom.dts 2. We could either ignore this or 3. Have another PR with venom board support files, but that will require much more research and work. I don't have WRT32x hardware, and I'm uncomfortable doing this without supervision. 4. We can also implement a dts flag, e.g. ignore_reg_hint, which can be set in the board dts. This might be the best and most flexible option. My experience with dts is almost zero and I will need help to implement it. Georgi On Thu, 30 Jul 2026 at 05:17, Jeff Chen <[email protected]> wrote: > > On Tue, Jul 28, 2026 at 01:35:36 PM +0300, Georgi Valkov wrote: > > WRT3200ACM and WRT32x routers always report a fixed US regulatory domain > > from the mwifiex ROM, which conflicts with the platform regulatory > > configuration on units sold outside the US market. For example: > > - phy0 mwlwifi 5 GHz, hard-coded region 98 EU mapped to FR > > - phy1 mwlwifi 2.4 GHz, hard-coded region 98 EU mapped to FR > > - phy2 mwifiex 2.4 and 5 GHz, hard-coded region US > > Hi Georgi, > > Thanks for the patch. I have a question about these compatible strings: > > > if (country_code && > > + !of_machine_is_compatible("linksys,wrt3200acm") && > > + !of_machine_is_compatible("linksys,wrt32x") && > > I checked the mainline kernel source, but these names are not found > in the DTS files under arch/arm/boot/dts/marvell/. Instead, mainline uses > "linksys,rango" and "linksys,venom". > > As a result, this machine check will always fail on a pure mainline kernel, > making the quirk ineffective. > > Jeff