MT7612U Driver Guide (AWUS036ACM)
一句話定位(One-liner): The MediaTek MT7612U is the chipset inside the AWUS036ACM — and its
mt76x2udriver has been built into the Linux kernel since version 4.19. That single fact makes the ACM the lowest-friction ALFA adapter on Linux: no installation, no DKMS, no maintenance.
Concept: what "in-kernel" means for MT7612U
The MT7612U is a 2T2R (2 transmit / 2 receive) dual-band 802.11ac radio — the "300 + 867 Mbps" in the AC1200 spec. Because MediaTek upstreamed the driver into the mainline kernel (drivers/net/wireless/mediatek/mt76/), every Linux distribution ships it pre-compiled.
The practical consequences are huge for a student:
- Ubuntu / Kali / Debian / Fedora: plug in →
wlan0exists. Zero commands needed. - No DKMS: nothing to rebuild when the kernel updates. The adapter cannot "break after an upgrade" the way Realtek DKMS modules can.
- Monitor mode + packet injection work through the standard
mac80211interface — no special tools required.
Prerequisites
- Linux with kernel 4.19 or newer (
uname -r— Ubuntu 20.04+ / any recent Kali is fine) -
sudoaccess - AWUS036ACM (or any MT7612U dongle)
Step 1: Verify the driver is loaded
Plug in the adapter and check:
lsusb | grep -i mediatek
lsmod | grep mt76x2u
Expected output:
Bus 001 Device 004: ID 0e8d:7612 MediaTek Inc. MT7612U 802.11a/b/g/n/ac 2T2R Wireless Adapter
mt76x2u 24576 0
mt76x2_common 36864 1 mt76x2u
mt76 94208 2 mt76x2u,mt76x2_common
The mt76x2u line with a nonzero refcount means the driver claimed your adapter. (If lsmod shows nothing but lsusb sees the device, the driver is a kernel module that loads on demand — run sudo modprobe mt76x2u.)
Step 2: Confirm the interface
iw dev
Expected output:
phy#0
Interface wlan0
ifindex 3
addr 00:c0:ca:xx:xx:xx
type managed
You might be wondering — "Why is my MAC 00:c0:ca:...?" Because
00:c0:cais the ALFA MAC OUI — every ALFA adapter starts with those three bytes. Handy when identifying adapters in a lab full of dongles.
Step 3: Connect (managed mode)
nmcli device wifi connect "MySSID" password "my-passphrase"
Expected output: Device 'wlan0' successfully activated with 'MySSID'.
Step 4: Monitor mode (the fun part)
sudo ip link set wlan0 down
sudo iw wlan0 set monitor none
sudo ip link set wlan0 up
iw dev
Expected output: the interface line now reads type monitor. Alternatively use the Aircrack-ng helper:
sudo airmon-ng start wlan0
Expected output:
PHY Interface Driver Chipset
phy0 wlan0 mt76x2u MediaTek Inc. MT7612U
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
Injection self-test (broadcast — safe on any channel):
sudo aireplay-ng --test wlan0mon
Expected output: 30/30: 100% and Injection is working!
Step 5: Turn it back off
sudo airmon-ng stop wlan0mon
sudo systemctl restart NetworkManager
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
lsusb shows nothing | Power / cable issue | Try another port, powered hub, another cable — see the troubleshooting index |
lsusb ok, no wlan0 | Driver not loaded (very rare) | sudo modprobe mt76x2u; check dmesg | grep mt76 |
airmon-ng reports "monitor mode not supported" | Kernel older than 4.19 | Upgrade your kernel / OS |
| Monitor mode works but injection fails | Wrong channel / dead RF zone | sudo iw wlan0mon set channel 6; test near an AP |
| WLAN disappears on suspend/resume | Known USB quirk on some laptops | Unplug/replug the adapter after resume |
References
- AWUS036ACM product page
- Ubuntu setup guide and Kali setup guide
- Compatibility matrix
- Mainline driver source:
drivers/net/wireless/mediatek/mt76/mt76x2/in the Linux kernel tree