いろきゅうの(元)はてなダイアリー

はてなダイアリーから移行中…

WoWLAN (Wake on Wireless LAN) が元気に動きすぎて寝込んだ話

まだ blog は見捨ててないぞ! という意思表示を込めて超久々更新…!!!!11

…の割にはえらい偏った話題なんですけども!

本題

手元の Intel NUC に対して Wireless な WOL である "WoWLAN" の設定をしたのです。 他から magic packet を送れば起動するようにはなったのですが……

恐ろしい事に、magic pakcet を送ってないのに起きてくるんですよ…それはそれは元気よく………

さっぱり意味が分からない何これ呪い? 勘弁してくだち…

WoWLAN はまだ時期尚早なのかなぁと思います。 私の中では心が折れました。 安定稼働は無理っぽい

ふて寝するわ…
 <⌒/ヽー、__
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

【はじめに】まとめ&雑感 - トラブルシュートのハードルが高すぎる

WoWLAN が安定して稼働する環境であれば安定して稼働するんだと思います

しかし何かしら問題があった場合にトラブルシュートに超苦労する気が…。 色んな要素が絡んできて問題箇所の特定が非常に難しい。ざっと思いつくものでも以下の知見が必要になりそう

  • 802.11ac*1 の通信仕様に関する知見
    • 鍵交換云々とか…?
    • 4way handshake とか…?
  • Wifi AP の製品仕様
  • 電波に関する知見。特に 2.4GHz / 5GHz
  • マザーボードオンボードwifi チップに関する知見
    • WoWLAN で起動させるための BIOS/UEFI の設定方法
    • ってかそもそも WoWLAN に対応してる板です?
  • Windows の仕様に関する知見
    • wifi ドライバに関する仕様(という名のバグ挙動とか
    • wakeup する可能性のある要素

……難易度高ぇなおい!

必要となる知見が広すぎる上に、wifi のパケットキャプチャしようものなら ノートPC / RasPI に Linux 入れて云々とかしなきゃいけなさそうだし、環境を用意するところが凄く大変…

なので、WoWLAN が期待通りに動かないとなったら、WoWLAN の採用は諦めて素直に別の方法を取った方が良いと思います。 具体的には、RJ45 に Magic packet を送り込む… という普通の方法をとるしか………

「有線LANケーブルが届かないから無線LANなんやないかい!!!」 という話になりそうですが、ちょっと投資は必要ですが出来ます。 解決編はそのうち書く(酷い


以下、ワイの敗北の記録という名のダラダラ駄文

環境など - 設定したら動きはする

私が setup しているのは Intel NUC の BOXNUC7I5BNH です。

intel 的にも WoWLAN が可能扱いで 公式でセットアップ方法を公開しています。 もちろんこの通りにすれば WoWLAN は動作します(スリープからじゃないと復帰できない点は注意ニョラ)

…が、「magic packetを送っていないのに眠りから目を覚ます」という症状に悩まされます。 ぴえん

なおネットワークはこんな感じ:

f:id:ir9:20211025040238p:plain

まずは Windows の設定を確認する

勝手に起きてくるのは Windows の勝手に起動してくる系サービスの可能性の方がよほど強いのでまずはそれを疑います

本題ではないので疑いポイントをざっくり

  • powercfg -waketimers で 勝手に起動させる系サービスを列挙。無効化する
  • powercfg -devicequery wake_armed で 勝手に起動してくるデバイスを列挙。無効化する
    • マウス・キーボードで復帰する設定になってるとかありがち。 マウスは微動しただけで起動するのでめっちゃ頻繁に起きてきます。 大変わかりやすいですが mk5*2 です。 窓から投げ捨てんぞゴルァ!
  • Windows Update を非アクティブ時間に入れようと起動してくる挙動を無効化しましょう

人・環境によると思いますが

  • powercfg -waketimers で空っぽ
  • powercfg -devicequery wake_armedwifi device のみ

になれば良いのではと思います。

…良いはずなんですよー。 良いハズなんですよー…

出番じゃ無ぇすっこんでろ

起きてくるんですよ勝手に。 orz

何も wakeup する要因は無いハズですし、magic packet を送ってるわけでも無い。 しかし、起動した原因を探るコマンド powercfg -lastwake すると intel のドライバが原因として報告される。 うーむ…

C:\Windows\system32>powercfg -lastwake
スリープ状態の解除履歴カウント - 1
スリープ状態の解除履歴 [0]
  スリープ状態の解除元カウント - 1
  スリープ状態の解除元 [0]
    種類: デバイス
    インスタンス パス: PCI\VEN_8086&DEV_24FD&SUBSYS_90108086&REV_78\4&18747cb7&0&00E5
    フレンドリ名: Intel(R) Dual Band Wireless-AC 8265
    説明: Intel(R) Dual Band Wireless-AC 8265
    製造元: Intel Corporation

…という所でトラブルシュートのスタート地点です(ようやく

みんな困ってるやんけ

もろもろググってたどり着いた blog エントリーがこちら。(PCは違うと思いますが) 同じ症状で夜も寝れない様子… いや「朝目覚めたらマシンも起きてて超うっへりー☆」って書いてありますね。寝てますね。ぐっすり寝てますね

で、この blog post のコメントに解決策が post されてる…! そして「なんかイイ感じじゃ無い?」みたいな reply も付いてる!! これは勝つる!!!!1111

提示されているドライバの設定は以下の通り:

  • 詳細設定 タブ
    • Wake on Magic Packet → 有効
    • Wake on Pattern Match → 有効
    • WoWLAN の GTK Rekey → 有効
  • 電源管理 タブ
    • 電力の節約のために、コンピューターでこのデバイスの電源をオフにできるようにする → チェック
    • このデバイスで、コンピュータのスタンバイ状態を解除できるようにする → チェック
    • Magic Packet でのみ、コンピューターのスタンバイ状態を解除できるようにする → はずす

f:id:ir9:20211025040234p:plain f:id:ir9:20211025040232p:plain

これで WoWLAN を妾の手の内に収めたも同然…… さぁ永久の眠りにつくが良い! サスペンド!!

……

……

……

ダメでした ☆(ゝω・)vキャピ

勝手に起動してきましたわ… ちくしょう薔薇水晶め…

復帰してくる条件(いっぱいある

当該ブログから Microsoft の driver document へリンクがあります。 これを見ると、起きてくる条件というのが色々あるようです。

まぁただ、ドライバの仕様としては古いもののようなので Intel NUC の NICドライバ が当てはまるかは不明ですし、なにより「magic pakcet でのみ解除できるようにする」のチェックの存在意義は何? という所ではあるので色々怪しい所はあるのですが…

  • WOL Packet Received → これは当然。起きてくださーい
  • WOL Magic Pattern Received → これも当然。でも未だにどういうパケット送って良いのか解らない
  • wifi が切れたら復帰 → つまり電波が微妙だと復帰しやすい…?
  • 鍵の再生成?交換?に失敗したら復帰? → 802.11x の仕様を知らないのでザックリでしか解らない領域になってまいりました!!
  • 802.1x EAP-Request/Identity Packet Received → 802.11x の仕様を(ry
  • Four-way Handshake Request Received → 8(ry

勝手に復帰してくる場合、後者の4つあたりが怪しいのでは…? とは思いますが… まぁ検証方法はおろか検証環境すら無いので正直よく分らない。 詰んだ感

  • Buffalo WSR-5400AX6 と サスペンド中の Wifiバイスとの相性が悪い? NICドライバの出来が悪い? …ために、鍵交換に失敗する?
  • Intel NUC の近くにコードレス電話機の親機があるのが悪い? 2.4GHz帯が干渉してwifiが切れてる? 実のところちょっと wifi の感度が良くない。
    • 5GHz帯はどうなんじゃ

f:id:ir9:20211025040236j:plain

"Wifi AP" と "サスペンド中の Wifi NIC" との間で何やってるか解析するのは環境が無いので出来ないし*3、大人の事情で PC の位置を大きくずらすとかも出来ないので、トラブルシュートはココで限界かなぁと…

仮に何か調査できて新しい事実が判明したとしても「WoWLAN は不安定。なんか勝手に起動する」という印象が拭えないですわ。 無理しての採用は止めようと思います。 残念無念としあき

じゃぁどうすんのさ?

  • Wifi 子機を新たに設けて bridge する
  • その子機からLANケーブル伸ばして普通にLANポートに刺す
  • LANポートの MACアドレスを指定して WOL すればイッツバーニング!する(ハズ

ダサいんですがまぁ仕方ない…

Intel な PC に限った話で言えば、"Intel vPro" に対応しているマシンであればこのテクノロジ経由でリモート起動とか出来るらしいです。 軽く調べた限りでいうと、なんとなくですが WOL でニャンニャンするよりかは安定した起動が行えるのでは…?という印象です。しらんけど

ちなみに BOXNUC7I5BNH は未対応でした。ぴえん

 <⌒/ヽー、__
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

*1:? ようはwifiの通信規格全般の知見

*2:マジでキレちゃう5秒前

*3:出来たとしても理解できるか…