2023年12月17日日曜日

Ubuntu 滅茶苦茶珍道中 其の捌 WoL

捌 はい、八ですね。
滅茶苦茶珍道中、 久しぶりです。
Ubuntu 20.04 から 22.04 に上げたもので、
WoL にトライします。


滅茶苦茶珍道中 も回数を重ね 八回目 。
今回は WoL ( Wake On LAN ) を試します。

其の経緯は 新 PC 2023 冬 脱線 で書いた、
別の場所に 隔離 した PC を遠隔で電源操作したい が発端です。

同室内にあるので、
此の 寄せ集め おんぼろ パーツ の Ubuntu マシンは、
WoL にし無くても、不自由は無いのですが、
別途、Windows マシン用に書き始めた、
WoL 用の 自作プログラム の検証用の環境を作りたかったのです。

手っ取り早く 此の仔 に白羽の矢が当たった、と。


因みに、OS は Ubuntu 20.04 から 22.04 に上がったものです。
マザーボードは GIGABYTE の Z77X-D3H です。
嘗て、Windows OS が載っていた頃には、
Windows Home Server 2011 の Client として、
WoL 用の Add-In を運用していた事もありました。

無論、OS を載せ替えてありますから、
其のまま、Magic Packet を送っても、
電源起動 する訳はありません。

最初、
書いているプログラムが悪いのか?、
機器の設定が悪いのか?、
さえ、判断が付か無い状況でした。  馬鹿!。

なので、本来、最初に確認すべき、BIOS/UEFI の設定を無視して、
Windows から RDP リモート で Ubuntu を立ち上げ、
Terminal から 覗いて見る事にしたのです。

脇では、
書き掛けの Windows 開発環境 Visual Studio 2017 が開いたまま、です。
何時でも Debug で Code を試せる様に ですね。

では、 Terminal の Output を。
ミスった部分も 其のまま 引用しますね(以下同)。

user_a@ubuntu:~$ sudo ethtool -h
[sudo] user_a のパスワード:
sudo: ethtool: コマンドが見つかりません
user_a@ubuntu:~$ sudo apt install ethtool
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが新たにインストールされます:
  ethtool
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
208 kB のアーカイブを取得する必要があります。
この操作後に追加で 645 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu jammy/main amd64 ethtool amd64 1:5.16-1 [208 kB]
208 kB を 2秒 で取得しました (96.4 kB/s)                                
以前に未選択のパッケージ ethtool を選択しています。
(データベースを読み込んでいます ... 現在 231291 個のファイルとディレクトリがインストールされています。)
.../ethtool_1%3a5.16-1_amd64.deb を展開する準備をしています ...
ethtool (1:5.16-1) を展開しています...
ethtool (1:5.16-1) を設定しています ...
man-db (2.10.2-1) のトリガを処理しています ...
user_a@ubuntu:~$
user_a@ubuntu:~$
user_a@ubuntu:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enq0a0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 99:8a:7b:6c:5d:4e brd ff:ff:ff:ff:ff:ff
user_a@ubuntu:~$
user_a@ubuntu:~$
user_a@ubuntu:~$ sudo ethtool enq0a0 | grep -i wake-on
Supports Wake-on: pg
Wake-on: d
user_a@ubuntu:~$

Wake-on: d ですから、
やはり、WoL は 無効化 された状態でしたので、
取り敢えず、有効化 して見ましょう。
同じく、Terminal から。

user_a@ubuntu:~$
user_a@ubuntu:~$ nmcli con show
NAME            UUID                                  TYPE      DEVICE
プロファイル 1  e000cf0d-0ee0-0abc-000a-c000c0cccc11  ethernet  enq0a0
user_a@ubuntu:~$
user_a@ubuntu:~$
user_a@ubuntu:~$ nmcli c show プロファイル 1 | grep -i wake-on-lan
エラー: プロファイル - そのような接続プロファイルはありません。
user_a@ubuntu:~$ nmcli c show プロファイル | grep -i wake-on-lan
エラー: プロファイル - そのような接続プロファイルはありません。
user_a@ubuntu:~$ nmcli c show 'プロファイル 1' | grep -i wake-on-lan
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
user_a@ubuntu:~$
user_a@ubuntu:~$
user_a@ubuntu:~$ nmcli c modify 'プロファイル 1' 802-3-ethernet.wake-on-lan magic
エラー: 接続 'プロファイル 1' の変更に失敗しました: Insufficient privileges
user_a@ubuntu:~$ sudo nmcli c modify 'プロファイル 1' 802-3-ethernet.wake-on-lan magic
user_a@ubuntu:~$ nmcli c up 'プロファイル 1'
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)
user_a@ubuntu:~$
user_a@ubuntu:~$
user_a@ubuntu:~$ nmcli c show 'プロファイル 1' | grep -i wake-on-lan
802-3-ethernet.wake-on-lan:             magic
802-3-ethernet.wake-on-lan-password:    --
user_a@ubuntu:~$ sudo ethtool enq0a0 | grep -i wake-on
Supports Wake-on: pg
Wake-on: g
user_a@ubuntu:~$

Wake-on: g になったので、
有効化 出来た様です。


では、リモート で 電源断 して、WoL を!。
Magic Packet を送信しましょう。

おおッ、動くじゃないの!。
プログラムは 問題無かった 様です。


因みに、
送出したデータは、
Port 99 (任意?)、
IP    192.168.n.255 (ブロードキャストアドレス)、
に基いています。
IP 固定 なら 其のアドレス でも良いのでしょうが、
DNS が自動で割り振る場合は可変ですから、
ブロードキャストアドレス で送って、
MAC アドレス が一致するものが応答する、と。


また、
Ubuntu PC の電源ユニット自体のスイッチを切り 再投入すると、
NIC は応答せずに、WoL の機能不全になっています。
通電状態で、 OS から ShutDown すれば、
NIC は待機し続け、WoL に反応します。

PC の RJ45 ポートに設けられた LED の点滅で確認出来ますね。

BIOS/UEFI の設定を覗いた訳では無いので、想像ですが、
マシンレベルでは WoL 非対応で OS のみが対応 となっている気がします。

節電効果を狙うなら、此のままで 良い のかも。
NIC が待機しているって 少し乍ら 電気を喰っている訳なので。

後は、使い勝手と相談して、ハード的に何方を取るか考えれば良いのでしょうね。


さてさて、プログラムの件は 改めて ... 。



0 件のコメント:

コメントを投稿