This one Linux setting is capping your Wi-Fi speed far below your router's rating

This one Linux setting is capping your Wi-Fi speed far below your router's rating

Published Sep 8, 2026, 4:30 PM EDT Umair Khurshid is a technology writer and developer with a strong focus on Linux, FreeBSD, cloud infrastructure, and automation. Before focusing on writing, Umair worked as a developer and DevOps engineer building and automating cloud-native systems. A Wi-Fi router can advertise hundreds of MBs, yet your Linux laptop may deliver a fraction of that speed. Before replacing the router, changing channels, or blaming the wireless adapter, there is one Linux setting worth checking. Linux puts a wireless interface into power-saving mode to optimize battery life. On a laptop, that can make sense when battery life matters more than maximum network performance. The problem is that power-saving behavior can also introduce latency, reduce responsiveness, and, with some wireless hardware and drivers, interfere with achieving the best possible throughput. Check your actual Wi-Fi configuration first Do not confuse router ratings with negotiated link speed Before changing anything, inspect the connection itself. It can be done using: iw dev Then check the negotiated connection: iw dev wlp3s0 link The output provides details such as signal strength, frequency, channel width, and negotiated RX and TX rates. For example, a connection might report: Frequency: 5200 MHzChannel: 36Width: 80 MHzSignal: -35 dBmRX bitrate: 866.7 Mbit/sTX bitrate: 390.0 Mbit/s That number is the PHY link rate, not the speed you will necessarily see in a browser download or speed test. This is important because Wi-Fi introduces protocol overhead, retransmissions, encryption overhead, and other inefficiencies. A connection reporting a PHY rate of 866.7 Mbit/s cannot normally deliver that exact figure as usable application throughput. The same command also shows the channel width and frequency being used, which helps establish how the wireless connection is actually configured. In my case, the Intel Wireless-AC 8265 is connected to the fiber network on the 5GHz band at 5200MHz, using an 80MHz channel. The signal is strong at -35 dBm, while the negotiated RX and TX rates are 866.7 Mbit/s and 390.0 Mbit/s respectively. These figures give us a much clearer picture of the actual Wi-Fi connection before investigating whether another configuration is responsible for slower real-world speeds. See whether Wi-Fi power saving is enabled iw gives you the answer immediately To find if Wi-Fi power saving is on, the command is very simple: iw dev wlp3s0 get power_save An enabled configuration reports: Power save: on To perform a quick test, disable it temporarily: sudo iw dev wlp3s0 set power_save off Then verify: iw dev wlp3s0 get power_save You should now see: Power save: off You do not need to reboot to perform this test. Once power saving is disabled, run the same speed test you used before. Ideally, perform several tests against the same server or service and compare the results rather than relying on a single measurement. I used iperf3 for benchmarking: In my test, enabling Wi-Fi power saving reduced sustained throughput from about 159Mbps to 138Mbps, a drop of roughly 13%, which is entirely plausible on an 802.11ac connection, although the exact impact varies considerably between adapters, drivers, access points, and traffic patterns. The 159 Mbps result with power saving disabled is also reasonable for a 2x2 Wi-Fi 5 connection operating under real-world conditions, where application throughput is well below the theoretical PHY rate. More interestingly, the enabled test recorded 283 TCP retransmissions, while the disabled test recorded none, suggesting that power-saving behavior was contributing to additional buffering or delayed transmission in this particular setup. That does not mean every Linux system will behave the same way, however. Some laptops may see almost no throughput difference, while others can experience noticeable changes in latency, retransmissions, or sustained transfer performance. In practice, the biggest benefit of disabling power saving may therefore be more consistent network behavior and lower latency, rather than a dramatic increase in peak download speed. Make the change persistent with NetworkManager Update the connection profile The iw command changes the current wireless interface state. If NetworkManager later reconnects the interface, that setting may be restored according to the connection profile or global defaults. NetworkManager provides its own Wi-Fi power-saving property: 802-11-wireless.powersave First find the connection name: nmcli connection show Then disable power saving for that profile: nmcli connection modify "Your UUID" 802-11-wireless.powersave 2 Reconnect: nmcli connection down "Your UUID"nmcli connection up "Your UUID" Finally, verify: iw dev wlp3s0 get power_save The interface should report: Power save: off Test before you change hardware Before spending money on a new wireless card or router, it is worth checking whether the problem is actually coming from the software stack. Linux gives you enough visibility into the wireless interface to investigate these issues yourself. For many, that also makes this kind of troubleshooting a worthwhile first step. A setting buried in the operating system can be changed in seconds, tested under normal workloads, and reverted just as easily. That is considerably easier than replacing hardware only to discover that the original problem was somewhere else.

Original Source

Read the full article at Howtogeek →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.