WiFi not showing up in Kali Linux typically stems from missing firmware, disabled network interfaces, or incompatible drivers. This guide walks you through diagnosing the issue using lspci and lsusb, installing necessary packages like firmware-linux-nonfree, and enabling the interface with ip link set to restore connectivity.
Verify Hardware Detection
The first step in troubleshooting is confirming that the operating system can physically see your wireless adapter. If the hardware is not detected by the kernel, no software fix will work until the driver issue is resolved. You need to distinguish between PCI/PCIe cards (common in desktops) and USB adapters (common in laptops). Run the following command to list all PCI devices:lspci -nn | grep -i net
Look for entries containing "Wireless" or "802.11". Note the ID at the end of the line in brackets, such as [14e4:4365]. This identifier is crucial for finding the correct driver.
For USB Wi-Fi adapters, use this command instead:
lsusb
Identify your adapter in the list. If neither command shows your device, check physical connections. For USB devices, try a different port. For internal cards, ensure the card is seated correctly if you are comfortable opening the chassis. If the device appears here but still doesn't show in the GUI, proceed to driver installation.
Install Missing Firmware and Drivers
Kali Linux is a rolling release distribution that requires specific non-free firmware packages to support many common Wi-Fi chipsets. The most frequent cause of invisible adapters is the absence of these proprietary blobs. Update your package lists first:sudo apt update
Then, install the general non-free firmware package:
sudo apt install firmware-linux-nonfree
This package covers a wide range of Intel, Broadcom, and Realtek chips. If you have a specific Realtek chipset, such as the popular RTL8812AU, you may need additional drivers. However, avoid adding third-party repositories for simple driver installs unless absolutely necessary, as they can break system stability. Instead, check if the standard linux-firmware package has been updated recently, as it often contains newer driver support.
If you are using a USB adapter with a known problematic chipset, you might need to compile the driver from source or use DKMS. For most users, ensuring firmware-linux-nonfree is installed resolves the issue. Reboot your system after installation to ensure the kernel loads the new modules.
sudo reboot
Check Interface Status and Enablement
Sometimes the hardware is detected and drivers are loaded, but the interface is administratively down or blocked by radio kill switches. Use theip command to view interface states.
ip link show
Look for an interface named wlan0 or similar. If it exists but says "DOWN", you must enable it:
sudo ip link set wlan0 up
Replace wlan0 with your actual interface name. If the interface does not appear at all, the driver module might not be loaded. Check loaded modules with:
lsmod | grep wifi
Or specifically for your chipset vendor, e.g., lsmod | grep rtl88xx. If the module is not listed, load it manually:
sudo modprobe [module_name]
Another common culprit is the RF Kill switch. Some systems have a hardware button or keyboard shortcut that disables wireless radios. Check the status with:
rfkill list
If the Wi-Fi adapter is listed as "Soft blocked: yes" or "Hard blocked: yes", unblock it:
sudo rfkill unblock wifi
Network Manager Configuration
Kali Linux uses NetworkManager by default for managing connections. If the interface is up but not appearing in the GUI, NetworkManager might be ignoring it. Ensure NetworkManager is running and enabled.systemctl status NetworkManager
If it is inactive, start it:
sudo systemctl start NetworkManager
To ensure it starts on boot:
sudo systemctl enable NetworkManager
You can also check if NetworkManager is configured to ignore certain interfaces. Review the configuration file at /etc/NetworkManager/NetworkManager.conf. Look for the [device] section. If there is a wifi.scan-rand-mac-address=no setting, it might affect visibility in some contexts, but generally, the default settings work fine. Restart NetworkManager after any changes:
sudo systemctl restart NetworkManager
Common Pitfalls and Advanced Checks
If the above steps fail, consider the following advanced checks. First, verify that Secure Boot is disabled in your BIOS/UEFI settings. Secure Boot can prevent unsigned kernel modules from loading, which affects many third-party Wi-Fi drivers. Second, check for conflicts with other network services. If you are using a VM, ensure the virtualization software (like VMware or VirtualBox) is properly configured to pass through the USB Wi-Fi adapter. See our guide on Troubleshooting Weird Gateway Issue in VMware for related virtualization networking tips. Additionally, ensure your Kali Linux version is up to date. Older versions may lack support for newer hardware. Runsudo apt full-upgrade to get the latest kernel and firmware updates. If you recently upgraded the kernel, ensure the headers are installed for building external modules:
sudo apt install linux-headers-$(uname -r)
Finally, if you are using a very new chipset, check the Linux Wireless Wiki for specific driver requirements. Some adapters require specific firmware files placed in /lib/firmware/. Download the firmware from the manufacturer's website and place it in the correct directory, then reboot.
Frequently Asked Questions
Why does my WiFi adapter show in lspci but not in ifconfig?
This usually means the driver is not loaded or the interface is down. Check if the kernel module is loaded using lsmod and enable the interface with ip link set. It may also indicate that the device is managed by a different tool than ifconfig.
How do I know if my Wi-Fi adapter is hard blocked?
Run rfkill list to see the status of all wireless devices. If it says "Hard blocked: yes", check your laptop's physical switch or function key combination for Wi-Fi. Hard blocks cannot be removed via software commands.
Can I use a Windows Wi-Fi driver in Kali Linux?
No, Windows drivers are incompatible with the Linux kernel. You must find a Linux-compatible driver, often available as open-source kernel modules or via proprietary firmware packages. Using ndiswrapper to wrap Windows drivers is possible but rarely stable for modern adapters.
What should I do if my USB Wi-Fi adapter is not detected by lsusb?
Try a different USB port, preferably USB 2.0 if the adapter is older, as some adapters have compatibility issues with USB 3.0 ports. Also, check dmesg for any error messages related to USB enumeration failures, which might indicate a power delivery issue.
Does Secure Boot affect Wi-Fi drivers in Kali Linux?
Yes, Secure Boot prevents unsigned kernel modules from loading. Many third-party Wi-Fi drivers are not signed by Microsoft or a trusted authority recognized by Secure Boot. Disabling Secure Boot in BIOS is often required for these drivers to function correctly.