Skip to content

MT7922 [14c3:7922]: tmac=4 (~2 dBm) TX power clamp on ASUS GA503RM — ~50% tx retries, 450-550 Mbps vs 600 on Windows #62

Description

@sagunkayastha

Summary

ASUS ROG Zephyrus G15 GA503RM (AMD Ryzen 9 6900HS, BIOS GA503RM.319), integrated MT7922 [14c3:7922]. The firmware TX power table shows tmac = 4 (0.5 dB units ≈ 2 dBm) for every OFDM/HT/VHT/HE rate while the eeprom rows allow 32–40 (16–20 dBm). Under load: ~50% tx retries at −42 dBm on a clean, exclusive channel; TCP throughput plateaus around 440–550 Mbps. Same laptop on Windows 11, same AP/channel: ~600 Mbps. Carried over from openwrt/mt76#1107 at @morrownr's request.

                      6m     9m    12m    18m    24m    36m    48m    54m
OFDM (eeprom)   :     39     39     39     39     36     36     36     34
OFDM (tmac)     :      4      4      4      4      4      4      4      4

Environment

  • Kernel 7.1.4 mainline (also reproduced on Ubuntu 7.0.0-28)
  • morrownr/mt76 installed via install-driver.sh, verified with check-driver.sh (all 5 _git modules, device bound to mt7921e_git)
  • Firmware WIFI_RAM_CODE_MT7922_1.bin build 20260605 (also reproduced on 20260224)
  • Regdomain US (30 dBm allowed on the test channel, 5 GHz ch 157/80 MHz)
  • iw dev wlan0 info reports txpower 3.00 dBm

Reproduce

  1. Associate to a 5 GHz AP, US regdomain.
  2. cat /sys/kernel/debug/ieee80211/phy*/mt76/txpower_sku → observe tmac=4 across all rate rows.
  3. Load test (12 parallel HTTP downloads), sample iw dev wlan0 station dump deltas → tx retries ≈ 50% of tx packets; throughput 440–550 Mbps vs ~600 on Windows on the same AP.

Already ruled out (no effect on tmac)

  • disable_clc=1 with the full mt76 module stack unloaded first (this fixed Debian bug #1105211 on an ASUS Vivobook with the same chip — different platform, different outcome)
  • ACPI SAR: DSDT has MTCL/MTDS/MTGS; MTDS static limits decode to 8–14.5 dBm; binary-patched MTDS to 22 dBm via initrd ACPI table upgrade (verified live in /sys/firmware/acpi/tables/DSDT) — tmac unchanged
  • iw dev wlan0 set txpower fixed 2000 (accepted, no effect), iw phy set sar_specs (no SAR capability advertised), regdomain re-set
  • deep-sleep=0 / runtime-pm=0 via debugfs (helps throughput slightly; tmac unchanged), NM powersave off, Bluetooth rfkill'd, ASPM disabled
  • CPU >90% idle during tests; scans show the channel exclusive to this AP

Questions

  1. Is tmac the final per-rate limit programmed into the MAC, or an offset/backoff table?
  2. If final: what input besides eeprom / CLC / regdomain / ACPI SAR can drive it to 4 on this platform?

Full txpower_sku dump, eeprom dump, ACPI tables, and monitor-mode pcaps available on request.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions