2023-10-25 16:07:13

by Ben Greear

[permalink] [raw]
Subject: Regression wireless-next: mt7921: update the channel usage when the regd domain changed

I noticed mt7922 radios would no longer enable 6e band in wireless-next.

My test system has Intel radios and mt7922 radios in it. I bisected to the commit
below. It looks like that patch can disable 6e based on regdom change, but cannot
enable 6e again in case regdom changes back to something that supports 6e.

Intel tri-band radios disable 6e by default, then enable it after scanning
US regdom beacons. Maybe that regdom changing by Intel helps break the mt7922
with the below patch applied?

commit 09382d8f8641bc12fffc41a93eb9b37be0e653c0
Author: Ming Yen Hsieh <[email protected]>
Date: Sat Sep 30 10:25:09 2023 +0800

wifi: mt76: mt7921: update the channel usage when the regd domain changed

The 5.9/6GHz channel license of a certain platform device has been
regulated in various countries. That may be difference with standard
Liunx regulatory domain settings. In this case, when .reg_notifier()
called for regulatory change, mt792x chipset should update the channel
usage based on clc or dts configurations.

Channel would be disabled by following cases.
* clc report the particular UNII-x is disabled.
* dts enabled and the channel is not configured.

Signed-off-by: Ming Yen Hsieh <[email protected]>
Co-developed-by: Deren Wu <[email protected]>
Signed-off-by: Deren Wu <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com


2023-10-26 03:59:08

by Deren Wu

[permalink] [raw]
Subject: Re: Regression wireless-next: mt7921: update the channel usage when the regd domain changed

Hi Ben,

On Wed, 2023-10-25 at 09:05 -0700, Ben Greear wrote:
> I noticed mt7922 radios would no longer enable 6e band in wireless-
> next.
>
> My test system has Intel radios and mt7922 radios in it. I bisected
> to the commit
> below. It looks like that patch can disable 6e based on regdom
> change, but cannot
> enable 6e again in case regdom changes back to something that
> supports 6e.
>
> Intel tri-band radios disable 6e by default, then enable it after
> scanning
> US regdom beacons. Maybe that regdom changing by Intel helps break
> the mt7922
> with the below patch applied?

Thanks for the report. There is a capability check missed. Could you
pleae help to check this patch? Let's make sure you run into the same
problem.

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
index 55baac70860b..a738ea95110e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
@@ -69,6 +69,9 @@ mt7921_regd_channel_update(struct wiphy *wiphy,
struct mt792x_dev *dev)
struct ieee80211_channel *ch;
int i, cfreq;

+ if (!(dev->phy.chip_cap & MT792x_CHIP_CAP_CLC_EVT_EN))
+ dev->phy.clc_chan_conf = 0xff;
+
np = mt76_find_power_limits_node(mdev);

sband = wiphy->bands[NL80211_BAND_5GHZ];

Thanks,
Deren

>
> commit 09382d8f8641bc12fffc41a93eb9b37be0e653c0
> Author: Ming Yen Hsieh <[email protected]>
> Date: Sat Sep 30 10:25:09 2023 +0800
>
> wifi: mt76: mt7921: update the channel usage when the regd
> domain changed
>
> The 5.9/6GHz channel license of a certain platform device has
> been
> regulated in various countries. That may be difference with
> standard
> Liunx regulatory domain settings. In this case, when
> .reg_notifier()
> called for regulatory change, mt792x chipset should update the
> channel
> usage based on clc or dts configurations.
>
> Channel would be disabled by following cases.
> * clc report the particular UNII-x is disabled.
> * dts enabled and the channel is not configured.
>
> Signed-off-by: Ming Yen Hsieh <[email protected]>
> Co-developed-by: Deren Wu <[email protected]>
> Signed-off-by: Deren Wu <[email protected]>
> Signed-off-by: Felix Fietkau <[email protected]>
>
> Thanks,
> Ben
>

2023-10-26 15:49:29

by Ben Greear

[permalink] [raw]
Subject: Re: Regression wireless-next: mt7921: update the channel usage when the regd domain changed

On 10/25/23 20:58, Deren Wu (武德仁) wrote:
> Hi Ben,
>
> On Wed, 2023-10-25 at 09:05 -0700, Ben Greear wrote:
>> I noticed mt7922 radios would no longer enable 6e band in wireless-
>> next.
>>
>> My test system has Intel radios and mt7922 radios in it. I bisected
>> to the commit
>> below. It looks like that patch can disable 6e based on regdom
>> change, but cannot
>> enable 6e again in case regdom changes back to something that
>> supports 6e.
>>
>> Intel tri-band radios disable 6e by default, then enable it after
>> scanning
>> US regdom beacons. Maybe that regdom changing by Intel helps break
>> the mt7922
>> with the below patch applied?
>
> Thanks for the report. There is a capability check missed. Could you
> pleae help to check this patch? Let's make sure you run into the same
> problem.
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
> b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
> index 55baac70860b..a738ea95110e 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
> @@ -69,6 +69,9 @@ mt7921_regd_channel_update(struct wiphy *wiphy,
> struct mt792x_dev *dev)
> struct ieee80211_channel *ch;
> int i, cfreq;
>
> + if (!(dev->phy.chip_cap & MT792x_CHIP_CAP_CLC_EVT_EN))
> + dev->phy.clc_chan_conf = 0xff;
> +
> np = mt76_find_power_limits_node(mdev);
>
> sband = wiphy->bands[NL80211_BAND_5GHZ];

This fixed the problem in a quick test.

I'll add this to our tree and we'll do more testing on it...

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com