Wake on Lan not working as intended

Hey, maybe you can help me with using wake on lan with framework desktop. I’m running nginx proxy manager on there and connected lm-studio deamon and my router with it, so I can reach my LLM from anywhere. This part works. But I also want to be able to turn the machine on when it is needed, to not have it always on.

But I only get it to work in a state where the computer randomly wakes as soon as it is noticing any network traffic over ethernet. So the machine is not only being waked by magic packets, but by anything. At least this is how I understand it from my non expert point of view. I worked on it with gpt-oss-120b for a while, but couldn’t come to a conclusion. Gpt says the problem probably is a combination of me running nginx proxy manager on the system I want to wake over lan and the missing BIOS option for wake-over-lan with magic packets only.

But I think that is not the whole story and maybe this is the point where some human logic is needed; so I can understand if the problem is fixable on my side or if the BIOS actually needs a more specific wol option. Maybe some of you can help me with this?

Fedora 43

Linux 7.0.10-101.fc43.x86_64 x86_64

BIOS 3.05

Framework Desktop 395 Max+ 128gb

Written by GPT:

What we did – step‑by‑step overview

BIOS/UEFI

• Enabled “Wake‑on‑LAN” (generic toggle). → Enabling let the NIC see any PME event → random wakes.
• Later disabled it completely. → Disabling stopped all wakes but also blocked magic‑packet wake.

NIC driver (Linux)

• Verified WoL support with ethtool.
• Set mode to g only.
• Made the setting persistent via a systemd service (acpi-wakeup-disable.service).

-> NIC now listens only for magic packets, but still woke up because other traffic triggered the generic BIOS PME flag.

ACPI wake sources

• Listed /proc/acpi/wakeup (many devices enabled). -
• Disabled all non‑NIC entries with a one‑shot systemd service (for dev in GPP0 … NHI1; do echo $dev > /proc/acpi/wakeup; done).

-> No extra PCIe/USB device could wake the box.

Router (Fritz!Box) / DynDNS

• Port forward for HTTPS (nginx reverse proxy)
• Router’s built‑in “reachability check” periodically sent ARP/TCP probes to the forwarded port.
• No UI option to disable that check.

→ Those probes reached the NIC and, because BIOS WoL was generic, caused spontaneous wakes even without a magic packet.

Network capture

• Captured traffic with tcpdump / tshark while PC was off.
• Looked for packets beginning with ff ff … + MAC.

-> Confirmed that router‑generated broadcast/ARP/TCP frames were being seen by the NIC.

Bottom line

The BIOS WoL flag was the root cause of random wakes because it responded to any network activity (router health checks).
We limited the NIC driver to magic‑packet only (g), and cleared all other ACPI wake sources, but the router’s periodic probes still triggered the BIOS PME line.