From 16c2395a58db566337224837df8dbe75d062baf6 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Fri, 3 Jul 2026 00:25:39 +0200 Subject: Add ethtool and configure interface for pve --- roles/ethtool/README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 roles/ethtool/README.md (limited to 'roles/ethtool') diff --git a/roles/ethtool/README.md b/roles/ethtool/README.md new file mode 100644 index 00000000..c1902568 --- /dev/null +++ b/roles/ethtool/README.md @@ -0,0 +1,59 @@ +# ethtool Role + +Installs ethtool and configures Wake-on-LAN (WoL) via a systemd service. + +## Variables + +```yaml +ethtool_wol_interface: "eth0" # Network interface to enable WoL on +``` + +## Usage + +```yaml +- role: "ethtool" + vars: + ethtool_wol_interface: "enp0s25" +``` + +## Enabling Wake-on-LAN + +Three steps required: + +### 1. BIOS Configuration (manual) + +**ThinkPad:** +1. Reboot → press `Enter` then `F1` at Lenovo splash +2. **Config** → **Network** → **Wake On LAN** → `AC Only` or `AC and Battery` +3. `F10` to save + +**Other systems:** look in BIOS under **Power** → **APM** or **Advanced Power Management** → **Wake on LAN**. +Also disable **ErP/EuP Ready** to keep NIC powered during sleep. + +### 2. Ansible (this role) + +Enables WoL on the NIC via ethtool on every boot. Add to your play with the correct interface: + +```yaml +ethtool_wol_interface: "enp0s25" +``` + +### 3. Suspend the host + +WoL is most reliable from suspend (S3). Shutdown (S5) requires BIOS "WoL from S5" support. + +```bash +systemctl suspend +``` + +## Sending the Magic Packet + +From another host or FritzBox UI (**Home Network → Network → device → Wake on LAN**). + +## Verify WoL is enabled + +```bash +ethtool enp0s25 | grep Wake +# Wake-on: g ← means WoL is active +# Wake-on: d ← means WoL is disabled +``` -- cgit v1.2.3