Slow internet speed with TP-Link Archer TXE72E

Summary

A user reported a significant performance regression in network throughput when switching from Windows 11 to Ubuntu 24.04 LTS on a dual-boot system. While Windows achieved speeds of 150Mbps, Ubuntu was throttled to less than 10Mbps. The hardware involved is a TP-Link Archer TXE72E using the MediaTek MT7922 chipset. Investigation revealed that the system was defaulting to the 2.4GHz band despite the availability of 5GHz, and the wireless card was exhibiting sub-optimal power management and bit rate characteristics.

Root Cause

The issue stems from a combination of driver-level defaults and frequency band selection logic within the Linux kernel/driver stack:

  • Band Steering Failure: The wireless driver failed to negotiate a connection with the 5GHz band, defaulting to the 2.4GHz frequency which is highly susceptible to interference and lower throughput.
  • Aggressive Power Management: The iwconfig output shows Power Management:on. In many Linux distributions, the default WiFi power management settings cause the wireless card to enter low-power states too frequently, leading to increased latency and packet loss.
  • Low Transmit Power: The Tx-Power was reported at a very low 3 dBm, suggesting the driver was not communicating effectively with the hardware to utilize the full radio capability.
  • Driver/Firmware Mismatch: The MediaTek MT7922 (Wi-Fi 6E) requires very specific firmware blobs and kernel support to handle high-speed AX (802.11ax) protocols; suboptimal driver implementation often falls back to legacy 802.11n modes.

Why This Happens in Real Systems

In production or high-performance workstations, this occurs due to the abstraction gap between hardware and the OS:

  • Driver Maturity: Windows drivers are often proprietary and highly optimized for specific consumer hardware. Linux drivers are frequently open-source and community-maintained, meaning edge cases in power management or band selection may not be tuned out of the box.
  • Kernel Defaults: Operating systems prioritize battery life and energy efficiency over raw throughput by default. For a desktop user (as seen in the Z390-UD build), these energy-saving features are actually technical debt.
  • Hardware/Firmware Decoupling: The interaction between the Linux kernel, the mac80211 subsystem, and the specific MediaTek firmware can lead to “negotiation failures” where the client settles for the lowest common denominator (2.4GHz) to ensure connectivity.

Real-World Impact

  • Reduced Productivity: Developers and engineers working with large repositories, Docker images, or cloud environments face massive delays.
  • Unreliable CI/CD: In automated environments, low-bandwidth or high-latency network interfaces cause flaky tests and timeout errors that are difficult to debug.
  • System Instability: Improperly configured wireless drivers can lead to kernel panics or “soft lockups” when the driver attempts to manage power states incorrectly.

Example or Code

To resolve this, a senior engineer would first disable power management and force the driver to prioritize higher performance.

# Check current power management status
iwconfig wlp5s0

# Temporarily disable power management to test throughput
sudo iw dev wlp5s0 set power_save off

# To make this permanent, edit the NetworkManager configuration
# or create a udev rule to disable power management on boot.
# Example of adding a configuration to /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
# [connection]
# wifi.powersave = 2

How Senior Engineers Fix It

A senior engineer approaches this through systematic isolation:

  • Layered Troubleshooting: They don’t just “change settings.” They verify the hardware layer (lspci), the driver layer (modinfo), the firmware layer (dmesg | grep mt7922), and finally the configuration layer.
  • Disabling Power Management: They immediately identify Power Management:on as a primary suspect for throughput instability and disable it at the system level.
  • Driver/Firmware Audit: They check dmesg for “firmware loading failed” or “error” messages to ensure the MT7922 is actually running the correct microcode.
  • Band Locking: If the driver fails to steer to 5GHz, they may implement MAC-address-based rules or use iw to restrict the interface to specific frequencies.

Why Juniors Miss It

  • Focusing on the Wrong Layer: Juniors often assume the “internet is slow” and spend time troubleshooting the router or the ISP, rather than looking at the local wireless interface configuration.
  • Ignoring Log Files: They tend to rely on GUI indicators (the signal bars) rather than running iwconfig or dmesg to see the actual bit rate and power state.
  • Accepting Defaults: They assume that if the OS recognizes the hardware, it is “working correctly,” failing to realize that “recognized” does not mean “optimized.”
  • Missing the “Power Management” Red Flag: In the provided log, Power Management:on is a glaring indicator of performance throttling that many beginners overlook.

Leave a Comment