WiFi issues are influenced by many different factors, including:
If you’re having problems, try these steps first:
Some router settings can cause problems. Try adjusting your access point to these settings:
If the issues started after you applied updates, try running this command to make sure a bad WiFi driver has not been installed, then reboot your computer:
sudo apt remove backport-iwlwifi-dkms
If the above steps aren’t working, or you would like to fine tune and improve you connection, see the following steps.
In many cases, it’s recommended to explicitly set the WiFi regulatory domain. Check yours with this command:
sudo iw reg get
If you get 00, that is a one-size-maybe-fits-all setting. Find yours here: ISO_3166.
And set it permanently with this command:
sudo gedit /etc/default/crda
Change the last line to read:
Save and close the text editor.
Unless specifically required, you can set IPv6 to Ignore in Network Manager. Go to System Settings → Network and click the orange arrow next to your network, then click Settings → Network → Ethernet → Gear Icon → IPv6 Settings then change Automatic to Disable.
If these changes do not help, you can try enabling antenna aggregation:
sudo modprobe -r iwlwifi sudo modprobe iwlwifi 11n_disable=8
Then, test to see if that helps. To make it permanent:
sudo gedit /etc/modprobe.d/iwlwifi.conf
Then, add this line to the bottom (effective upon reboot):
options iwlwifi 11n_disable=8
You can try disabling N mode completely by using
11n_disable=1 in the previous settings. N mode can be more unstable than G mode, and the speed gained isn’t typically useful as total bandwidth available in/out from/to the Internet is less than N speeds.
If you have trouble with a Bluetooth headset and keeping a steady downlink speed, try disabling Bluetooth coexistence in the configuration file above:
options iwlwifi bt_coex_active=0
Another way to help with Wifi issues is to turn off power management for the hardware. To do so, edit the configuration file with this command:
sudo gedit /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
And change the file to read (effective upon reboot):
wifi.powersave = 2
tlp is installed, take a look at the settings file found here for additional Wifi power saving being enabled:
sudo gedit /etc/default/tlp
The program wavemon can be used to see info about nearby access points, such as power levels, channels, and BSSIDs. It can be installed with this command:
sudo apt install wavemon
And run with this command:
Run this command to watch what the Wifi hardware is doing. Pay attention to the disconnect reasons, and ignore the scans.
sudo systemctl restart NetworkManager
This command will restart the service that manages all Internet traffic on the computer, which is usually easier than restarting the computer.
dmesg | grep iwlwifi
This will check the hardware startup and driver loading messages.
lspci | grep Network
This will check if the hardware is being detected by the kernel.
lsmod | grep iwlwifi
This will check to see if the device driver (module) is loaded.
sudo rm /etc/NetworkManager/system-connections/*
This will erase the stored information about all wireless access points.
sudo apt install --reinstall network-manager
This will reinstall network-manager, which can fix some network issues.
NOTE: After reinstalling the above packages, fully shut down the machine and then power it back on, rather than rebooting. This ensures the hardware completely resets.
Wifi Speeds and Frequencies:
The name of the Linux driver for Intel Wifi cards is called iwlwifi and is included in the kernel by default. All information about the driver can be found here:
The newest version of the linux-firmware package, which contains the iwlwifi driver, can be found here:
Sometimes the newest version of the firmware will clear up occasional bugs. Please download the newest