How I Fixed Slow Wifi In Debian 12
May 21, 2025 Update
I replaced the old Intel 8265 wifi card with a new Intel BE200 Wifi 7 card. I also have a different router than I was using when I wrote this post. This combination of hardware does not require setting wpa-freq-list
to automatically connect at the best possible protocol level.
Last time I blogged about my home server's wifi connection, I had to disable power management on the wifi adapter to avoid undesirable behavior.
This time, I was transferring a large quantity of large files from my laptop to my home server, and I noticed the transfer speed was capped at around 3 MB/s. I found that very concerning because although wifi isn't the fastest way to transfer data by a wide margin, it should still be faster than that.
After a bunch of inspection of various settings using iw list
and iwlist wlp1s0
, I discovered the problem. By looking at frequency and channel settings, I saw that my adapter was connecting to my router at 2.4 Ghz frequencies instead of the 5 GHz frequencies I wanted.
A bunch of googling suggested passing a freq_list
property to wpa_supplicant in its config file. One problem: I'm not configuring wpa_supplication via a config file. I'm configuring it via my /etc/network/interfaces
file. I was already using the wpa-ssid
and wpa-psk
options. Is there an equivalent option to pass in a frequency list?
Yes, but it's not very well-documented. The magic happens in the /etc/wpa_supplicant/functions.sh
file. The appropriate option is wpa-freq-list
.
Here's what my /etc/network/interfaces
file looks like:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug wlp1s0
iface wlp1s0 inet dhcp
wpa-ssid <ssid>
wpa-psk <passphrase>
wpa-freq-list <frequency list>
Using the iw list
command, I was able to determine that the right list of frequencies for my hardware and desired configuration is the following:
wpa-freq-list 5180 5200 5240 5260 5280 5300 5320 5500 5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5720 5745 5765 5785 5805 5825
I encourage you to check your own hardware rather than copying my list of frequencies verbatim.
After I made this change and restarted the network subsystem, transfers looked much better at around 20 MB/s to 25 MB/s on average.