wpa_supplicantがsystemdで機能しない

wpa_supplicantがsystemdで機能しない

私には一人では解決できない奇妙な行動があります。私はRPi2でRaspbian Stretch Liteを実行しています。 WiFiアダプタにはRealtek RTL8188EU(ステージングディレクトリのドライバ)を使用します。

デフォルトではwlan0インターフェイスを作成しますが、アクセスポイントにまったく接続しようとしません。他のWiFiアダプタが正しく動作するため、設定は正確です。

これは私の/etc/wpa_supplicant/wpa_supplicant.confファイルです:

country=IT
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=1
update_config=1
network={
    ssid="ssid"
    scan_ssid=1
    psk="password"
    key_mgmt=WPA-PSK
}

何度も試した最後に動作するコマンドが見つかりました。

wpa_supplicant -u -Dwext,nl80211 -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

コンソールでこのコマンドを実行すると、予想される動作(APへの接続など)が発生します。しかし、次の行をsystemdサービスに入れると:

$ cat /etc/systemd/system/multi-user.target.wants/wpa_supplicant.service 
[Unit]
Description=WPA supplicant
Before=network.target
After=dbus.service
Wants=network.target

[Service]
Type=dbus
BusName=fi.epitest.hostap.WPASupplicant
#ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
ExecStart=/sbin/wpa_supplicant -u -Dwext,nl80211 -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B

[Install]
WantedBy=multi-user.target
Alias=dbus-fi.epitest.hostap.WPASupplicant.service

動作しません。繋がらないという意味です。 systemdサービスを手動で(再)開始しても。

systemdで同じコマンドを実行したときに正しい動作を妨げる可能性は何ですか?

参考までに、役に立つ場合は動作しても(コンソールから手動でコマンドを実行した後)、コマンドはiw list何も出力しません。

ベストアンサー1

dbusの代わりにフォークロタイプを変更することは私にとって効果的でした。

[Service]
Type=forking

おすすめ記事