
Get Wake on LAN working on Linux with Atheros network adaptor
Last updated on March 12th, 2025If you’re using an Atheros network adaptor and running Linux, you may have found that Wake on LAN (WOL) doesn’t work.
This is caused by a known bug/workaround to a previous Linux kernel issue with Wake on LAN on Atheros network adaptors:
https://bugzilla.kernel.org/show_bug.cgi?id=61651
Understanding the Issue
Wake on LAN is a feature that allows you to remotely wake up a computer from a low power state by sending a message to its network adaptor over a connected network. However, users with Atheros network adapters have reported that WOL doesn’t function as expected on Linux systems.
I’ve been monitoring this bug for some time now, but have been frustrated that a permanent fix hasn’t made its way into the Linux kernel yet. I can however confirm that the latest fix on the site works, and wanted to share basic instructions for those not used to executing scripts in Linux (in my case Ubuntu).
Fix:
1. Download the latest file from the above address
2. Extract the downoaded tarball to a convenient location on your system
3. Open a terminal window, and navigate to the folder you extracted the files to
4. Run the setup script by running sudo ./setup
5. After the installation is complete, reboot your system to apply the changes.
Verifying the Fix
Once your system has rebooted, you should be able to use Wake on LAN with your Atheros network adapter. To verify that WOL is working, you can use tools like ethtool
to check the WOL settings and send a magic packet to wake up your system.
I hope this works for you too.
Example output:
james@ub-desktop:~/alx-dmks-installer$ sudo ./setup
Checking dependencies…
Done
Downloading kernel source for 4.15 by git…
Cloning into ‘linux-4.15’…
remote: Counting objects: 66281, done.
remote: Compressing objects: 100% (63014/63014), done.
remote: Total 66281 (delta 5908), reused 23470 (delta 2273)
Receiving objects: 100% (66281/66281), 174.53 MiB | 1.31 MiB/s, done.
Resolving deltas: 100% (5908/5908), done.
Note: checking out ‘d8a5b80568a9cb66810e75b182018e9edb68e8ff’.
You are in ‘detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
Checking out files: 100% (62303/62303), done.
Done
Preparing dkms module source…
Using 4.9+ patch…
Done
Adding dkms module
Creating symlink /var/lib/dkms/alx/4.15/source ->
/usr/src/alx-4.15
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j4 KERNELRELEASE=4.15.0-43-generic -C /lib/modules/4.15.0-43-generic/build M=/var/lib/dkms/alx/4.15/build/src modules….
cleaning build area…(bad exit status: 2)
DKMS: build completed.
alx.ko:
Running module version sanity check.
– Original module
– This kernel never originally had a module by this name
– Multiple same named modules!
– 2 named alx.ko in /lib/modules/4.15.0-43-generic/
– Installation
– Installing to /lib/modules/4.15.0-43-generic/updates/dkms/
depmod…
DKMS: install completed.
james@ub-desktop:~/alx-dmks-installer$
