wpa_cli reconfigureを実行すると、「非グローバルctrl_ifnameに接続できませんでした」


18

私は、Debian Jessieを実行しているRaspberry Pi 2を使用していますが、私の設定後にWi-Fi接続に問題があります/etc/network/interfaces

    # interfaces(5) file used by ifup(8) and ifdown(8)
    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

    # uncomment the next 4 lines and set the correct wpa-ssid (network ssid) and
    auto lo
    iface lo inet loopback
    iface eth0 inet manual
    allow-hotplug wlan0
    iface wlan0 inet manual
         wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant


network={
    ssid="Abass"
    psk="AMSH19691977"
}

その後、実行しwpa_cli reconfigureます。エラーが発生したFailed to connect to non-global ctrl_ifname: (null) error: No such file or directoryので、助けが必要です。どうすればこれを解決できますか?

回答:


10

これは私のために働いた

sudo nano / etc / network / interfaces
と次の行を追加します

auto wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ファイルは次のようになります

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="your ssid"
psk="your wifi password"
}

ソースhttps://www.domoticz.com/forum/viewtopic.php?t=10930


2

/ etc / network / interfacesに2つのインターフェースがあり、間違ったインターフェースを更新していたことを除いて、同様の問題がありました!正しいインターフェースを更新していることを確認してください。

次のものがあり、wlan0を更新する必要があるときにwlan1を更新していました。

iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface wlan1 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

2

12+ RPのクラスターがあり、ヘッドレスで初期化しています。同じ画像が一部で機能し、一部で失敗し、次のメッセージが表示されます。

Failed to connect to non-global ctrl_ifname: wlan0  error: No such file or directory

これは私がwifi設定を行う方法です:

#### Wifi Setup (WPA Supplicant)
##  Replaces the magic of https://github.com/RPi-Distro/raspberrypi-net-mods/blob/master/debian/raspberrypi-net-mods.service
##  See: https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
cat > /etc/wpa_supplicant/wpa_supplicant.conf << EOF
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
    ssid="wifi name goes here"
    psk="password goes here"
}
EOF
chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 reconfigure

エラーが発生したのは最後の行だったので、次のように置き換えます。

until wpa_cli -i wlan0 reconfigure; do
  echo "Failed to reconfigure wlan0 with wpa_cli."
  echo "Restarting dhcpcd with systemctl."
  systemctl restart dhcpcd
done

ループを2回以上until行ったことはありませんが、初めて応答しない場合に備えてそこに配置しました。しかし、それは決して逃げ出さないというリスクを伴います。必要に応じて、インターネットに接続せずにスクリプトを続行したくありません。あなたはあなたのために何がうまくいくかを決めることができます。シングルパスの実装は次のようになります。

wpa_cli -i wlan0 reconfigure || ( systemctl restart dhcpcd; wpa_cli -i wlan0 reconfigure; )

1
素晴らしい答え!ループでは、のsleep 5後に挿入する必要がありましsystemctl restart dhcpcdた。dhcp.serviceが、開始リクエストの繰り返しが速すぎると不平を言ったためです
mcguffin

-1

GOOGLEのIPをDNSに追加して問題を解決した


4
回答に詳細を追加して、正解としてマークを付けてください
ダースベイダー

1
これはどのようにして可能でしょうか?それは全く無関係な問題です。なぜそれが解決策だったと思いますか?
Alex Yu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.