OSX を利用しいて Mavericks の次のバージョンである El Capitan そして、最新 OS である Sierra に至っても WoL が動作しない。と、いうのはある意味 Mac 使いにとっては有名なお話です。ググるとドドドと WoL もしくは Wake Up On Lan が動作しない。 WoL マジックパケットをブロードキャストに投げても Mac が目覚めてくれない。と、いうのは今となっては常識?
悲しいことなのであります。
ウェブで検索すると、調べた人は本当に調べていて NIC のカーネルモジュールを交換したり、各種設定を色々調査したりしているんですが、解決策は見当たらずに Apple に対してバグレポートを送った。とか、見受けられるんですけども・・。
僕はまだインストールしていないのですが、海外のサイトでは macOS Sierra でもやはり WoL が動作しない。と、いう書き込みが見受けられます。もーダメダメじゃーん・・。 orz。 って感じがすごくします。
ただ、一点だけ、回避策を発見しました。今回はそれについて書いてみたいと思います。
まず、先に結論を書いてしまいますが、とある技・道具を利用すると WoL が動作するようになります。それは・・。
USB NIC を接続して USB NIC の MAC アドレスに対して WoL マジックパケットを送る。という方法です。
簡単に言うと、Mac 本体の NIC では WoL マジックパケットを投げても受け取ってくれなくて Mac は起き上がってくれないのですが、 USB NIC を接続して OS X に認識されたモノであれば、無事に WoL が動作してくれます。
と、いうこどて、今回試した USB NIC は全部で四つ。まずは写真から。
上から順に、製品名もしくは usbconfig の結果を掲載します。 usbconfig は FreeBSD のコマンドで、製品名・ベンダ名を表示してくれます。
1. PGENET10 Xircom Inc.
2. BUFFALO LUA2-TX LUA2-TX
3. vendor 0x0b95 (product 0x772a vendor 0x0b95)
4. USB Ethernet (product 0x7720 vendor 0x0b95)
1. と 2. は随分と古い USB NIC で、共に USB1.2 対応、 1. は 10MBase な NIC です。 2. は 100MBase-T ですが USB1.2 なので 12Mbps 程度しか出ません。これらは El Capitan では認識してくれませんでした。
3. と 4. は FreeBSD では axe0 で認識され ue0 で動作します。これらは El Capitan でも認識され、 en3 とか en4 で認識されました。
ちなみに僕の持っている MacBook の場合 en0 は Giga NIC 、 en1 は Wi-Fi NIC です。
さてと。 MacBook に 3. もしくは 4. の NIC を USB で接続して、ifconfig -a で認識されことを確認し、そして MAC アドレスを更に確認して、あとは WoL マジックパケットを投げるだけです。あ。その前に SleepNow しますが。
と、いうことで無事に WoL が動作して MacBook は目覚めたのでありました・・。
ちゅーとこは、つまりはオンボード NIC に問題がある。と、いうことですね。 Sleep 中はオンボード NIC まで Sleep してしまっている。と、いう認識で良いのかな?
実は WindowsOS も 7 まではスリープ中でも NIC に電源供給されていたんだけど 8 以降では default では電源供給されなくなり WoL に対応しなくなっています。
それと似たような動作かな? 困ったモノです・・。
と、いうことで新しい Apple の PC OS 、それはつまりは El Capitan 以降になるんですけども、その場合には USB NIC を付けて、そこに WoL マジックパケットを投げれば大丈夫。と、いうことになるかと思われます。
あ。 USB NIC には IP アドレスが付加されている必要はありません。 ifconfig en3 up などで、アップしているだけで動作します。
ケーブルを一本余計にはわせる必要はありますが、今のところの回避策はこれしか考えられないですね。
ちなみに USB NIC は WoL マジックパケットを受信するだけに利用するので安いモノで十分です。高価なモノは必要ないです。僕は過去に確か、アキバで 500yen くらいで買ったものが 3. や 4. だったりします。
このエントリを読んだ Mac ユーザで、どうしても WoL したいという人は USB NIC で試してみてください。
決してカッコよくは無い解決策ではありますが・・。
2017年1月17日のセキュリティアップデート 2016-003にて
Wake On LANできない問題が解決されていますよ。
と思ったらアップデートに失敗されてSierraになさったのですね。
Sierraでも不具合が修正されていると思いますよ。
あさこん さん こんばんは。
ありがとうございます。実は、僕も Sierra をインストールしたあとに気がつきました。
http://running-dog.net/2017/01/post_1915.html
のエントリーですねぇ。けど、ここには Wake On LAN が復活した。とは書いていません。けど、復活して、無事に動作していますねぇ。
コメントありがとうございました。今後とも宜しくお願いします。