[SOLVED] Wake-on-lan - doesn't work on Proxmox (Atheros Killer E2400)

shalak

Member
May 9, 2021
57
4
13
39
I repurposed my old gaming rig into a PVE host, it's equipped with Fatal1ty Z170 Gaming K4 motherboard that comes with Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10).

Back, when this host had Windows 7 installed, I was able to configure the Wake-on-lan in NIC's settings to start on MagicPacket - the feature worked correctly every time I sent the packet.

"Power on via PCI(e)" (which according to BIOS covers LAN wake-up) is still enabled.

Now, with Proxmox installed, the wake-on-lan no longer works.

Code:
[12:32:06][root@proxmox]:~# ethtool enp6s0
Settings for enp6s0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    MDI-X: Unknown
        Current message level: 0x000060e4 (24804)
                               link ifup rx_err tx_err hw wol
    Link detected: yes
[12:32:10][root@proxmox]:~# ethtool enp6s0 | grep Wake-on
[12:32:14][root@proxmox]:~# ethtool -s enp6s0 wol g
netlink error: Operation not supported

lspci -v says:

Code:
06:00.0 Ethernet controller: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10)
    Subsystem: ASRock Incorporation Killer E2400 Gigabit Ethernet Controller
    Flags: bus master, fast devsel, latency 0, IRQ 19, IOMMU group 13
    Memory at df200000 (64-bit, non-prefetchable) [size=256K]
    I/O ports at d000 [size=128]
    Capabilities: [40] Power Management version 3
    Capabilities: [58] Express Endpoint, MSI 00
    Capabilities: [c0] MSI: Enable- Count=1/16 Maskable+ 64bit+
    Capabilities: [d8] MSI-X: Enable+ Count=16 Masked-
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [180] Device Serial Number ff-0a-ca-ff-70-85-c2-ff
    Kernel driver in use: alx
    Kernel modules: alx

I'd appreciate any help with this one.
 
Last edited:
It appears that Atheros Killer driver has a bug and WOL was disabled for it a while back.

Some insights: https://bugzilla.kernel.org/show_bug.cgi?id=61651

There's a patch, originally prepared for Ubuntu: https://github.com/AndiWeiss/alx-wol

However, correct me if I'm wrong, but even if I installed the patch, assuming it will work with 6.5.11-7-pve, it will anyway stop to work as soon as I upgrade kernel package, right?

i guess that setting BIOS to power-on on power failure and adding a smart power socket is a more robust solution here.
 
Last edited:
i guess that setting BIOS to power-on on power failure and adding a smart power socket is a more robust solution here.
Or get a cheap PCIe network add-in card (that is known to work with WoL on Ubuntu) and use that to do the WoL?
EDIT: As a bonus, it allows you to easily separate Proxmox management traffic from VM network traffic.
 
Last edited:
Or get a cheap PCIe network add-in card (that is known to work with WoL on Ubuntu) and use that to do the WoL?
EDIT: As a bonus, it allows you to easily separate Proxmox management traffic from VM network traffic.

Indeed it did cross my mind, but that would require hooking up 2 ethernet cables, so I'll go with a smart socket. Thank you for the input :)
 
Hi there,
@shalak:
the alx-wol uses the dkms mechanism which compiles the module automatically when a new kernel is installed.
The only thing what may happen (but can be solved):
Currently the generic branch of alx-wol can only get the version information out of the Ubuntu kernels.
If the Information in the proxmox kernel is formatted in a different way one has to adapt the detection for that.