Z790 I226-V WoL not working

Hello all,

I am trying to get TrueNAS Scale 20.10.1 setup working on a new system the is on a z790 board using a I226-V network card.

The motherboard is a Asus Z790 Tuf wifi D4 with a 12900k, 64gb of ram, 2x 16gb drives for boot pool.

This install is bare metal and no virtualization, also a clean install with everything at install defaults yet with no changes or customization yet.

I have enabled the Power On by PCI-E in the bios and disabled ASPM.

In the terminal, I also see it is enabled on the adapter.

Despite these settings, WoL is not working in TrueNAS for me.

When I look at the NIC after turning the system off, the lights are off indicating power has been cut to the card.

With the same bios settings if I boot a windows drive and shutdown, it works correctly.

So it seems like it has to do with something on how the TrueNAS install is interacting with my system.

Any advice on how to fix this would be greatly appreciated.

truenas_admin@truenas[~]$ sudo ethtool eno1
[sudo] password for truenas_admin: 
Settings for eno1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

I had Wake-on-LAN issues myself what feels like ages ago…

Eventually I managed to get it working properly.
Admittedly with the help of AI (!!)
fair disclaimer: AI is not infallible, but in my case this solution has been working perfectly ever since.

I wrote the following down back then ( and hey!! I even found my notes again today :slightly_smiling_face: )


Enabling Persistent Wake-on-LAN on Debian/Ubuntu (systemd method)

Introduction

Under Linux, the network interface card (NIC) is typically configured during shutdown in a way that disables Wake-on-LAN (WOL).
This means that after a full shutdown or power loss, WOL may no longer be active unless it is manually re-enabled on the next boot.
If you want to reliably use Wake-on-LAN , for example, to power on a machine via magic packet after a power outage, you need to enable WOL persistently.
This guide explains how to achieve this on Debian- or Ubuntu-based systems using a systemd service.


  1. Identify Your Network Interface
    Run the following command in a terminal:

ip link

Example output:
1: lo: …
2: enp1s0: …

Note the name of your active network interface, for example enp1s0
Depending on your system, it might also be called eth0, enp3s0, etc.


  1. Install ethtool (if not already installed)
    If ethtool is not installed, run:

sudo apt update
sudo apt install ethtool


  1. Create a systemd Service to Enable WOL at Boot
    Step 1: Create a new service file:

sudo nano /etc/systemd/system/wol.service

Step 2: Insert the following content into the file:

[Unit]
Description=Enable Wake-on-LAN
After=network.target

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp1s0 wol g

[Install]
WantedBy=multi-user.target

Important: Replace enp1s0 with the actual network interface name you identified in step 1.

Step 3: Save and exit the editor.
Save with Ctrl + O, press Enter, then exit with Ctrl + X.


  1. Enable the Service

To make the service run automatically at boot, execute:

sudo systemctl daemon-reexec
sudo systemctl enable wol.service


  1. (Optional) Run Immediately and Verify

To start the service right away:

sudo systemctl start wol.service

To verify that Wake-on-LAN is enabled:

sudo ethtool enp1s0 | grep Wake-on

The expected output should be:

Wake-on: g


Result

Wake-on-LAN is permanently enabled
The setting persists even after a power loss
The operating system no longer disables WOL during shutdown
There is no need to manually re-enable WOL after each boot

Hope this helps someone who runs into the same issue.

Thanks. That is not something I found before.

I did already see that my interface already had wake on set to g.

After trying that though it did not seem to change the behavior.

tardis% sudo ethtool eno1 | grep Wake-on
[sudo] password for sbill: 
        Supports Wake-on: pumbg
        Wake-on: g

hmm…
sorry, i am out of ideas… :confused:
for me it worked…