rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

Wake On Lan 設定

2025 Sep. 15.
2025 Feb. 20.
2022 Feb. 08.
2021 May 15.
2021 Apr. 30.
2020 Mar. 25.
2020 Sep. 24.
2019 Oct. 26.
2019 Apr. 21.
2019 Feb. 16.
2018 Aug. 14.
2018 Jun. 03.

概要

仕組み

起動されるPCのLANポートのMACアドレスを乗せたマジックパケットをLAN内にブロードキャストすると、適合したMACアドレスのPCが起動する。
マジックパケットUDPで送信される。
ポート番号はなんでもよい。 
起動されるPCのIPアドレスは不要。
 
無線LANポートには設定できない。

 

起動されるPC

ACPI2.0に対応したPCであること。
電源オフ直前にBIOSネットワークアダプタWOL対応設定しておく。
 

WOLマジックパケットを発信するデバイスでの操作

LAN内でのWOLの場合

起動されるPCのLANポートのMACアドレスを指定し、マジックパケットUDPでLAN内にブロードキャストする。UDPポート番号は任意の他と重ならない番号。

LAN外からのWOLの場合

起動されるPCのLANポートのMACアドレスを指定し、LANのドメイン名もしくはグローバルIPアドレスマジックパケットUDPで送信する。UDPポート番号は任意の他と重ならない番号。
 

WOL起動されるLinux PCの設定

 

BIOS / UEFI設定

・電源設定・ACPI設定・APM設定などにある「PCI Devicesからの電源オン」「PCI Express Devicesからの電源オン」を有効にする
 
Epson Endeavor MR-7300では、wake on lanを設定したことにより、シャットダウンすべきPCが再起動するようになったが、下記ページにしたがって、BIOSUSB3.0を無効化することで正しく動作するようになった。 
 

パッケージインストール

Ubuntu :  $ sudo apt update && sudo apt install ethtool
 
Manjaro Linux、Arch Linux : # pacman -Syu ethtool
 
 
TLP(Optimize Linux Laptop Battery Life)設定
(Arch系Manjaro Linux
/etc/tlp.confを編集
WOL_DISABLE=N
 
Ubuntu
設定不要のはずだが、次の文書もある。
ubuntu 20.04では不要であった。
 

  LANポート設定

LANポート確認
$ ip a
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 44:11:7b:35:df:91 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::6600:6aff:fe66:ac69/64 scope link 
       valid_lft forever preferred_lft forever

上記例では、

eno1 及び enp0s25 がポート名。

44:11:7b:35:df:91 がMACアドレス

192.168.1.255 がブロードキャストアドレス。

192.168.1.10 がネットワークポートのIPアドレス

 

Linux PCをwake on lan(WOL) で起動する時は、
当該Linux PCシャットダウン前に下記コマンドでLANポートをWOL対応設定しておく。
なお、この設定は再起動すると失われる。
$ sudo ethtool -s LANPORT wol g
(例)$ sudo ethtool -s enp1s0 wol g
 
LANポート状態確認
$ sudo ethtool enp1s0 | grep Wake-on
  Supports Wake-on: pumbg
  Wake-on: g
 
  "Wake-on: g"ならwolが可能
 
 

PC起動時にLANポートをWake On Lan対応可能に設定する

 (手法1)udev設定によるLANポート設定の自動化

ubuntu 20.04ではこの設定に成功しなかった。

出典 Wake-on-LAN - ArchWiki

ethtoolのパスを確認の上、/etc/udev/rules.d/99-wol.rules を次の内容で作成する
ACTION=="add", SUBSYSTEM=="net", NAME=="enp*", RUN+="/usr/bin/ethtool -s $name wol g"

(手法2)systemdによるLANポート設定の自動化

ユニット定義

/etc/systemd/system/wol-shutdown.service を次の内容で作成する。

[Unit]
Description=Enable Wake On LAN before poweroff
DefaultDependencies=no
Before=poweroff.target halt.target reboot.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s eno1 wol g
ExecStart=/usr/sbin/ethtool -s enp0s25 wol g

[Install]
WantedBy=poweroff.target halt.target reboot.target

 

systemd設定

$ sudo systemctl daemon-reload
$ sudo systemctl enable wol-shutdown.service

 

ルーター設定(LAN外から起動する場合)

woludpポートをlanのブロードキャストアドレス(192.168.xxx.255)に転送するようにルーターを設定する。
NEC Aterm D739F1はその設定が可能。
Baffalo WHR-AMPGはその設定ができない。

WOL Magic Packetを発信するデバイスの設定

LAN内でのWOL起動の場合

パケット送信先IPアドレス: LANのブロードキャストアドレス
  例 192.168.1.255
Send as Broadcast:オン

LAN外でのWOL起動の場合

 IPアドレス:LANのグローバルアドレスまたはドメイン
  例 www.mydomain.com
 Send as Broadcast:オフ