„Nie można połączyć się z nieglobalną nazwą pliku ctrl_if podczas uruchamiania rekonfiguracji wpa_cli

18

Korzystam z Raspberry Pi 2, z systemem Debian Jessie, i mam problem z połączeniem Wi-Fi po ustawieniu /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

i wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant


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

następnie biegnie wpa_cli reconfigure. Pojawia się błąd, Failed to connect to non-global ctrl_ifname: (null) error: No such file or directorywięc potrzebuję pomocy. Jak mogę to rozwiązać?

Balsam Qassem
źródło

Odpowiedzi:

10

To zadziałało dla mnie

sudo nano / etc / network / interfaces
i dodaj następujące wiersze

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


plik sudo nano /etc/wpa_supplicant/wpa_supplicant.conf wygląda następująco

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

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

źródło https://www.domoticz.com/forum/viewtopic.php?t=10930

Anders B.
źródło
2

Miałem podobny problem z wyjątkiem / etc / network / interfaces Miałem dwa interfejsy i aktualizowałem niewłaściwy! Upewnij się, że aktualizujesz odpowiedni interfejs.

Miałem następujące i aktualizowałem wlan1, kiedy potrzebowałem zaktualizować wlan0:

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

iface wlan1 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Mahaddy
źródło
2

Mam grupę ponad 12 RP, które inicjuję bezgłowo. Ten sam dokładny obraz działa na niektórych, a na innych nie wyświetla się z komunikatem:

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

Tak robię konfigurację Wi-Fi:

#### 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

Ponieważ był to ostatni wiersz, który dawał błąd, zastępuję go następującym:

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

Nigdy nie miałem tego pętli więcej niż raz, ale umieściłem untilją na wypadek, gdyby nie zareagowała za pierwszym razem. Ale wiąże się to z ryzykiem, że nigdy nie ucieknie. Na moje potrzeby nie chcę, aby skrypt był kontynuowany bez połączenia z Internetem. Możesz zdecydować, co Ci odpowiada. Implementacja pojedynczego przejścia może wyglądać następująco:

wpa_cli -i wlan0 reconfigure || ( systemctl restart dhcpcd; wpa_cli -i wlan0 reconfigure; )
Bruno Bronosky
źródło
1
Cudowna odpowiedź! W pętli musiałem wstawić sleep 5później systemctl restart dhcpcd, ponieważ dhcp.service narzekało na zbyt szybkie powtarzanie żądań startu
mcguffin
-1

Rozwiązałem problem, dodając adres IP GOOGLE do DNS, ponieważ to był problem

Balsam Qassem
źródło
4
Czy możesz dodać trochę szczegółów do swojej odpowiedzi i oznaczyć ją jako poprawną
Darth Vader
1
Jak to może być możliwe? To całkowicie niezwiązana materia. Czy możesz wyjaśnić, dlaczego Twoim zdaniem było to rozwiązanie?
Alex Yu,