Skip to main content

Raspberry Pi WOL via cable

 Headless Raspberry Pi set up: https://www.youtube.com/watch?v=9fEnvDgxwbI

curl -fsSL https://pkgs.tailscale.com/stable/debian/trixie.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null

echo 'deb [signed-by=/usr/share/keyrings/tailscale-archive-keyring.gpg] https://pkgs.tailscale.com/stable/debian trixie main' | sudo tee /etc/apt/sources.list.d/tailscale.list

sudo tailscale up --ssh 

sudo pacman -S wakeonlan 

By default, the ethtool setting for Wake-on-LAN does not persist across reboots on most Linux systems. To make Wake-on: g permanent for your network interface (enp69s0), you have several reliable options:

1.

Create a custom systemd service that sets WOL after the network interface is up:

  1. Create the service file /etc/systemd/system/wol@.service with the following content:

    text
    [Unit] Description=Enable Wake-on-LAN for %i Requires=network.target After=network.target [Service] Type=oneshot ExecStart=/usr/bin/ethtool -s %i wol g [Install] WantedBy=multi-user.target
  2. Enable the service for your interface:

    text
    sudo systemctl enable wol@enp69s0.service

    This ensures the command runs at every boot, after the network is initialized123.

2.

Alternatively, you can use a udev rule to apply the setting whenever the interface appears:

  1. Create the file /etc/udev/rules.d/81-wol.rules with:

    text
    ACTION=="add", SUBSYSTEM=="net", NAME=="enp69s0", RUN+="/usr/bin/ethtool -s enp69s0 wol g"

    This ensures the setting is applied every time the device is added (e.g., at boot or after suspend)45.

3.

If you manage your network with NetworkManager, you can set WOL via:

text
nmcli connection modify <connection-name> 802-3-ethernet.wake-on-lan magic

Replace <connection-name> with the actual connection name for enp69s0. This will set the WOL option at the NetworkManager level4.

When connecting two Linux devices directly via Ethernet (without a switch/router), common issues include:

  • : By default, neither side provides DHCP, so both devices may not get an IP address, resulting in connection errors.

  • NetworkManager Misconfiguration: If the connection profile is not set to "shared" or "link-local", automatic IP assignment may fail.

  • : Windows uses APIPA to assign addresses automatically, but Linux requires explicit configuration.

Option 1: Use NetworkManager's "Shared" Method

  • On your Arch system, run:

    text
    nmcli con add type ethernet ifname enp69s0 con-name direct-pi ipv4.method shared nmcli con up direct-pi

    This will assign a local IP and enable basic network sharing67.

: Manual Static IPs

  • Assign static IPs on both devices. For example:

    • On Arch: sudo ip addr add 10.0.0.1/24 dev enp69s0

    • On Raspberry Pi: sudo ip addr add 10.0.0.2/24 dev eth0

  • Now you should be able to ping each device from the other8.

  • Ensure the Ethernet cable is good and supports direct connections (modern devices usually auto-negotiate, but older ones may need a crossover cable).

  • Disable or configure firewalls if needed for testing.

  • If using Avahi/mDNS for .local hostnames, ensure nss-mdns is installed and configured on both systems6.

TaskRecommended Solution
Persist WOL settingsystemd service (wol@enp69s0.service) or udev rule
Fix direct LAN "connection errors"Use NetworkManager's "shared" method or assign static IPs on both devices

