At home, I use my old computer as a Proxmox server. To start my server from another computer in the same LAN or from a different LAN, I use Wake-on-LAN. Unfortunately, the alx driver is disabled by default since it breaks for some kernels. The bugtrack can be found here

  1. Download the patch
wget -O patch.tar.gz https://bugzilla.kernel.org/attachment.cgi?id=284877
  1. Extract the archive
mkdir ./patch
tar xvzf patch.tar.gz -C ./patch
  1. Add the PVE No-Subscription repo to the apt sources and install the current kernel headers
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" >> /etc/apt/sources.list
apt-get update
# the headers are specific to your kernel version!!
apt-get install git sudo ethtool pve-headers-5.3.10-1-pve

NOTE: If you get an error about “Failed to fetch” because of security issues, comment the line in /etc/apt/sources.list.d/pve-enterprise.list and retry.

  1. Execute the setup script
./patch/qlx-dkms-installer/setup
  1. Create a script to fix interfaces and reload the alx kernel module
#!/usr/bin/env bash

modprobe -r alx && modprobe alx

ip link set enp6s0 down
systemctl restart networking.service
ip link set enp6s0 up
  1. Copy script to /usr/bin and make it executable
sudo cp test_service.sh /usr/bin/test_service.sh
sudo chmod +x /usr/bin/test_service.sh
  1. Create systemd service file to run the script at startup
[Unit]
Description=fix the interface for WOL

[Service]
Type=simple
ExecStart=/bin/bash /usr/bin/fix-int.sh

[Install]
WantedBy=multi-user.target
sudo cp /lib/systemd/system/fix-int.service /etc/systemd/system/fix-int.service
sudo chmod 644 /etc/systemd/system/fix-int.service
systemctl start fix-int.service
systemctl enable fix-int.service
  1. Enable WOL on the connected interface
ethtool -s enp6s0 wol g
  1. From another device, wake the server (ref. Arch Wiki)
sudo pacman -S wol
wol <target_mac_address>

References: