wifi: mt76: mt7915: fix broken background radar implementation
Subsystems (2)
Currently enabling background radar in hostapd results in unreachable AP. There is because of mistake in enabling background radar implementation for mt7915 mcu driver - 3rd and 4th parameters are swapped. mt76_connac_mcu_rdd_cmd requires rx_sel as a fourth parameter but this parameter is provided as third argument.
Fix was tested on mt7981 and background radar works now correctly. Other mt76 drivers do not have similar issues.
The issue was also described here:
https://github.com/openwrt/mt76/issues/958
--- drivers/net/wireless/mt76/mt7915/mcu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
(quoted diff) +0 -0
b/drivers/net/wireless/mt76/mt7915/mcu.c
index 9d790f23..a2bad361 100644
drivers/net/wireless/mt76/mt7915/mcu.c renamed from drivers/net/wireless/mt76/mt7915/mcu.c +0 -1
@@ -2718,8 +2718,8 @@ int mt7915_mcu_rdd_background_enable(strint err, region;if (!chandef) {/* disable offchain */ - err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_STOP,
MT_RX_SEL2,
- 0, 0);
+ err = mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_STOP, 0,
+ MT_RX_SEL2, 0);
if (err)
return err;
@@ -2745,8 +2745,8 @@ int mt7915_mcu_rdd_background_enable(str
break;
}
- return mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_START, MT_RX_SEL2,
- 0, region);
+ return mt76_connac_mcu_rdd_cmd(&dev->mt76, RDD_START, 0,
+ MT_RX_SEL2, region);
}
int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
Hi Lukasz,
Quoted 11 lines · On 21.02.25 16:35, [email protected] wrote:
Currently enabling background radar in hostapd results in unreachable AP. There is because of mistake in enabling background radar implementation for mt7915 mcu driver - 3rd and 4th parameters are swapped.
mt76_connac_mcu_rdd_cmdrequiresrx_selas a fourth parameter but this parameter is provided as third argument.
Fix was tested on mt7981 and background radar works now correctly. Other mt76 drivers do not have similar issues.
The issue was also described here:
https://github.com/openwrt/mt76/issues/958Signed-off-by Lukasz Michalski <[email protected]>
MediaTek informed me that MT7981 does not actually have background radar detection in hardware, so this patch can't be merged. We should instead change the driver code to refuse attempts to enable background radar detection on this chip.
- Felix
Hi Felix, thanks for the info.
Is it only about mt7981 or mt7986 too?
Strange that patched code works flawlessly (or maybe firmware just sliently ignores scan requests?).
Lukasz Michalski
-----Original Message-----
From: Felix Fietkau <[email protected]>
Sent: Tuesday, February 25, 2025 9:30 PM
To: [email protected]; [email protected]; [email protected]
Subject: Re: wifi: mt76: mt7915: fix broken background radar implementation
Hi Lukasz,
Quoted 12 lines · On 21.02.25 16:35, [email protected] wrote:
Currently enabling background radar in hostapd results in unreachable AP. There is because of mistake in enabling background radar implementation for
mt7915 mcu driver - 3rd and 4th parameters are swapped.mt76_connac_mcu_rdd_cmdrequiresrx_selas a fourth parameter but this parameter is provided as third argument.
Fix was tested on mt7981 and background radar works now correctly. Other
mt76 drivers do not have similar issues.
The issue was also described here:
https://github.com/openwrt/mt76/issues/958
Quoted 1 line
Signed-off-by Lukasz Michalski <[email protected]>
MediaTek informed me that MT7981 does not actually have background radar detection in hardware, so this patch can't be merged. We should instead change the driver code to refuse attempts to enable background radar detection on this chip.
- Felix
Quoted 4 lines · On 26.02.25 16:23, [email protected] wrote:
Hi Felix, thanks for the info.
Is it only about mt7981 or mt7986 too?
Strange that patched code works flawlessly (or maybe firmware just sliently ignores scan requests?).
I think MT7986 also doesn't have that feature. Additionally, the feature is only available on devices that have a separate antenna just for DFS.
I think with your patch it wasn't performing any actual background radar detection, but the driver and mac80211 weren't noticing. So it only appeared to work but wasn't compliant in any way.
- Felix