はじめに
自宅のパソコンのwifi接続がどうも不安定で、たまに接続が切れる。そういうときは、USBのwifi子機を抜き差しすると復旧するのだけれども、今日は外出中にいきなり接続できなくなった(T_T)
そんな非常事態に備えて、外出中にパソコンを再起動して復旧を試みるために、Wake on Lan の設定をしたので、今日はそのメモです。
環境
- Ubuntu 16.04
設定メモ
BIOS設定
BIOSの設定が必要。ここは省略。。なのだが、ここがわからずいろいろな設定を試した挙句、最後にBIOS初期化して、4時間かかった。
OS設定
wol設定の確認/変更に必要なethtoolを入れる。
$ sudo apt install ethtool
NICの名前を確認して、ethtoolを叩く。Wake-on: d で Wake on Lanが無効状態。 Wake-on: gで有効状態。
$ ifconfig
$ sudo ethtool enx343dc4787303
Settings for enx343dc4787303:
No data available
おりょ??なにも表示されない。おばかな頭で考えること数十分、どうやら無線LANでは Wake on Lan ができないという根本的なことに気づいたのたった!!
NICは通電している必要があるのだけれども、無線LANの子機はUSBでPCに刺さっているのだから、PCの電源が落ちれば電力供給されなくなって、動かなくなる。バカダー。
無線 Lan でも Wake on Lanしたい
無線Lan でも Wake on Lanしたい。調べると、イーサネットコンバーターというものがあり、これを購入し、有線をパソコンと コンバーターでむすぶと、あたかもその繋いだPCが物理LANでつながれているようにルータから見えるというもの。
以下をamazonでget.
NICの名前を確認して、ethtoolを叩く。今度こそ・・・
$ ifconfig
$ sudo ethtool enp0s31f6
Settings for enp0s31f6:
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
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Wake-on: g となっていました。これでOSレベルでの設定ができていることになります。
ifconfigを叩いて、MAC アドレスを調べておく。
クライアントPCに wakeonlanのツールをインストール
クライアントPCにwakeonlanのツールを入れる。
$ sudo apt install wakeonlan
そして、いよいよ、Wake on Lanを実行、電源が入りました!
$ wakeonlan <Mac Address>
外出先から Wake on Lanしたい
外出先から、wake on lanをすることで、PCを起動したい。我が家はソフトバンク光を契約していて、ルータもレンタルなのでルータに port forwardingの設定をすればいけると思っていた。。。
しかし、あらゆる手段を試したのだが、できない!!
ここまでか・・・と思ったが、いろいろ情報収集をすると、どうやらRaspberry pi から wake on lanを実行する事例がいくつかあった。うちには、raspberry pi はないのだけれども、ほこりにまみれたロボコンマシンがあったのだった。こんなの↓
このボロットにsshで乗り込んで、プライベートネットワークからwake on lan を実行すればいけるのでは?
以前の設定メモを元に、sshで乗り込んで実行してみたところ、成功!
やったー。