Putting a MediaTek MT7612U USB adapter (Alfa AWUS036ACM, or the generic MT7612U dongle) into monitor mode & packet injection — the clean, reliable way.
A small headless Linux VM on your Windows box that grabs the physical Wi-Fi adapter over native USB passthrough. Plug the adapter in, run one command, and you have a monitor-mode radio that both captures and injects — the executor radio for SignalLab's wireless tier.
usbip, and
usbip can't carry these adapters (the chip's USB control transfers time out). A VM takes the physical
USB device natively, so the firmware loads and monitor mode comes up cleanly. That is the whole
reason for this approach.
0e8d / PID 7612).One script does everything in Part B for you — installs VirtualBox + the USB Extension Pack, downloads the Ubuntu ISO, builds and installs the VM, adds the Wi-Fi tooling, and wires up USB passthrough + SSH.
setup-rf-executor.ps1 in a folder (it ships next to this guide).powershell -ExecutionPolicy Bypass -File .\setup-rf-executor.ps1
Install VirtualBox 7.2.x. Then install the Extension Pack — that is what enables USB passthrough (without it the VM can't see the adapter). Accept the license when prompted.
Download ubuntu-24.04.x-live-server-amd64.iso. Server (not Desktop) keeps the VM small — it
already ships the mt76x2u driver and MT7662 firmware.
From a normal PowerShell (using VirtualBox's VBoxManage):
$vbm = "$env:ProgramFiles\Oracle\VirtualBox\VBoxManage.exe"
& $vbm createvm --name asl-rf-executor --ostype Ubuntu_64 --register
& $vbm modifyvm asl-rf-executor --memory 2048 --cpus 2 --usbxhci on --nic1 nat
# DNS fix so apt works inside the VM on Hyper-V-backed hosts:
& $vbm modifyvm asl-rf-executor --natdnshostresolver1 on --natdnsproxy1 on
& $vbm createmedium disk --filename "$env:USERPROFILE\VirtualBox VMs\asl-rf-executor\disk.vdi" --size 20000
& $vbm storagectl asl-rf-executor --name SATA --add sata --controller IntelAhci
& $vbm storageattach asl-rf-executor --storagectl SATA --port 0 --device 0 --type hdd `
--medium "$env:USERPROFILE\VirtualBox VMs\asl-rf-executor\disk.vdi"
Let VirtualBox drive the whole install — no clicking through the installer. The hostname must be a dotted FQDN:
& $vbm unattended install asl-rf-executor `
--iso="$env:USERPROFILE\Downloads\ubuntu-24.04.4-live-server-amd64.iso" `
--user=asl --password=aslrf123 --full-user-name="ASL RF" `
--hostname="aslrf.localdomain" --install-additions `
--post-install-command="apt-get update && apt-get install -y aircrack-ng iw" `
--start-vm=headless
This installs Ubuntu, creates the asl user, and installs the Wi-Fi tools — then powers off.
A USB filter makes the adapter attach to the VM automatically whenever it's plugged in. Forward a host port so you can SSH in:
& $vbm usbfilter add 0 --target asl-rf-executor --name mt7612u --vendorid 0e8d --productid 7612
& $vbm modifyvm asl-rf-executor --natpf1 "ssh,tcp,127.0.0.1,2222,,22"
& $vbm startvm asl-rf-executor --type headlessssh asl@localhost -p 2222 # password: aslrf123
sudo airmon-ng start wlan0 # creates wlan0moniw dev # wlan0mon ... type monitor
sudo aireplay-ng --test wlan0mon # "Injection is working!"type monitor plus "Injection is working!" means the radio is
both capturing and transmitting — ready for capture, and for SignalLab's active tier.
A small local dashboard lets you drive the adapter from a browser window on Windows — see whether it's attached and in monitor mode, start/stop monitor mode, and run live scans that list the access points and client devices the adapter hears. It connects to the VM over SSH behind the scenes (no VBox guest channel, so nothing to jam).
nodejs.org) — runs the little bridge server.plink.exe. It auto-discovers
the VM's SSH host key, so there is nothing to configure.cd rf-monitor-guide
.\start-dashboard.ps1 # or: node alfa-dashboard\alfa-bridge.js
# then open http://127.0.0.1:8790
Close the Node window to stop it.
The scan has an engine selector next to the Scan button:
sysfs, never the driver, so a wedged adapter can't hang them or turn the dashboard red.| VM name | asl-rf-executor |
| Login | user asl · password aslrf123 |
| SSH | ssh asl@localhost -p 2222 |
| Dashboard | .\start-dashboard.ps1 → http://127.0.0.1:8790 (needs Node.js + PuTTY) |
| Start / stop VM | VBoxManage startvm asl-rf-executor --type headless · VBoxManage controlvm asl-rf-executor acpipowerbutton |
| Monitor on / off | sudo airmon-ng start wlan0 · sudo airmon-ng stop wlan0mon |
| Live scan | sudo airodump-ng wlan0mon |
| Adapter ID | MediaTek MT7612U — VID 0e8d / PID 7612 |
| Same VM, the Alfa | The Alfa AWUS036ACM is the same chipset — plug it into this VM and it works identically. |