systemdサービスがwpa_supplicant制御ソケットと通信するときにwpa_cliコマンドタイムアウトが発生するのはなぜですか?

systemdサービスがwpa_supplicant制御ソケットと通信するときにwpa_cliコマンドタイムアウトが発生するのはなぜですか?

wpa_cliWi-Fiの状態を確認するために、Pythonプログラムでコマンドを実行しています。ユーティリティがリクエスタプロセスと通信できることを確認する一般的なコマンドは次のとおりです。

/sbin/wpa_cli -iwlext ping

プログラムを手動で実行するか、上記のコマンドを手動でテストすると正常に動作します。

上記のコマンドでプロセスを開始すると、systemdプロセス内で実行するとタイムアウトします。

'PING' command timed out.

コントロールソケットを介してメインプロセスと通信できない理由を診断しようとしています。

  • プロセスはwpa_cliコマンドを呼び出すことができます(実行して出力を表示できますwpa_cli -v)。
  • プロセスはifaceコントロールソケットを見ることができます/var/run/wpa_supplicant/wlext(実行可能ls -laなど)。

答え1

Pythonプロセスのシステム単位は次のとおりです。

PrivateTmp=true

プロセスをある程度分離します。

cliが接続するデフォルトのプロセスソケット用のfalseクライアントソケットを構築できるようにするには、これを設定します。/tmp

関連情報