By following these steps, you can make Wake-on-LAN persistent and resolve direct LAN connection errors between your Arch Linux system and Raspberry Pi.

  1. https://bbs.archlinux.org/viewtopic.php?id=202132
  2. https://necromuralist.github.io/posts/using-systemd-to-enable-wake-on-lan/
  3. https://gist.github.com/paddy74/9cd4160a1ff4eedb0366d0e6e5c02c50
  4. https://blog.galt.me/getting-wol-on-manjaro-20-working/
  5. https://linuxconfig.org/introduction-to-wake-on-lan
  6. https://bbs.archlinux.org/viewtopic.php?id=284239
  7. https://www.reddit.com/r/archlinux/comments/lkmvds/arch_not_connecting_with_raspberry_pi/
  8. https://raspberrypi.stackexchange.com/questions/121315/problem-in-connecting-my-arch-linux-to-my-raspberry-pi-raspbian
  9. https://wiki.archlinux.org/title/Wake-on-LAN
  10. https://bbs.archlinux.org/viewtopic.php?id=267311
  11. https://forum.endeavouros.com/t/cannot-persistently-enable-wake-on-lan/38301
  12. https://man.archlinux.org/man/extra/ethtool/ethtool.8.en
  13. https://forums.opensuse.org/t/how-to-enable-wake-on-lan-why-ethtool-opts-dont-work/132474
  14. https://forum.endeavouros.com/t/wake-on-lan-not-working/9206
  15. https://www.youtube.com/watch?v=ry2QxA9VOsE
  16. https://forum.proxmox.com/threads/wake-on-lan-on-pve.124785/
  17. https://bugzilla.kernel.org/show_bug.cgi?id=217069
  18. https://www.asus.com/us/support/faq/1045950/
  19. https://forum.manjaro.org/t/setting-up-wake-on-lan/144600
  20. https://bbs.archlinux.org/viewtopic.php?id=284950
  21. https://www.reddit.com/r/aorus/comments/rgt7r6/using_wakeonlan_with_aorus_trx40_i211_gigabit/
  22. https://www.youtube.com/watch?v=uUwaxrVIBiI
  23. https://www.reddit.com/r/archlinux/comments/10l4af0/i_need_help_with_wake_on_lan/
  24. https://www.youtube.com/watch?v=qX8KBFL0jjI
  25. https://www.reddit.com/r/Proxmox/comments/13blw5x/wake_on_lan_not_working/
  26. https://wiki.archlinux.org/title/Network_configuration/Ethernet
  27. https://www.gigabyte.com/at/Support/Consumer/Faq/376
  28. https://forum.manjaro.org/t/wake-on-lan-not-working/37696
  29. https://forum.manjaro.org/t/troubles-with-setting-up-wol/24815
  30. https://www.antixforum.com/forums/topic/wol-wake-on-lan/
  31. https://aur.archlinux.org/packages/wol-systemd?O=10
  32. https://serverfault.com/questions/1142769/trying-to-set-wake-on-lan-persistently-on-linux-fails
  33. https://www.reddit.com/r/openSUSE/comments/1eknqe2/how_to_enable_wol/
  34. https://github.com/gamer-os/gamer-os/issues/102
  35. https://wiki.archlinux.org/title/Udev
  36. https://askubuntu.com/questions/1142470/trouble-with-wake-on-lan-ubuntu-16-04
  37. https://forums.raspberrypi.com/viewtopic.php?t=304206
  38. https://forums.raspberrypi.com/viewtopic.php?t=187065
  39. https://forums.raspberrypi.com/viewtopic.php?t=196282
  40. https://forums.raspberrypi.com/viewtopic.php?t=47852
  41. https://wiki.archlinux.org/title/Network_configuration/Wireless
  42. https://stackoverflow.com/questions/26886952/direct-ethernet-connection-to-raspberry-pi-running-arch-linux

Comments

Popular posts from this blog

Install Windows 11 on Virt-Manager

 Virt-Manager will have been installed in base install.  But to enable it (make sure SVM, or whatever virtualization is called in your BIOS is enabled). From https://computingforgeeks.com/install-kvm-qemu-virt-manager-arch-manjar/ sudo pacman -S qemu-full virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat dmidecode ip tables libguestfs edk2-ovmf swtpm Then enable and start libritd.service sudo systemctl enable libvirtd.service sudo systemctl start libvirtd.service sudo micro /etc/libvirt/libvirtd.conf Set the UNIX domain socket group ownership to libvirt, (around line 85 ) unix_sock_group = "libvirt" Set the UNIX socket permissions for the R/W socket (around line 102 ) unix_sock_rw_perms = "0770" Add your user account to libvirt group.   sudo usermod -a -G libvirt $(whoami) newgrp libvirt Restart libvirt daemon. sudo systemctl restart libvirtd.service Section below is quoted directly from https://linustechtips.com/topic/1379063-windows-11-in-virt-mana...

Base Install

This blog is for my notes on setting up Arch from scratch to my liking. I use KDE Plasma as my desktop and my computers have a NVIDIA GPU (my Asus laptop also has an additional integrated GPU). I am not going to cover downloading the ISO, putting it on a USB, booting from the USB or running the Archinstall installer (selecting the Plasma desktop). Get WIFI running iwctl station wlan0 connect xxxxxxx May need:  sudo mkfs -t ext4 /dev/nvme1n1 if you have btrfs on old installation When running the arch installer: 1. Don't have a /home partition added!  2. Don't forget desktop! 3. Install both linux and linux-zen kernels 4. Add additional packages:  wget git micro duf base-devel kde-applications to log in the first time it may be helpful to create /usr/lib/modprobe.d/nvidia.conf with "options nvidia_drm modeset=1 fbdev=1"   (although cachyos-settings will overwrite later) Apparmor  Add the following kernel parameters to your Boot Manager, see  Boot Manage...

Fedora Install Notes

  Many of the steps in setting up Fedora are the same as I do for Arch.  My preferred install is Fedora Rawhide.  You are better off with the default "Gnome" desktop than trying the KDE spin (seems to be the best integrated experience with few/no hardware/GPU issues). Helpful notes to me: Initial "get started" installs: sudo dnf in R bat btrfs-assistant cmake duf fastfetch fish fontawesome-fonts-all freetype-devel fribidi-devel gnome-extensions-app gnome-tweaks htop inxi java-latest-openjdk-devel jetbrains-mono-fonts kitty kmymoney lftp libcurl-devel libjpeg-turbo-devel libpng-devel libtiff-devel llvm-devel meson micro onedrive python3-colorama python3-ipykernel python3-pip python3-pyquery sqlitebrowser tcl8-devel tk8-devel typescript xsane zsh Snapper: do rollback: Use sudo snapper ls to list all available snapshots and their corresponding numbers. Note the number of the snapshot you want to revert to. Open a terminal and use the following command: sudo snapper ro...