# Identifying Wireless Chipsets and Drivers in Kali

> Detect and verify wireless chipset compatibility in Kali Linux using lsusb, lspci, and iw tools to confirm monitor mode and injection support.

- **URL:** https://hackindex.io/platforms/wireless/setup/identifying-wireless-chipsets-and-drivers-in-kali
- **Path:** Wireless > Setup and Hardware
- **Up:** [Setup and Hardware](https://hackindex.io/platforms/wireless/setup.md)
- **Published:** 2026-03-17
- **Updated:** 2026-09-12

Before running monitor mode or injection techniques, identify the chipset and the kernel driver bound to the adapter. This determines support for monitor mode and injection. It also affects which tool flags to use and whether driver workarounds apply. Skipping this step wastes time when a tool fails silently or returns no interfaces. The chipset, not the adapter brand, controls what is possible. A rebadged adapter can ship with a completely different chip than the one advertised on the box.

- **lsusb** lists connected USB adapters by vendor:product ID for chipset cross-referencing.
- **lspci** identifies built-in PCIe wireless cards (Intel, Atheros), which typically lack injection support.
- **airmon-ng** shows all wireless interfaces with their active driver and chipset in one view.
- **ethtool -i** returns the exact driver version and bus info for a specific interface.
- **lsmod** confirms whether the kernel module for a chipset is loaded and active.

## List Connected USB Adapters

```bash
lsusb
# Bus 001 Device 002: ID 0cf3:9271 Qualcomm Atheros AR9271
# Bus 001 Device 003: ID 0b05:17d1 ASUSTek Computer MT7610U
# Bus 002 Device 004: ID 0bda:8812 Realtek RTL8812AU
```

The `ID vendor:product` field is the reliable identifier. The text description can be wrong or generic. Copy that ID and cross-reference it against the aircrack-ng compatibility list before trusting the friendly name. Adapters sold as dual-band 802.11ac sometimes ship a different chipset revision that lacks injection support. The vendor ID alone is not enough; you need the full `vendor:product` pair. For full details on a specific device:

```bash
lsusb -v -d 0bda:8812 2>/dev/null | grep -iE "idVendor|idProduct|iProduct|iManufacturer"
#   idVendor           0x0bda Realtek Semiconductor Corp.
#   idProduct          0x8812 RTL8812AU 802.11a/b/g/n/ac
#   iManufacturer           1 Realtek
#   iProduct                2 802.11n WLAN Adapter
```

## List PCIe Wireless Adapters

```bash
lspci | grep -i network
# 02:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
# 03:00.0 Network controller: Realtek Semiconductor RTL8812AE 802.11ac
```

Built-in laptop cards are almost always Intel or Qualcomm Atheros PCIe adapters. Neither supports injection in standard Kali kernels. If you see an Intel card here, treat it as a management-only interface. Use a dedicated USB adapter for injection and monitor mode. The bus address in the first column, for example `03:00.0`, is what you pass to `lspci -vnn`. For full details on a specific PCIe device:

```bash
lspci -vnn -s 03:00.0
```

## Check the Active Driver with airmon-ng

Run without arguments to see all wireless interfaces, their drivers, and chipsets at once. This is usually the fastest first check. The Driver column maps directly to the kernel module name, and the Chipset column confirms what the kernel detected.

```bash
airmon-ng
# PHY     Interface   Driver          Chipset
# phy0    wlan0       iwlwifi         Intel Corporation Wi-Fi 6 AX200
# phy1    wlan1       mt76x2u         MediaTek MT7612U
# phy2    wlan2       8812au          Realtek RTL8812AU
```

The driver name tells you immediately whether you have a supported chipset. Intel AX200 with `iwlwifi` does not support injection. MT7612U with `mt76x2u` does. If the Driver column shows `iwlwifi`, `ath10k`, or `brcmfmac`, that interface will not work for injection. Plan around it. If an expected interface is missing, the driver may not be loaded. The adapter may also have failed to enumerate on the USB bus.

## Check the Driver with ethtool

Use `ethtool -i` to get driver details for a specific interface. The output confirms the exact driver version bound to the interface. The `bus-info` field ties the interface back to the physical USB or PCIe slot. This helps when multiple adapters are connected and interface names shift between reboots.

```bash
ethtool -i wlan1
# driver: mt76x2u
# version: 6.1.0-kali7-amd64
# firmware-version: N/A
# bus-info: usb-0000:00:14.0-2
```

## Check Which Kernel Module is Loaded

If `airmon-ng` shows no interface for an adapter you plugged in, check whether the kernel module loaded at all. Use `lsmod` filtered by common driver names. A missing module means the kernel has no driver for the chipset. It can also mean a DKMS module failed to build after a kernel update.

```bash
lsmod | grep -i "8812\|mt76\|ath9k\|ath10k\|iwl"
# mt76x2u               45056  0
# mt76x2_common         90112  1 mt76x2u
# mt76                  98304  2 mt76x2u,mt76x2_common
```

The third column is the usage count. A value of `0` means the module is loaded but no interface is actively using it. That is normal when no adapter is plugged in. If nothing appears for your expected driver, the module is not loaded. See the driver management page. If the module is present but `airmon-ng` still shows nothing, check `dmesg` for firmware load failures or USB enumeration errors.

## Identify the Wireless Chipset Driver from the Chipset Model

The key question is whether the chipset supports `mac80211` injection. Chipsets that use a FullMAC architecture, where the firmware handles MAC-layer operations, typically do not support injection regardless of driver. SoftMAC chipsets expose raw frame control to the driver, which is what `mac80211` injection requires. Most recommended pentesting adapters are SoftMAC. Chipsets marked DKMS in the table need a kernel module built outside the mainline tree. Kali pre-installs these DKMS drivers, but they may need rebuilding after a kernel upgrade.

| Chipset | Driver | Monitor mode | Injection | Notes |
| --- | --- | --- | --- | --- |
| MT7612U | mt76x2u | Yes | Yes | In-kernel, no setup needed |
| MT7610U | mt76x0u | Yes | Yes | In-kernel |
| RTL8812AU | 8812au | Yes | Yes | DKMS, pre-installed on Kali |
| RTL8814AU | 8814au | Yes | Yes | DKMS, pre-installed on Kali |
| AR9271 | ath9k_htc | Yes | Yes | In-kernel, older chipset |
| Intel AX200 | iwlwifi | No | No | Not usable for pentesting |

## References

- [Aircrack-ng: Compatible Adapters and Drivers](https://www.aircrack-ng.org/doku.php?id=compatibility_drivers) - Full chipset and driver compatibility matrix
- [Aircrack-ng: Injection Test](https://www.aircrack-ng.org/doku.php?id=injection_test) - Verifying injection with aireplay-ng
