Skip to content

Wi-Fi Adapter Not Detected

Wireless adapter detection failures on Parrot OS usually originate from one of four layers: hardware visibility, kernel driver support, firmware availability, or interface state. This guide focuses on structured diagnosis rather than one-click fixes.

Use this guide if:

  • No wireless networks appear
  • Wi-Fi toggle is missing
  • wlan0 or wlp* interface does not exist
  • USB Wi-Fi adapter is plugged in but ignored
  • Internal laptop Wi-Fi works in another OS but not in Parrot
  • Adapter appears in the hardware list but cannot initialize

1. Identify Whether the System Sees the Hardware

Section titled “1. Identify Whether the System Sees the Hardware”

Start by checking if the device is visible on the bus.

Terminal window
lspci -nnk | grep -A3 -i network
Terminal window
lsusb

If nothing relevant appears:

  • Check BIOS/UEFI wireless settings
  • Disable airplane mode in firmware or keyboard hotkeys
  • Re-seat USB adapter
  • Test another USB port
  • Verify the adapter works on another machine

If hardware does not enumerate, this is not yet a Linux driver issue.

List interfaces:

Terminal window
sudo ip link

Typical wireless names:

  • wlan0
  • wlp2s0
  • wlx<mac>

If only lo and Ethernet interfaces exist, continue to driver and firmware checks.

Determine whether the kernel matched a driver.

Terminal window
lspci -nnk

or for USB:

Terminal window
lsusb

Then inspect loaded modules:

Terminal window
lsmod | grep -E 'iwlwifi|ath|rtw|rtl|mt76|brcm'

Common families:

Vendor Typical Module
Intel iwlwifi
Qualcomm Atheros ath9k,ath10k,ath11k
Realtek rtw88,rtw89,rtl8xxxu
MediaTek mt76
Broadcom brcmsmac,brcmfmac,wl

If the adapter is visible but no suitable module loads, continue below.

Kernel logs often reveal the exact failure reason.

Terminal window
sudo dmesg | grep -iE 'wifi|wlan|firmware|iwlwifi|rtl|ath|mt76|brcm'

Look for patterns such as:

  • firmware file is missing
  • failed to load firmware
  • device timeout
  • unsupported chipset
  • RF-kill blocked
  • probe failed
  • invalid EEPROM / calibration data

This step is usually more valuable than random package reinstall attempts.

Many adapters require proprietary firmware blobs that are loaded at runtime.

Refresh repositories and install standard firmware packages:

Terminal window
sudo apt update
sudo apt install firmware-linux firmware-linux-nonfree

Then reboot or reload the module.

Example:

Terminal window
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi

If a specific firmware filename is missing in dmesg, search for the package that provides it.

Some systems expose the adapter but block radio transmission.

Check state:

Terminal window
rfkill list

If blocked:

Terminal window
sudo rfkill unblock all

Then verify NetworkManager detects the device.

7. NetworkManager Running but No Device Listed

Section titled “7. NetworkManager Running but No Device Listed”

Confirm service state:

Terminal window
systemctl status NetworkManager

Restart if needed:

Terminal window
sudo systemctl restart NetworkManager

Then inspect devices:

Terminal window
nmcli device status

If the interface exists but shows unavailable, firmware or regulatory issues may still be present.

Some Realtek USB chipsets rely on out-of-tree drivers or newer kernel support.

Identify the chipset first:

Terminal window
lsusb

Then search exact chipset model (example:8812au, 8821cu, 8852bu) before installing random GitHub drivers.

Avoid mixing multiple unofficial drivers simultaneously.

Broadcom support is fragmented. Open drivers work for some chipsets, proprietary drivers for others.

Check device ID:

Terminal window
lspci -nn | grep -i broadcom

Then install the recommended package if required:

Terminal window
sudo apt install broadcom-sta-dkms

Reboot after installation.

If using proprietary or DKMS-built modules, Secure Boot may prevent loading unsigned modules.

Symptoms:

  • Driver installed successfully
  • Module exists
  • Interface still absent
  • dmesg mentions signature rejection

Options:

  • Disable Secure Boot in firmware
  • Enroll signing keys properly

Very new chipsets may need a newer kernel than the one currently installed.

Check kernel:

Terminal window
uname -r

If the adapter is recent-generation hardware, testing a newer kernel may resolve detection issues.

Adapters that appear/disappear repeatedly may be suspended by power management.

Temporarily test:

Terminal window
sudo usbreset

or disable auto suspend via kernel parameters / TLP configuration.

Once fixed, confirm:

Terminal window
iw dev
nmcli device wifi list
ip addr show

You should see:

  • wireless interface present
  • scan results returned
  • successful association to an AP
  • Installing random drivers before identifying chipset
  • Assuming missing Wi-Fi icon = missing hardware
  • Ignoring rfkill
  • Forgetting firmware packages
  • Mixing proprietary and in-kernel drivers
  • Using outdated forum fixes for different chipsets