XPost: linux.debian.bugs.dist
From:
jyotirmoy@jyotirmoy.net
Package: src:linux
Version: 6.14.6-1~exp1
Severity: important
X-Debbugs-Cc:
jyotirmoy@jyotirmoy.net
Dear Maintainer,
On a Asus Vivobook S14 laptop with a Mediatek 7922 WiFi chip served
by the MT7921e module, Tx power on boot is stuck at a very low 3dB
value as shown by:
root@hometop4:~# cat /sys/kernel/debug/ieee80211/phy*/mt76/txpower_sku|head
Tx power table (channel 6)
1m 2m 5m 11m
CCK (user) : -1 -1 -1 -1
CCK (eeprom) : 41 41 41 41
CCK (tmac) : 3 3 3 3
6m 9m 12m 18m 24m 36m 48m 54m
OFDM (user) : -1 -1 -1 -1 -1 -1 -1 -1
OFDM (eeprom) : 39 39 39 39 37 37 35 34
OFDM (tmac) : 3 3 3 3 3 3 3 3
mcs0 mcs1 mcs2 mcs3 mcs4 mcs5 mcs6 mcs7
This is accompanied by very low WiFi speeds. Unloading all mt76 related
modules and reloading mt7921e with the disable_clc=1 option increases
the transmit power, thus
root@hometop4:~# rm /etc/modprobe.d/mt7921.conf
root@hometop4:~# modprobe -r mt7921e
root@hometop4:~# modprobe -r mt792x_lib
root@hometop4:~# modprobe -r mt76
root@hometop4:~# modprobe mt7921e disable_clc=1
root@hometop4:~# cat /sys/kernel/debug/ieee80211/phy*/mt76/txpower_sku|head
Tx power table (channel 6)
1m 2m 5m 11m
CCK (user) : 20 20 20 20
CCK (eeprom) : 41 41 41 41
CCK (tmac) : 24 24 24 24
6m 9m 12m 18m 24m 36m 48m 54m
OFDM (user) : 24 24 24 24 24 24 24 24
OFDM (eeprom) : 39 39 39 39 37 37 35 34
OFDM (tmac) : 28 28 28 28 28 28 28 28
mcs0 mcs1 mcs2 mcs3 mcs4 mcs5 mcs6 mcs7
This greatly improves WiFi speed.
However, trying to make this change
permanent by create a file call mt7921.conf in /etc/modprobe.d with the contents:
options mt7921e disable_clc=1
options mt7921_common disable_clc=1
running update-initramfs -u and rebooting does not work. What is worse
as long as this file is in /etc/modprobe.d, the command mention above
that fix the system after booting do not work. They work again after
deleting the file.
Further, even when the above commands work, journalctl shows a message:
May 13 17:59:41 hometop4 kernel: mt7921e: unknown parameter 'disable_clc' ignored
At boot time adding kernel parameters mt7921e.disable_clc=1 or mt7921_common.disable_clc=1 does not work.
Regards,
Jyotirmoy Bhattacharya
-- Package-specific info:
** Version:
Linux version 6.14-amd64 (
debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.14.6-1~exp1 (2025-05-09)
** Command line:
BOOT_IMAGE=/vmlinuz-6.14-amd64 root=/dev/mapper/my_vg-my_root ro quiet
** Not tainted
** Kernel log:
[ 20.300080] wlp98s0: send auth to 48:8b:0a:3e:6c:02 (try 1/3)
[ 20.304977] wlp98s0: authenticated
[ 20.312277] wlp98s0: associate with 48:8b:0a:3e:6c:02 (try 1/3)
[ 20.328821] wlp98s0: RX AssocResp from 48:8b:0a:3e:6c:02 (capab=0x421 status=0 aid=3)
[ 20.356433] wlp98s0: associated
[ 20.488348] ucsi_acpi USBC000:00: ucsi_handle_connector_change: GET_CONNECTOR_STATUS failed (-110)
[ 28.295794] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 28.338332] rfkill: input handler disabled
[ 36.091451] rfkill: input handler enabled
[ 36.802244] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[ 36.868840] rfkill: input handler disabled
[ 37.855771] SCSI subsystem initialized
[ 66.079582] wlp98s0: deauthenticating from 48:8b:0a:3e:6c:02 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 105.786163] mt7921e: unknown parameter 'disable_clc' ignored
[ 105.786166] mt7921e: unknown parameter 'disable_clc' ignored
[ 105.790136] mt7921e 0000:62:00.0: ASIC revision: 79220010
[ 105.867979] mt7921e 0000:62:00.0: HW/SW Version: 0x8a108a10, Build Time: 20241106163228a
[ 105.882530] mt7921e 0000:62:00.0: WM Firmware Version: ____000000, Build Time: 20241106163310
[ 106.950364] mt7921e 0000:62:00.0 wlp98s0: renamed from wlan0
[ 109.924650] wlp98s0: authenticate with 48:8b:0a:3e:6c:02 (local address=52:e0:20:c8:dd:ca)
[ 110.072726] wlp98s0: send auth to 48:8b:0a:3e:6c:02 (try 1/3)
[ 110.077913] wlp98s0: authenticated
[ 110.080586] wlp98s0: associate with 48:8b:0a:3e:6c:02 (try 1/3)
[ 110.100356] wlp98s0: RX AssocResp from 48:8b:0a:3e:6c:02 (capab=0x421 status=0 aid=3)
[ 110.126608] wlp98s0: associated
[ 126.824669] page_pool_release_retry() stalled pool shutdown: id 27, 1 inflight 60 sec
[ 136.453628] wlp98s0: deauthenticating from 48:8b:0a:3e:6c:02 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 187.242821] page_pool_release_retry() stalled pool shutdown: id 27, 1 inflight 120 sec
[ 230.711883] mt7921e: unknown parameter 'disable_clc' ignored
[ 230.711889] mt7921e: unknown parameter 'disable_clc' ignored
[ 230.715855] mt7921e 0000:62:00.0: ASIC revision: 79220010
[ 230.794600] mt7921e 0000:62:00.0: HW/SW Version: 0x8a108a10, Build Time: 20241106163228a
[ 230.809644] mt7921e 0000:62:00.0: WM Firmware Version: ____000000, Build Time: 20241106163310
[ 231.877614] mt7921e 0000:62:00.0 wlp98s0: renamed from wlan0
[ 234.891096] wlp98s0: authenticate with 48:8b:0a:3e:6c:02 (local address=52:e0:20:c8:dd:ca)
[ 235.041969] wlp98s0: send auth to 48:8b:0a:3e:6c:02 (try 1/3)
[ 235.046734] wlp98s0: authenticated
[ 235.050816] wlp98s0: associate with 48:8b:0a:3e:6c:02 (try 1/3)
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: you cannot sedate... all the things you hate (1:229/2)