This is what I did. I disabled NetworkManager and enabled systemd-networkd:
3# systemctl status systemd-networkd
● systemd-networkd.service - Network Service
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-10-25 14:53:07 CET; 2min 26s ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 391 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 77076)
Memory: 2.4M
CGroup: /system.slice/systemd-networkd.service
└─391 /usr/lib/systemd/systemd-networkd
Okt 25 14:53:07 rakete systemd[1]: Starting Network Service...
Okt 25 14:53:07 rakete systemd-networkd[391]: Enumeration completed
Okt 25 14:53:07 rakete systemd[1]: Started Network Service.
Okt 25 14:53:10 rakete systemd-networkd[391]: eth0: Interface name change detected, eth0 has been renamed to enp39s0.
Okt 25 14:53:10 rakete systemd-networkd[391]: enp39s0: IPv6 successfully enabled
Okt 25 14:53:10 rakete systemd-networkd[391]: enp39s0: Link UP
Okt 25 14:53:13 rakete systemd-networkd[391]: enp39s0: Gained carrier
Okt 25 14:53:13 rakete systemd-networkd[391]: enp39s0: DHCPv4 address 192.168.132.74/24 via 192.168.132.1
Okt 25 14:53:15 rakete systemd-networkd[391]: enp39s0: Gained IPv6LL
I tried that and because it was not working I moved to systemd-networkd.
It does not depend on the kernel. I even built the Manjaro kernel and tried that one. It does not work either.
I installed wol-systemd. This installs the service for wake on lan which excuted ethtool dutring boot:
# /usr/lib/systemd/system/wol@.service
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/usr/bin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
That runs fine:
5# systemctl status wol@enp39s0.service
● wol@enp39s0.service - Wake-on-LAN for enp39s0
Loaded: loaded (/usr/lib/systemd/system/wol@.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sun 2020-10-25 14:53:17 CET; 5min ago
Process: 3931 ExecStart=/usr/bin/ethtool -s enp39s0 wol g (code=exited, status=0/SUCCESS)
Main PID: 3931 (code=exited, status=0/SUCCESS)
Okt 25 14:53:17 rakete systemd[1]: Starting Wake-on-LAN for enp39s0...
Okt 25 14:53:17 rakete systemd[1]: wol@enp39s0.service: Succeeded.
Okt 25 14:53:17 rakete systemd[1]: Finished Wake-on-LAN for enp39s0.
But nevertheless, directly after boot, WOL is disabled:
2# ethtool enp39s0 | grep Wake
Supports Wake-on: pumbg
Wake-on: d
it looks like the value is overwritten again after wol@enp39s0.service has run.