Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mt7921 / mt7921e can't change tx power and channel #935

Open
doublep21 opened this issue Dec 6, 2024 · 3 comments
Open

mt7921 / mt7921e can't change tx power and channel #935

doublep21 opened this issue Dec 6, 2024 · 3 comments

Comments

@doublep21
Copy link

i can't change tx power and it's pretty useless that way , the signal drop too fast . The channel is broken too on mt7921 . Please help me.
Screenshot 2024-12-06 213316

@Easton97-Jens
Copy link

Easton97-Jens commented Dec 7, 2024

Hi everyone,

I’m currently using OpenWrt 24.10-rc2 with a MediaTek MT7922 and the latest mt76 driver. I’ve encountered an issue with the TX power being limited to 3 dBm. This issue occurs with both the MediaTek MT7921e and the MT7922.

This problem has persisted since version 23.05, and I haven’t been able to find a solution so far. Additionally, I’ve downloaded the latest firmware directly from the repository:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek?id=862cd7427f8899104c224084d07416cddff1ea1f

Here are the details of my setup:

System: x64 platform

Wi-Fi Chip: MediaTek MT7922

Driver: Latest version of mt76

Firmware: Latest version from the repository linked above

Country Code: correctly set

Despite this configuration, the TX power remains limited to 3 dBm, leading to very poor range and performance. I’ve tried several adjustments, but so far, there’s been no improvement.

Are there any known solutions or workarounds for this issue? I’m happy to assist with further testing and provide debug logs if needed.

Thank you for your support!

@romanovj
Copy link

romanovj commented Dec 7, 2024

maybe this greearb/linux-ct-6.13@8e84f02

--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
@@ -74,6 +74,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];

@doublep21
Copy link
Author

maybe this greearb/linux-ct-6.13@8e84f02

--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
@@ -74,6 +74,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];

only for the channel or even for the tx power?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants