
- Yopitek Ltd/
- Blog/
- ALFA AWUS036ACM Driver Install Guide for China: Kali Linux, Ubuntu, Debian & Raspberry Pi/
ALFA AWUS036ACM Driver Install Guide for China: Kali Linux, Ubuntu, Debian & Raspberry Pi
Table of Contents
The AWUS036ACM is one of the easiest Alfa adapters to set up on Linux. Its MT7612U chip uses the mt76x2u driver, which is built into the Linux kernel since version 4.19. On most modern systems, the adapter works with two or three commands. This guide covers the full setup — driver verification, monitor mode, packet injection, and VIF — using only domestic mirrors. No GitHub required.
Make sure you have these ready:
Before You Start#
Make sure you have these ready:
- ALFA AWUS036ACM adapter
- USB cable (the one in the box works fine)
- A powered USB hub — required if you are on Raspberry Pi
- Active internet connection to reach domestic mirrors
Plug in the adapter, then confirm your system sees it:
lsusbLook for this in the output:
Bus 001 Device 003: ID 0e8d:7612 MediaTek Inc.If you see 0e8d:7612, the adapter is detected. Move to your OS section below.
If you don’t see it, try a different USB port or swap the cable, then run lsusb again.
Choose Your Operating System#
Jump to the right section for your OS:
Already installed? Skip to:
Kali Linux#
The MT7612U driver is already in the Kali kernel. In most cases the adapter works the moment you plug it in. The steps below verify the driver is loaded and walk you through monitor mode.
Step 1: Switch to China Mirror#
Open your sources list in the terminal.
sudo nano /etc/apt/sources.listDelete whatever is there, then paste this line:
deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free non-free-firmwareSave: press Ctrl+O, then Enter, then Ctrl+X to exit. Refresh the package index.
sudo apt updateBackup mirror: If 中科大 (USTC) is slow, use 清华 (Tsinghua) instead:
deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware
Step 2: Verify the Driver#
Check if the module loaded automatically when you plugged in the adapter.
lsmod | grep mt76You should see output containing mt76x2u. If nothing appears, load it manually.
sudo modprobe mt76x2uRun lsmod | grep mt76 again to confirm. Then verify the adapter is up.
iwconfigLook for a wireless interface — typically wlan0 or wlan1. If the interface appears with an ESSID or unassociated, the driver is working.
Step 2 (Alternative): Install Extra Kernel Modules#
If modprobe mt76x2u gives a “Module not found” error, your kernel build may be missing the MT76 modules. Install them from the China mirror.
sudo apt install -y linux-modules-extra-$(uname -r)After the install completes, load the module again.
sudo modprobe mt76x2uIf the package is not available for your exact kernel version, compile the driver from source instead.
sudo apt install -y git build-essential libssl-dev
git clone https://gitee.com/mirrors/mt76.git
cd mt76
make
sudo make install
sudo modprobe mt76x2uNOTE: If that Gitee URL does not load, search Gitee for
mt76and pick the most recently updated fork. You can also download driver archives directly from files.alfa.com.tw.
Step 3: Enable Monitor Mode#
Before switching to monitor mode, check which interface name the system assigned to the adapter.
iwconfigLook for wlan0 or wlan1. Use that name in the commands below.
Stop NetworkManager and wpa_supplicant so they don’t interfere.
sudo airmon-ng check kill
sudo airmon-ng start wlan0Confirm the switch.
iwconfigLook for an entry like wlan0mon with Mode:Monitor. When you see that, the adapter is ready for packet capture.
Step 4: Test Packet Injection#
Run the injection test against the monitor interface.
sudo aireplay-ng --test wlan0monA successful result looks like this:
Trying broadcast probe requests...
Injection is working!
Found 1 APIf the test fails, reboot and run it again. If it still fails, confirm no other process holds the interface with iwconfig.
Ubuntu 22.04 / 24.04#
The MT7612U driver is in the Ubuntu kernel too, but it may ship in the linux-modules-extra package rather than the base kernel image. The steps below handle both cases.
Step 1: Switch to China Mirror#
Ubuntu 24.04 (Noble)#
Open the DEB822-format sources file:
sudo nano /etc/apt/sources.list.d/ubuntu.sourcesDelete everything and paste:
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpgSave with Ctrl+O, then exit with Ctrl+X.
Ubuntu 22.04 (Jammy)#
Open the classic sources file:
sudo nano /etc/apt/sources.listReplace all lines with:
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverseSave and exit (Ctrl+O, then Ctrl+X).
Refresh the package index#
sudo apt updateStep 2: Load the Driver#
Try loading the module directly first.
sudo modprobe mt76x2uIf that gives a “Module not found” error, install the extra modules package.
sudo apt install -y linux-modules-extra-$(uname -r)
sudo modprobe mt76x2uVerify the adapter is visible.
iwconfigAn interface like wlan0 or wlan1 in the output confirms the driver is active.
Step 3: Install Wireless Tools#
Install aircrack-ng for monitor mode and injection testing.
sudo apt install -y aircrack-ngStep 4: Enable Monitor Mode#
Kill interfering processes, then start monitor mode.
sudo airmon-ng check kill
sudo airmon-ng start wlan0Note: Your interface may be
wlan1if another wireless card is present. Runiwconfigfirst to check.
Step 5: Test Packet Injection#
sudo aireplay-ng --test wlan0monA successful result shows Injection is working!. If you see interface errors, verify monitor mode is active with iwconfig wlan0mon.
Debian#
The MT7612U driver is in the Debian kernel but sometimes requires the firmware-misc-nonfree package to initialise fully.
Step 1: Switch to China Mirror#
Open the sources list:
sudo nano /etc/apt/sources.listDelete everything and paste these three lines (Debian 12 Bookworm):
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmwareSave with Ctrl+O, then exit with Ctrl+X. Refresh:
sudo apt updateStep 2: Install Non-Free Firmware#
The MT7612U requires firmware files from the firmware-misc-nonfree package. Without this, the adapter initialises but may not associate or switch to monitor mode.
sudo apt install -y firmware-misc-nonfreeStep 3: Load the Driver#
sudo modprobe mt76x2uIf the module is missing, install extra kernel modules first.
sudo apt install -y linux-modules-extra-$(uname -r)
sudo modprobe mt76x2uConfirm the interface appeared.
iwconfigStep 4: Enable Monitor Mode#
sudo apt install -y aircrack-ng
sudo airmon-ng check kill
sudo airmon-ng start wlan0Confirm monitor mode with iwconfig — look for wlan0mon with Mode:Monitor.
Step 5: Test Packet Injection#
sudo aireplay-ng --test wlan0monInjection is working! confirms the adapter is fully operational.
Raspberry Pi 4B / 5#
The AWUS036ACM draws around 400mW under load. Use a powered USB hub to prevent the Pi from throttling.
Step 1: Download Kali Linux ARM64 Image#
Go to the official Kali ARM downloads page: https://www.kali.org/get-kali/#kali-arm
Pick Raspberry Pi 4 (64-bit) or Raspberry Pi 5 (64-bit). Do not use the 32-bit image — 64-bit is required.
China mirror: If kali.org is slow, use 华为云: https://repo.huaweicloud.com/kali-images/ Browse to the latest release folder and download the ARM64 image from there.
Step 2: Flash to MicroSD#
Check the device path of your card first.
lsblkThen flash, replacing /dev/sdX with your actual card path.
# Replace /dev/sdX with your actual SD card (check with lsblk)
sudo dd if=kali-linux-2025.1-raspberry-pi-arm64.img of=/dev/sdX bs=4M status=progress conv=fsync
syncWait for sync to complete, then boot. Default credentials: kali / kali.
Step 3: Switch to China Mirror#
sudo nano /etc/apt/sources.listReplace the contents with:
deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free non-free-firmwareSave and apply.
sudo apt update && sudo apt full-upgrade -y
sudo rebootStep 4: Verify Driver#
After reboot, plug in the adapter and check.
lsmod | grep mt76If mt76x2u appears, you are done. If not:
sudo apt install -y linux-modules-extra-$(uname -r)
sudo modprobe mt76x2uStep 5: Enable Monitor Mode#
On a Pi with built-in Wi-Fi, the AWUS036ACM shows up as wlan1 — the built-in radio occupies wlan0.
iwconfigNote the interface name, then start monitor mode on it.
sudo airmon-ng check kill
sudo airmon-ng start wlan1Confirm with iwconfig — look for wlan1mon with Mode:Monitor.
Step 6: Test Packet Injection#
sudo aireplay-ng --test wlan1monInjection is working! confirms full operation. If it fails, recheck you are using a powered hub.
Virtual Machine USB Passthrough#
VirtualBox#
- Power off the VM. Go to Settings → USB.
- Enable USB 3.0 (xHCI) Controller.
- Click + to add a USB filter.
- Select: MediaTek Inc. MT7612U (ID: 0e8d:7612).
- Start the VM — the adapter appears inside Kali.
Run lsusb in the VM to confirm 0e8d:7612, then follow the Kali steps above.
VMware Fusion (macOS) / VMware Workstation (Windows)#
- Start the VM.
- Menu: Virtual Machine → USB & Bluetooth.
- Find MediaTek MT7612U and click Connect.
- Run
lsusbin the VM to confirm, then follow the Kali steps above.
Virtual Interface (VIF)#
This is where the AWUS036ACM pulls ahead of the ACH. The MT7612U chip has full kernel-native VIF support. You can run a monitor interface and a managed or AP interface on the same adapter simultaneously — no patches, no hacks.
Create a Second Virtual Interface#
With the adapter in managed mode as wlan0, add a monitor interface alongside it.
sudo iw dev wlan0 interface add mon0 type monitor
sudo ip link set mon0 upNow verify both interfaces are active.
iwconfigYou should see both wlan0 (associated, managed mode) and mon0 (monitor mode). The adapter is doing both at the same time.
Use Case: Monitor While Staying Connected#
This lets you capture traffic on mon0 while wlan0 stays connected to a network — useful for correlated analysis.
sudo airodump-ng mon0wlan0 continues its normal association while mon0 captures everything in range.
Use Case: Fake AP + Monitor#
Create an AP interface and a monitor interface together.
sudo iw dev wlan0 interface add ap0 type __ap
sudo iw dev wlan0 interface add mon0 type monitor
sudo ip link set ap0 up
sudo ip link set mon0 upRun iwconfig to confirm all three interfaces (wlan0, ap0, mon0) are active.
Note on hostapd: Full AP operation requires configuring
hostapd. That is outside the scope of this guide. The steps above confirm the adapter can create the interface — actual AP configuration is a separate topic.
常見問題
What chipset does AWUS036ACM use? Does it need drivers?
It uses the MediaTek MT7612U chipset. The mt76x2u driver has been built into the Linux kernel since 4.19. In most cases, it is plug-and-play.
Does AWUS036ACM support VIF virtual interfaces?
Yes. MT7612U fully supports kernel-native VIF, allowing simultaneous monitor and managed mode interfaces without patching.
Do I need a VPN to install AWUS036ACM in China?
No. The driver is already in the kernel. You only need to install the firmware-misc-nonfree package from domestic mirrors.
How much power does AWUS036ACM draw on Raspberry Pi?
About 400mW at full load. A powered USB hub is recommended to prevent Pi throttling.
Why does Debian recognize the AWUS036ACM but it does not work?
Missing the firmware-misc-nonfree package. Install it and the adapter will initialize properly.
Troubleshooting#
| Problem | Likely Cause | Fix |
|---|---|---|
lsusb doesn’t show 0e8d:7612 | Adapter not powered or bad cable | Try a different USB port. Use powered hub on Raspberry Pi. |
modprobe mt76x2u says “Module not found” | Kernel missing extra modules | Run sudo apt install linux-modules-extra-$(uname -r) |
| Interface appears but won’t associate | Firmware file missing | Run sudo apt install firmware-misc-nonfree (Debian) |
airmon-ng start wlan0 fails | NetworkManager still running | Run sudo airmon-ng check kill first |
| Monitor mode starts but no traffic captured | Wrong channel or wrong interface name | Set channel: iwconfig wlan0mon channel 6 |
| Injection test says “No Answer” | AP too far or wrong interface | Move closer to the AP. Use wlan0mon, not wlan0. |
| VIF interface creation fails | Driver not fully loaded | Unplug adapter, reload module: sudo rmmod mt76x2u && sudo modprobe mt76x2u |
China Mirror Reference#
All resources used in this guide — no GitHub required:
| Resource | URL | Use for |
|---|---|---|
| Alfa official drivers | files.alfa.com.tw | Driver packages, firmware |
| Alfa documentation | wiki.alfa.com.tw | Product manuals |
| 清华大学镜像 | mirrors.tuna.tsinghua.edu.cn | Kali / Debian / Ubuntu |
| 阿里云镜像 | mirrors.aliyun.com | Ubuntu (recommended) |
| 中科大镜像 | mirrors.ustc.edu.cn | Kali (recommended) |
| 华为云镜像 | repo.huaweicloud.com | Kali ARM images (backup) |
| MT76 driver (Gitee) | gitee.com/mirrors/mt76 | Manual compile fallback |
More Alfa Adapter Guides for China#
This is part of the Alfa China Install Guide series. Each article covers one adapter model:
- AWUS036ACH China Install Guide — RTL8812AU, high power
- AWUS036ACM ← you are here
- AWUS036ACS China Install Guide
- AWUS036AX China Install Guide
- AWUS036AXER China Install Guide
- AWUS036AXM China Install Guide
- AWUS036AXML China Install Guide
- AWUS036EAC China Install Guide
Questions? Leave a comment below or contact us at yupitek.com.