DebianでWale-on-LANを制御する


■WOLのスクリプト

install.sh
#!/bin/bash

# アプリケーションをインストール
apt-get update \
  && apt-get -y upgrade \
  && apt-get install -y \
      wakeonlan
config.sh
#!/bin/bash

# 第一引数は『識別子』
ID=${1}

# WOLリスト(test_01やtest_02が識別子になります)
WOL_LIST=(
  "test_01 XX:XX:XX:XX:XX:XX テストユーザ1"
  "test_02 XX:XX:XX:XX:XX:XX テストユーザ2"
)

# WOLリストのIDにマッチしたMACアドレスが MACADDRESS に設定されます
MACADDRESS=
for ((i=0; ${#WOL_LIST[*]}>$i; i++))
do
  work=(${WOL_LIST[$i]})
  if [ ${ID} = ${work[0]} ]; then
    MACADDRESS=${work[1]}
  fi
done
wol.sh
#!/bin/bash
#
# 設定を表示
#   wol.sh list
#
# PCを起動
#   wol.sh start [識別子]
#
DIR_CUR=$(dirname "${BASH_SOURCE:-$0}")"/"
source ${DIR_CUR}config.sh

ARG_TYPE=$1
ARG_ID=$2

if [ ${ARG_TYPE} = 'start' ]; then
  if [ -z "${MACADDRESS}" ]; then
    echo '設定がありません'
    exit 1
  fi

  # WOLの実行
  wakeonlan ${MACADDRESS}
elif [ ${ARG_TYPE} = "list" ]; then
  for ((i=0; ${#WOL_LIST[*]}>$i; i++))
  do
    echo ${WOL_LIST[$i]}
  done
else
  echo "[failed] 引数が正しくありません"
  exit 1
fi

■立ち上げるPC側の設定

  • BIOS設定(マザーボードによって異なります)
    • APM の ErP Ready 設定をdisableに変更
    • APM の PCIE 設定をenableに変更
    • Fast Boot 設定をdisableに変更
  • Windowsの設定
    • 電源とスリープ → 電源ボタンの動作を選択するを選択 から「高速スタートアップを有効にする」に無効に変更
  • ネットワークアダプタの設定
    • WOL関連を有効に変更する

■ネットワークアダプタ - Realtek PCie GbE Familly Controller の場合

ドライバーのバージョンを確認し、『9.1.401.2015』の場合はバージョンアップを行う ※9.1.401.2015は不具合があり、WOLの設定を有効かできません ※公式サイトからドライバーのダウンロードが必要になります

  • プロパティの詳細設定タブ
    • Wake on magic packet when systemを有効
    • WOLとシャットダウンリンク速度を最低に変更
    • ウェイク・オン・パターン・マッチを有効
    • ウェイク・オン・マジック・パケットを有効
  • プロパティの電源の管理タブ
    • 「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする」にチェック