WakeOnLANとは

AMDが提唱した規格で、Magic Packetという特赦なパケットをパソコンに送ることでネットワークにつながっているパソコンの電源を入れることができるものです。
パケットの内容は0xffを6回とMACアドレス6回となっています。パケットの送出はフリーソフトや玄箱が使えます。
使用するには、WakeOnLAN対応のネットワークカードやマザーボードとBIOSと設定、パソコンの電源が切れてもネットワークカードはパケットを監視続けるのでそれに対応した電源が必要です。私が使用しているパソコン2台は対応していました。

電源が入るパソコンの設定方法

BIOSにWakeOnLANに関する設定がある場合はEnabledに、ない場合は、PCIより電源を入れるなどの設定をEnabledにします。古いカードの場合、ネットワークカードよりマザーボードにケーブルを接続する必要がある場合があります。

マザーボード ASUS P4P800 CPU Pentium IV 3.2E 電源 音無R2を使用した自作パソコン(ネットワークはマザーボードに内臓) Windows Vista Ulitimate

BIOSの設定

電源投入後、DELキーを押してBIOS セットアップ画面を出す。PowerメニューのPower On By PCI Devices を Enabled にする。

ドライバの設定

デバイスマネージャよりネットワークカード内の3Com Gigabit LOM(3C940)を選ぶ。
詳細設定のWake Up CapabilitiesをMagic Packet にする。

電源の管理を選び、下図の二つの項目にチェックを入れる。

ベアボーン ASUS Vintage AH1 CPU Athlon64 3000+ Windows XP Professional SP2

BIOSの設定

電源投入後、DELキーを押してBIOS セットアップ画面を出す。PowerメニューのPower On By PCI Devices を Enabled にする。

ドライバの設定

デバイスマネージャよりネットワークカード内のMarvell Yukon 88E8053 PCI-E Gigabit Ethernet Contorollerを選ぶ。
詳細設定のウェイクアップ機能をマジックパケット にする。

Wake From Shutdownをオンにする。

電源の管理を選び、下図の二つの項目にチェックを入れる。

電源を入れるためのパケットを送る方法。

MACアドレス等の確認

電源が入っていないパソコンのIPアドレスは決まっていないため、MACアドレスが必要となります。
MACアドレスは、電源が入るパソコンでコマンドプロンプトを起動しipconfig /all を実行し、物理アドレスもしくはPhysical Addressの行で確認できます。IPv4アドレスもしくは、IP Addressの行も確認しておきます。

>ipconfig /all

イーサネット アダプタ ローカル エリア接続 1:

   接続固有の DNS サフィックス . . . : 
   説明. . . . . . . . . . . . . . . : 3Com Gigabit LOM (3C940)
   物理アドレス. . . . . . . . . . . : 01-02-03-04-05-06
   DHCP 有効 . . . . . . . . . . . . : 
   自動構成有効. . . . . . . . . . . : 
   リンクローカル IPv6 アドレス. . . . :
   IPv4 アドレス . . . . . . . . . . : 123.123.123.123

他のWindowsパソコンからフリーソフトを起動してパケットを送る。

Vector等からソフトをダウンロードします。私は、PCリモート起動ソフトを使ってみました。

MAC Address欄に先ほど確認したMACアドレスをを入力し起動ボタンをクリックするとパソコンが起動します。

玄箱から起動する。(OSはMonta Vista Linux)

telnet等で玄箱にログインし、下記のコマンドを実行する。(http://www.mogami.com/unix/pds.html) wolをインストールする。

wget ftp://ftp.mogami-wire.co.jp/pub/beta/wol.tar.gz
tar zxf wol.tar.gz
make
cp wol /usr/local/bin

下記のコマンドを実行するとパソコンが起動する。(wol MACアドレス IP) IPの最後はブロードキャストなので255にするのがミソ。

wol 01:02:03:04:05:06 123.123.123.255

設定した時刻にwolコマンドを実行する(crontab)

/etc/crontab ファイルを開いてたとえば 9月16日21時20分に起動するには、

20 21 16 9 * root wol 01:02:03:04:05:06 123.123.123.255

の行を追加します。なお、wolは/usr/local/binにインストールされているので、/etc/crontabのPATH=の行に :/usr/local/binを追加しておきます。
crontabはcronデーモンを再起動しないと有効にならないので、

/etc/rc.d/init.d/cron restart

を実行しておきます。

 

パケット送信プログラムの作成(Windows)

以下のページに作成例をまとめました。
Wake On Lan パケット送信プログラム