mDNSResponderにスリープが阻害される場合の対処法

ホーム フォーラム Discussions mDNSResponderにスリープが阻害される場合の対処法

  • このトピックには4件の返信、1人の参加者があり、最後にmifjpnにより4年、 11ヶ月前に更新されました。
4件の返信スレッドを表示中
  • 投稿者
    投稿
    • #7212 返信
      Soh
      ゲスト

      はじめまして、Sohと申します。

      macOSをMojaveからCatalinaにアップデートした直後から、Hackintoshがスリープ中にランダムで起動するようになりました。
      今回、そちらの対処法を調べてみたのでメモがてらに共有させていただきます。
      (もし対処法のみ知りたい場合は一番下までスクロールしてください)

      詳細な現状

      1. スリープ中にランダムで復帰する(ディスプレイはオフのまま)
      2. USBのSSDTは作成済み

      原因の究明
      まず、
      log show -last 24h |grep -i "Wake reason"
      でWake Reasonを調査します。
      直近で起こったスリープ復帰を調査するには、24hを1hなどに変更すればその範囲のみでマスクされます。

      私の環境下では、
      kernel: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: RTC (Alarm)
      と表示されました。この場合厄介で、調べてもいまいち理由がつかめません。
      Wake ReasonがRTC以外の場合はGoogle検索すると色々な解決法にヒットするかもしれません。

      仕方ないので、
      pmset -g log
      でsleep logを確認してみます。
      すると、
      Created MaintenanceWake "mDNSResponder:maintenance" 00:00:00 id:0x0xd00008ed5 [System: PrevIdle BGTask SRPrevSleep kCPU]
      という気になる記載がありました。

      意訳すると、mDNSResponderのメンテナンスによってスリープから復帰されたという趣旨のログです。
      原因がわかったので、次は*根本的な*原因について書き連ねていきます。

      根本的な原因&対処法
      Cloverのインストールパッケージでは、Disable Sleep Proxy Clientにチェックをいれると、
      /etc/rc.boot.d/70.disable_sleep_proxy_client.local
      にファイルが作成されます。

      このファイルは、mDNSResponderのLaunch Daemonのplistファイルである
      /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
      を編集し、mDNSResponderに
      -DisableSleepProxyClient
      というオプションを付加する、というものです。

      しかし、私の環境ではうまく動作しなかった(クリーンインストールでないから?)ようで、
      plistファイルが編集されていませんでした。

      macOS Catalinaからはシステム領域がプロテクトされているため、
      sudo mount -uw /
      で、Write権限とともにマウントします。

      次に、
      sudo /etc/rc.boot.d/70.disable_sleep_proxy_client.local
      でSleep Proxy Clientを無効にするためのスクリプトを実行します。
      一度目の実行で
      Disabling mDNS responder sleep proxy
      二度目の実行で
      mDNS responder sleep proxy already disabled
      というメッセージが出れば完了です。

      最後に
      これがためになる人はいるのかな・・・と思いつつ書いてますし、正直根本的な解決にはなっていないので、クリーンインストールしたほうがいい気もします。
      この方法では、アップデート時にplistファイルが再度上書きされる可能性もあるので、その点には注意が必要です。
      乱文失礼いたしました。

    • #7216 返信
      bootmacos
      キーマスター

      興味深い情報をありがとうございます。logの調べかたやブートスクリプトのことなど勉強になりました。

      RTCはハードウェアで実装されて、電源を切っても動いているリアルタイムクロックなので、Alarmと書いてあるように、目覚まし時計のように使われているのだと思います。crontabみたいに何時何分に起動して欲しい時に、RTCに設定して、スリープから起動しているのでしょう。でも何が起動しているかまではlogに残っていないということかな。

      ググってみたらmDNSResponderはBonjourを担当しているモジュールのようですね。他のマシンからLAN経由で問い合わせが来た事に対応しているとか、逆に、定期的にLANを調査して他のマシンの状態を探っているのかなと思います。前者だとすると、「システム環境設定」「省エネルギー」で「ネットワークアクセスによるスリープ解除」や「Power Napを有効にする」のチェックを外して回避できないのかなと思いました。

      でも最近は、スリープから勝手に目覚めてもあまり気にしないことにしています。時々目覚めて役立つ仕事をしてくれているのなら、目覚めてくれていても良いかなと考えています。

    • #7217 返信
      Soh
      ゲスト

      コメントありがとうございます。

      落ち着いたPCの場合気にならないんですが、自分の自作PCが割とLEDピカピカなので、部屋の中で睡眠
      を妨げられると苦痛でして・・・笑

      疑問として、果たしてクリーンインストールしてないからこの結果になったのか、Catalina特有のCloverのバグなのか、皆さんのPC上で、該当ファイルの中身がどうなっているのか気になります。

      mDNSResponderの働きに関しては、その通りで、Bonjour関連ですね。
      launchctlからunloadしてしまうと、iTunes、Spotifyなど様々なアプリに影響を及ぼすようです。
      省エネルギー設定について言及されているスレッドは多くあるのですが、私の環境では正しく設定したつもりでも状態は改善しませんでした。iPhoneとの連携機能がHackintoshをWakeさせているのかな、と思い、iPhoneを4Gで運用しても状況は変わらず・・・という形でした。

    • #7244 返信
      bootmacos
      キーマスター

      寝ている部屋でSleep復帰されるのは、電飾がなくてもたまりませんね🙂。相当にびびりそうです。私は夜はシャットダウンしてます。

    • #7304 返信
      mifjpn
      ゲスト

       お疲れさまです。調べ方等参考になりました。
       Linuxと混在して使っていると、ZeroConfネットワークは便利ですね。
       以前6月頃、Linux側のAvahi(ZeroConfネットワーク)での不具合で、mac、Linux共々hostsに書き込みだったんですが、この記事を見て、おもしだしたように試したところ、治ってました。hostsへの書き込みから開放され、プリンタもほぼ自動でCUPSがインストールしてくれます。
       きっかけをありがとうございました。

4件の返信スレッドを表示中
返信先: mDNSResponderにスリープが阻害される場合の対処法
あなたの情報: