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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.