ArchLinux AX88179 on BeagleBone Black

Trying to get an AX88179-based USB-to-Ethernet adapter to work on BBB under ArchLinux? Here’s how to compile the user package yourself.

Last time I checked there was no built-in support for AX88179 chipsets in the ArchLinux kernel for BeagleBone Black yet. As these chips are now being used more widely in USB 3.0 adapters for gigabit ethernet, this post describes how to install the kernel driver manually.


In order to compile the driver, the base development package must be installed. This can be skipped if the package was already installed during the ArchLinux setup. To install the package, run:

The version of the kernel header files to compile the driver against must match the version of the kernel that is currently running on the BBBs:

This device is running 3.8.13-35.

Now verify that the correct version of the headers is available in the repository. We use am33x as a search string, because that is the BBB’s processor type.

Here, a matching version of the legacy headers is available. If the only package headers available are for versions newer than the one you are running, then you need to update your kernel first:

We can now install the header files and scripts for building am33x kernel modules. We will use wget to download the driver’s PKGBUILD file, so let’s install it as well:

Build & Install Kernel Module

Now acquire the PKGBUILD for the AX88179 driver and unpack it:

By default, the ARM processor architecture is not enabled in the PKGBUILD. We have to enable it manually by adding armv7h to the existing architecture setting:

Save the file and close nano (press ‘Ctrl+X’ and ‘Y’).

Finally, the driver module can be compiled:

-s will automatically pull in any required package dependencies. You can append –asroot when compiling as the root user (not recommended).

After compilation finishes successfully, the module can be installed:

Testing Connectivity

Plug the adapter and Ethernet cable into the BBB, then reboot the device:

After the BBB rebooted, check the system logs for any problems:

Everything looks good. Now bring up the link:

At this point we can set up a static IP address for the network interface, or we can do a quick connectivity test by acquiring an IP address via DHCP:

Verify that the network interface received a valid IP address.

Permanently enable DHCP

To permanently enable DHCP, create a systemd configuration file for the interface:


If you ever need to remove the package, you can do so easily via pacman:

Related Resources

Leave a Reply

Your email address will not be published. Required fields are marked *