wpa_supplicant サービス開始時の依存関係の問題

wpa_supplicant サービス開始時の依存関係の問題

toradexボードの起動に問題があります(追加情報ここ)wpa_supplicantサービスが「依存関係」の理由で失敗しました。私は純粋なシステムネットワーク設定を使用しています。このファイルはWi-Fiに使用されます。

  • まずインタフェース名を変更します。
root@colibri:/etc/systemd/network# cat 10-toradex-wifi-ifnames.link
[Match]
Driver=mwifiex_pcie

[Link]
NamePolicy=keep kernel
  • 2つ目はインターフェイスのアップグレードです。
root@colibri:/etc/systemd/network# cat 61-wireless-mambo.network
[Match]
Name=mlan0

[Network]
DHCP=ipv4
IgnoreCarrierLoss=3s

[DHCPv4]
RouteMetric=21
  • 3番目はwpa_supplicant用です(インターフェースごと)。
root@colibri:~# cat /etc/systemd/system/[email protected] 
[Unit]
Description=WPA supplicant daemon (interface-specific version)
Requires=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
Before=network.target
Wants=network.target

# NetworkManager users will probably want the dbus version instead.

[Service]
Type=simple
ExecStart=/usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I

[Install]
WantedBy=multi-user.target
root@colibri:~# 

私は問題を次のようにまとめました。

root@colibri:~# systemctl status [email protected][email protected] - WPA supplicant daemon (interface-specific version)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: disabled)
     Active: inactive (dead)

Nov 03 11:50:02 colibri systemd[1]: Dependency failed for WPA supplicant daemon (interface-specific version).
Nov 03 11:50:02 colibri systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.

詳細は:

Nov 03 13:30:41 colibri systemd[1]: Timed out waiting for device /sys/subsystem/net/devices/mlan0.
Nov 03 13:30:41 colibri systemd[1]: Dependency failed for WPA supplicant daemon (interface-specific version).

起動時にログインしようとすると、次のメッセージが表示されるため、タイムアウトが発生したことがわかります。

pi@tt:~$ ssh [email protected]
[email protected]'s password: 
"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."
Connection closed by 192.168.28.38 port 22
pi@tt:~$ 

systemd-analyzeまたは、systemd-analyzeキーチェーンを使用すると結果は生成されませんsystemd-analyze blame。私の考えでは、これはインターフェイス名の変更udevと競合状態に関連しているようですsystemd

Nov 03 13:30:41 colibri systemd[1]: sys-subsystem-net-devices-mlan0.device: Job sys-subsystem-net-devices-mlan0.device/start failed with result 'timeout'.

時刻の確認: 13:30:41、ログに次のように表示されます。

Nov 03 13:30:43 colibri systemd-networkd[656]: mlan0: udev initialized link

デバイスの起動を試みた後、udev初期化が完了したようです。systemd

システムがタイムアウトに達し、最終的にブートしたら、mlan0.serviceを起動し、次のように実行します。

root@colibri:~# systemctl status [email protected][email protected] - WPA supplicant daemon (interface-specific version)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: disabled)
     Active: inactive (dead)

Nov 03 13:30:41 colibri systemd[1]: Dependency failed for WPA supplicant daemon (interface-specific version).
Nov 03 13:30:41 colibri systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.
root@colibri:~# systemctl start [email protected] 
root@colibri:~# systemctl status [email protected][email protected] - WPA supplicant daemon (interface-specific version)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-11-03 13:39:49 UTC; 1s ago
   Main PID: 1333 (wpa_supplicant)
      Tasks: 1 (limit: 1649)
     Memory: 1.6M
     CGroup: /system.slice/system-wpa_supplicant.slice/[email protected]
             └─ 1333 /usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-mlan0.conf -imlan0

Nov 03 13:39:49 colibri systemd[1]: Started WPA supplicant daemon (interface-specific version).
Nov 03 13:39:49 colibri wpa_supplicant[1333]: Successfully initialized wpa_supplicant
root@colibri:~# systemctl status [email protected][email protected] - WPA supplicant daemon (interface-specific version)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-11-03 13:39:49 UTC; 5s ago
   Main PID: 1333 (wpa_supplicant)
      Tasks: 1 (limit: 1649)
     Memory: 1.7M
     CGroup: /system.slice/system-wpa_supplicant.slice/[email protected]
             └─ 1333 /usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-mlan0.conf -imlan0

Nov 03 13:39:49 colibri systemd[1]: Started WPA supplicant daemon (interface-specific version).
Nov 03 13:39:49 colibri wpa_supplicant[1333]: Successfully initialized wpa_supplicant
Nov 03 13:39:51 colibri wpa_supplicant[1333]: mlan0: Trying to associate with 00:90:7f:47:66:41 (SSID='<REDACTED>' freq=5220 MHz)
Nov 03 13:39:51 colibri wpa_supplicant[1333]: mlan0: Associated with 00:90:7f:47:66:41
Nov 03 13:39:51 colibri wpa_supplicant[1333]: mlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Nov 03 13:39:51 colibri-imx8x-07330229 wpa_supplicant[1333]: mlan0: WPA: Key negotiation completed with 00:90:7f:47:66:41 [PTK=CCMP GTK=CCMP]
Nov 03 13:39:51 colibri wpa_supplicant[1333]: mlan0: CTRL-EVENT-CONNECTED - Connection to 00:90:7f:47:66:41 completed [id=0 id_str=]
root@colibri:~# 

推測はありますか?それとも、この問題を解決できるサービスファイルを作成する方法についてのヒントはありますか?

関連情報