ALFA AWUS036ACH External WiFi Adapter on Kali

Published by Torry Crass on

Getting wireless units that work properly in Kali with modern feature sets seems to be a continuous challenge. I’ve had mixed results over the years with shoddy support for anything outside of vanilla 2.4GHz networks. However, recently I picked up an Alfa AWUS036ACH adapter with a great, modern, set of wireless capabilities.

https://www.alfa.com.tw/assets/images/awus036ach-400×400.jpg

Really quickly this card supports a, b, g, n, and ac networks giving full range support for things in the 2.4GHz and 5GHz networks. This is one heck of an expanded range of function compared to other adapters I’ve traditionally used.

Initially, I struggled with the install just a bit (go figure) but worked it out in fairly short order.

First, this assumes you have IOMMU support. If you don’t, based on what I’ve read, you might run into some additional hurdles. Sorry but that’s out of scope for this.

If you’re using VMWare Fusion/Player/Workstation you might be able to virtualize the function. Don’t do this unless you know for SURE you don’t have IOMMU support, many modern systems do have this functionality; you might need to turn it on in your BIOS.

VMWare Processor Settings (IOMMU Virtualization)

Next, the major thing, whether VM or not. This is a USB 3.0 card. So far, I’ve only been able to get it functional with USB 3.0, older 2.0 and 1.1 do not function.

Setting my VM to USB 3.0 mode was actually the key to getting this working so make sure to do that as your first step.

USB settings in VMWare

As seen to the right, change the USB compatibility mode to 3.0 and then boot up the system.

Once in the system you’ll need to make sure you have the linux-headers package installed so that the kernel module for the compatible wireless cards can be built. The current version of Kali (2018.4) does not have support for the ALFA card we’re working with installed by default. See below for the set of install commands:

# apt install linux-headers-amd64

(optional)
# apt install build-essential

# apt install realtek-rtl88xxau-dkms

// The system will now build the kernel module and install it, if all
// is successful (you'll see errors if it's not) you can restart the
// network and wireless should be active

# systemctl restart network-manager

And that’s all! If all goes well you should be able to right click on your network area and see wireless networks.

Available wireless networks

If you happen to see errors like the one below complaining about not being able to enumerate the device, check to make sure that your system, the virtual machine as well as underlying hardware, supports USB 3.0. That might be your problem.

usb usb1-port1: unable to enumerate USB device