起動される側のPCでの作業

1. BIOSでWakeOnLanを有効化する

2. ifconfigでネットワークアダプタの名前を確認する

eth0とかenp0s0のような名前になっているところを探し、この名前とetherに続くMACアドレスを覚えておく。

1
2
3
4
5
6
7
8
9
ifconfig
# enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
# inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
# inet6 aaaa::aaa:aaaa:aaaa:aaaa prefixlen 64 scopeid 0x20<link>
# ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
# RX packets 0 bytes 0 (0 MB)
# RX errors 0 dropped 0 overruns 0 frame 0
# TX packets 0 bytes 0 (0 MB)
# TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

3. OS側で有効化する

ethtoolで有効化状態を確認

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sudo ethtool enp2s0
# Settings for enp2s0:
# Supported ports: [ TP ]
# Supported link modes: 10baseT/Half 10baseT/Full
# 100baseT/Half 100baseT/Full
# 1000baseT/Full
# Supported pause frame use: No
# Supports auto-negotiation: Yes
# Supported FEC modes: Not reported
# Advertised link modes: 10baseT/Half 10baseT/Full
# 100baseT/Half 100baseT/Full
# 1000baseT/Full
# Advertised pause frame use: No
# Advertised auto-negotiation: Yes
# Advertised FEC modes: Not reported
# Speed: 1000Mb/s
# Duplex: Full
# Port: Twisted Pair
# PHYAD: 1
# Transceiver: internal
# Auto-negotiation: on
# MDI-X: on (auto)
# Supports Wake-on: pumbg
# Wake-on: d <---------(!!!!!!!!!!!ここ!!!!!!!!)
# Current message level: 0x00000007 (7)
# drv probe link
# Link detected: yes

Wake-on: dだと無効なので、以下のコマンドで有効化する。

1
ethtool -s enp2s0 wol g

4.自動的に有効化させる

上記の設定はOS再起動時に無効化されてしまうので、systemdのserviceを登録する。

/etc/systemd/system/にファイルを作成する。

/etc/systemd/system/wolg.service

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=Enable Wake On Lan
After=network.target

[Service]
Type=simple
ExecStart=/sbin/ethtool -s enp2s0 wol g

[Install]
WantedBy=multi-user.target

serviceを有効化し起動しておく

1
2
sudo systemctl enable wolg
sudo systemctl start wolg

起動させる側のPCでの作業

1
2
3
sudo apt install powerwake

powerwake 00:00:00:00:00:00 # <- 起動されるPCのMACアドレス