ルモーリン

LANで電源ON

投稿:2005-10-28

大して変わらないPCケースが6台積まれていると区別がつかなくて間違って別のPCをONにしてしまうことがあります。 電源OFFの際はtelnetでloginしてshutdown -h nowで済ましていますけれどONの際は電源ボタンを押さなくてはなりません。 色々と調べているうちにWOL(Wakeup On Lan)が解決に使えることがわかりウチのPCに仕込んでみました。
メインはAmithlonなのでAmigaで動作するWOLクライアントを見つけました。ソフトの名前は「hpwake」です。 CLIからhpwake 01:23:45:67:89:abという型式でMACアドレスを指定するとWOLのパケットを送信します。 ターゲットではethtool -s eth0 wol gを1回実行しておくとNICが電源OFF後から待機します。 1回だけ有効なので起動の度にethtoolを実行しておきます。
下記のスクリプトを用意しておくと簡単に起動時に実行できます。
-----------------------------
/etc/rc.d/init.d/wakeuponlan
-----------------------------
#!/bin/sh
#
# chkconfig: 3 98 2
#
# description: set wakeup on LAN.
#

# Source 'em up
. /etc/init.d/functions

start() {
        echo -n $"set wakeup on LAN: "
        ethtool -s eth1 wol g
        RETVAL=1
        echo
        return $RETVAL
}

case "$1" in
  start)
        start
        ;;

  status)
        ethtool eth1
        ;;

  *)
        echo $"Usage: $0 {start|status}"
        exit 1
esac

exit 0
chkconfig --add wakeuponlan
chkconfig --list
service wakeuponlan start
service wakeuponlan status
最後のコマンドで何行も出て来る中の末尾から2~3行目に
Wake-on: g
と表示されるとLinux側の準備は完了。 続いてBIOSを設定しますので再起動させます。
shutdown -r now
BIOSの設定画面でPMEとWakeup On LAN(なければWakeup On Ring)をEnableにしてLinuxを再起動後にshutdown -h nowで電源OFF。 電源を入れたい時はAmigaのCLIからhpwake 01:23:45:67:89:abといった形式で起動できるようになります。