diff --git a/content/wireless.md b/content/wireless.md index 2052091fc9..abda004a66 100644 --- a/content/wireless.md +++ b/content/wireless.md @@ -1,10 +1,10 @@ --- title: Wireless Troubleshooting description: > - If you’re having problems with your wireless Internet connection, take a look at the suggestions in this article. + If your computer can’t connect to wireless networks or the connection is unstable, use this guide to diagnose and resolve the issue. keywords: - wireless - - wifi + - Wi-Fi - support - System76 @@ -16,61 +16,180 @@ section: network-troubleshooting tableOfContents: true --- -WiFi issues are influenced by many different factors, including: +If your computer can’t connect to wireless networks or the connection is unstable, this guide can help you diagnose and fix the issue. -- Hardware (WiFi card, access point) -- Settings at both ends of the connection -- The local environment +--- + +## Initial Troubleshooting + +1. Reboot the router/modem and the computer. + +2. Toggle Airplane Mode from the system menu in the top-right corner of the screen, or using a keyboard shortcut (most commonly **Fn + F11**, depending on your System76 model). + +3. If you've installed the `backport-iwlwifi-dkms` package for your Intel wireless card and your Wi-Fi issues began after an update, removing that package may resolve the issue. + +```bash +sudo apt remove backport-iwlwifi-dkms +``` +Then restart your computer. + +4. Temporarily use a phone hotspot to confirm whether the network or your computer is the issue. + +5. [Boot from a Live USB](https://support.system76.com/articles/live-disk) of your distribution to determine whether the issue exists outside your installed system. + +## Router and Access Point Recommendations -## Basic Troubleshooting +- Make sure your access point is configured for stability and compatibility. -If you’re having problems, try these steps first: +- Use 2.4 GHz channels 1, 6, or 11 to minimize overlap. -- Try unplugging the wireless router or modem to reboot it. -- Try airplane mode by pressing Fn+F11, waiting 10s, then disabling. -- Try rebooting the computer. +- Set the channel width to 20 MHz for crowded networks. -Some router settings can cause problems. Try adjusting your access point to these settings: +- For 5 GHz, use an explicit channel instead of “Auto” when troubleshooting. -- WPA2-AES is preferred over WPA/WPA2 mixed mode or TKIP. -- A channel width of 20 MHz in the 2.4 GHz band is more stable than automatic 20/40 MHz or fixed 40 MHz. -- Set 2.4Ghz and 5Ghz SSID names differently. -- Pick a fixed channel. Use either 1, 6, or 11 in the 2.4 Ghz band, rather than automatic selection. -- Check if the router is set to N speeds only. Auto B/G/N is preferred. -- Lower the max/burst speeds, turn off channel bonding, and reduce channel width. Setting the speed to 600 Mb/s or 450 Mb/s will use spread frequencies to achieve those speeds and may decrease stability. Try setting it to 289/300 Mb/s (N speed) or or 54 Mb/s (G speed). -- After making these changes, reboot the router. +- Use mixed mode (b/g/n/ax) if devices vary by generation. -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: +- If a single device struggles, temporarily set your router to a widely supported mode (such as **802.11n-only**) and test connectivity. + +- Avoid complex access point features such as: + + - Band steering + + - Aggressive airtime fairness + + - Deep MAC filtering + +- Ensure your device’s MAC address isn’t being filtered. + + - Check your MAC address with: + + ```bash + ip link show | grep ether + ``` + + Then confirm that MAC address is allowed in your router’s admin panel. + +- Confirm what channel and frequency your connection is using: ```bash -sudo apt remove backport-iwlwifi-dkms +iw dev +iwlist wlan0 scan | grep -E 'SSID|Channel|Frequency' ``` -## Advanced Troubleshooting +## Device-Level Checks and Commands -If the above steps aren't working, or you would like to fine tune and improve you connection, see the following steps. +These commands help verify whether your wireless card and drivers are functioning correctly. -### Regulatory Domain +```bash +ip a +``` + +List all wireless network interfaces to confirm that your Wi-Fi interface (usually `wlp2s0` or `wlan0`) is recognized. + +```bash +iw dev +``` -In many cases, it's recommended to explicitly set the WiFi regulatory domain. Check yours with this command: +Show wireless devices and their states: ```bash -sudo iw reg get +sudo rfkill list ``` -If you get 00, that is a one-size-maybe-fits-all setting. Find yours here: [ISO_3166](http://wikipedia.org/wiki/ISO_3166-1). +Check for hardware or software Wi-Fi blocks: -And set it permanently with this command: +```bash +nmcli device status +``` + +Check NetworkManager device states: ```bash -sudo gedit /etc/default/crda +sudo systemctl restart NetworkManager ``` -Change the last line to read: +Restart the network stack (safe to run at any time). -> REGDOMAIN=US +```bash +journalctl -b | grep -i network +``` -Save and close the text editor. +View network-related boot logs. + +```bash +dmesg | grep -i -E 'wifi|wlan|firmware|ieee80211|rtl|brcm|ath' +``` + +View driver and firmware kernel logs. + +To collect diagnostic info automatically: + +```bash +sudo dmesg | grep -i wlan > ~/wireless-dmesg.txt +``` + +## Driver and Firmware Checks + +If the device is detected but unstable, verify the driver and firmware setup. + +Check for missing firmware messages: + +```bash +dmesg | grep -i firmware +``` + +Reinstall firmware packages: + +```bash +sudo apt update +sudo apt install --reinstall linux-firmware +``` + +Test with a different router or mobile hotspot. + +## NetworkManager and Configuration Tips + +NetworkManager controls Wi-Fi connections on many Linux systems, including Pop!_OS and Ubuntu systems by default. + +Restart NetworkManager: + +```bash +sudo systemctl restart NetworkManager +``` + +Delete and recreate saved connections: + +```bash +nmcli connection delete +nmcli device wifi connect +``` + +For unstable networks, set IPv6 to “Ignore” in the network settings: + +1. Open Settings → Network. +2. Select your Wi-Fi connection. +3. Go to the IPv6 tab → change the method to Ignore. + +## Bluetooth and Airplane Mode Interactions + + If Wi-Fi disappears when Bluetooth is active: + +```bash +sudo rfkill list +sudo systemctl restart bluetooth +``` + +If the issues started after you applied updates, add a modprobe configuration to prevent a problematic Wi-Fi driver from loading, then reboot your computer: + +```bash +echo "options iwlwifi bt_coex_active=0" | sudo tee -a /etc/modprobe.d/iwlwifi.conf +``` + +Save, then reboot. + +## Advanced Troubleshooting + +If the above steps aren't working, or you would like to fine tune and improve you connection, see the following steps. ### IPv6 @@ -107,22 +226,13 @@ If you have trouble with a Bluetooth headset and keeping a steady downlink speed ### Power Management -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: +Another way to help with Wi-Fi issues is to turn off Wi-Fi power management. This can be done by adding the appropriate NetworkManager configuration using the following command, then rebooting your computer: ```bash -sudo gedit /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf +echo -e "[connection]\nwifi.powersave = 2" | sudo tee /etc/NetworkManager/conf.d/default-wifi-powersave-off.conf ``` -And change the file to read (effective upon reboot): - -> \[connection\] -> wifi.powersave = 2 - -If `tlp` is installed, take a look at the settings file found here for additional Wifi power saving being enabled: - -```bash -sudo gedit /etc/default/tlp -``` +If TLP is installed, it may also enable Wi-Fi power saving. You can review its configuration in `/etc/default/tlp`. ## Useful Programs @@ -144,7 +254,7 @@ sudo wavemon iwevent ``` -Run this command to watch what the Wifi hardware is doing. Pay attention to the disconnect reasons, and ignore the scans. +Run this command to watch what the Wi-Fi hardware is doing. Pay attention to the disconnect reasons, and ignore the scans. ```bash sudo systemctl restart NetworkManager @@ -186,15 +296,19 @@ This will reinstall network-manager, which can fix some network issues. ## Additional Info -Wifi Speeds and Frequencies: +Wi-Fi Speeds and Frequencies: - 54 Mb/s uses the 802.11g & 802.11b standards. + - 145 Mb/s and 300 Mb/s modes use the 802.11n standard and 20MHz or 40MHz bandwidths. + - 300Mbps / 40Mhz will provide the maximum performance in most cases. + - 145Mbps / 20MHz will work better in areas with more access points. + - 450Mbps uses a 60Mhz channel width and 600Mbps uses a 80Mhz channel width, and is typically less stable. -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 name of the Linux driver for Intel Wi-Fi cards is called iwlwifi and is included in the kernel by default. All information about the driver can be found here: [wireless.wiki.kernel.org/en/users/drivers/iwlwifi](https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi) @@ -206,4 +320,8 @@ Sometimes the newest version of the firmware will clear up occasional bugs. Ple ### Windows Dual Boot -If you are dual booting Windows, you may lose access to your wifi card entirely after running driver/OS updates in Windows. You may be able to gain access to your wifi card again by disabling "Fast Startup" in the Windows power options before booting back into Pop!_OS. +If you're dual booting Windows, you may lose access to your Wi-Fi card entirely after running driver/OS updates in Windows. You may be able to gain access to your Wi-Fi card again by disabling "Fast Startup" in the Windows power options before booting back into Pop!_OS. + +## Contact System76 Support + +If you purchased a System76 computer and you’ve tried all the steps above, but your wireless connection still isn’t working as expected, please collect the output from the diagnostic commands and [contact System76 support](https://system76.com/contact/support).