2011-01-11

Linux機を無線LAN経由でWake on Lanできるか?

LANケーブルを引き回したくない場所に置いてあるLinuxマシン。
ネットワークには無線LANでつなぐわけですが、リモート起動(Wake on Lan/WOL)も無線LAN経由でできるものなのでしょうか?

有線LANでのWOLならそう難しい話ではありませんが、無線LANとなると一筋縄ではいかないようで……。

結論:イーサネットコンバーターならたやすい

結論から言うと、無線LANアダプタでのWOLは断念しました。
ただ、イーサネットコンバーターを使えば、無線LAN経由でも普通にWOLできます。マシンからは「有線LANでつながっている」ようにしか見えないのですから、当たり前なんですが……。

イーサネットコンバーターとは?
イーサネットコンバーターは、有線LANでしかネットにつなげない機器(家電とか)を無線LANでつなぐための機械です。
「有線LANでしかつなげない機器」と言っても、PCなどは「USB無線LANアダプタ」を使えば無線も利用することができます。ところがTVなどのデジタル家電は、ほとんどの場合、USB無線LANアダプタには対応していません。そんなとき、コンバーターを使えば、下図のように無線LANでつなぐことができるのです。

[インターネット] ―(有線)― [無線ルーター] ……(無線)…… [イーサネットコンバーター] ―(有線)― [デジタル家電]

なお、イーサネットコンバーター経由でWOLしようという場合、コンバーターは24時間起動しておく必要があります。
「普段はマシンの電源を落としておいて必要なときだけWOLで起こそうと考えているのに、コンバーターを24時間起動しっぱなしというのもなー」と微妙な気持ちになりますが、昨今のコンバーターなら消費電力は数W程度。マシンを起動しておくよりはずっと省エネだし、と割り切ってしまうのが良さそうです。

USB無線LANアダプタでのWOLは無理そう

当初は、イーサネットコンバーターを使わずに、Linux機に接続したUSB無線LANアダプタからのWOLを考えていました。しかし、調べてみるとどうも難しそう。
考えてみれば、USB無線LANアダプタというのは通信に必要な様々な処理をマシン側のCPUに任せています。CPUが寝てる間、USB無線LANアダプタだけで何か仕事をするというのは、確かに荷が重そうです。

ただ、無線LANアダプタがPCIでマシンに接続されているのなら、WOLできる可能性はあります。「WoWLAN」で検索してみてください。

おまけ:有線LANポートをWOL専用にして、通常通信を禁止する

今回、イーサネットコンバーターはウチに転がっていた802.11g(54Mbps)の物を引っ張り出してきて使うことにしました。いっぽう、マシンにあらかじめ挿してあったUSB無線LANアダプタは802.11n(300Mbps)。
WOLは11gの遅いほうを使いますが、起動後は11nの速いほうで通信したいところです。

ところがマシンから見ると、イーサネットコンバーターは有線LANにしか見えません。Linuxとしても、まさか有線LANが無線より遅いとは思わないのでしょう、ついつい有線のほうで通信しようとしてしまいます。
仕方がないので、Linuxが有線LANを使わないように設定してしまいましょう。WOLはOSが起動する前に行なわれる処理ですので、Linux上で有線LANを無効にしてしまっても、WOLには影響ありません(※)。

Debianの場合は、/etc/network/interfaces がネットワークの設定ファイルです。
有線LANは eth0 ですので、ぜんぶコメントアウトしてしまいます。DHCPで使ってる場合は、次の2行でしょうか。
#allow-hotplug eth0
#iface eth0 inet dhcp

これで再起動すれば(再起動が面倒なら ifdown eth0)、Linuxからは有線LANは使われなくなっているはずです。
念のため、ifconfig で eth0 がいないことを確認しておきましょう。

(※)ただし、毎終了時にethtoolコマンドでWOLを有効にしないといけない環境の場合は、eth0 を無効にしたらマズいかも。


イーサネットコンバーターをどう使うか

なお、イーサネットコンバーターはWOL専用と割り切るなら、11g(54Mbps)の速度は必要ないので、11b(11Mbps)に絞っておいてもいいかもしれません。多少は省電力になるでしょう。

そもそもの問題として「無線LAN機器を2つ接続するって…」とお思いの方は、USBアダプタはやめて、11nのコンバーターに一本化するという手も。
アマゾンだと、150Mbpsでよければ PLANEX FFP-PKC01 が\1,780、300Mbpsでも PLANEX FFP-PKR01 が\3,023 です。

2011-01-05

iPhoneの電源が入らない→スリープ中にフリーズしてた

さっきまで普通に使えていたiPhone(4)、突然電源が入らなくなってしまいました。
バッテリーはまだ充分あったはず。電源ボタンを長押ししても何も起こらない。

これは故障?修理行き?と検索してみたら、どうも「スリープのままフリーズしただけ」というケースが結構あるらしいのです。その場合はホームボタンと電源ボタンの両方を長押しすれば強制再起動して無事復旧するとか。
試してみると――起動ロゴのリンゴ印が現れて一安心。

なお、この「長押し」の時間は少々長めです。ふつう5~6秒も押せば何か反応がありそうなものですが、今回10秒くらい押し続けてやっとリンゴが表示されました。