«Échec de la connexion à ctrl_ifname non global» lors de l'exécution de la reconfiguration de wpa_cli


18

J'utilise un Raspberry Pi 2, exécutant Debian Jessie, et j'ai un problème avec ma connexion Wi-Fi, après avoir configuré mon /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

et wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant


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

puis en cours d'exécution wpa_cli reconfigure. Je reçois l'erreur, j'ai Failed to connect to non-global ctrl_ifname: (null) error: No such file or directorydonc besoin d'aide. Comment puis-je résoudre ça?

Réponses:


10

Cela a fonctionné pour moi

sudo nano / etc / network / interfaces
et ajoutez les lignes suivantes

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

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ressemble à ceci

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

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

source https://www.domoticz.com/forum/viewtopic.php?t=10930


2

J'ai eu un problème similaire sauf dans / etc / network / interfaces J'ai eu deux interfaces et je mettais à jour la mauvaise! Assurez-vous de mettre à jour la bonne interface.

J'avais ce qui suit et je mettais à jour wlan1 quand j'avais besoin de mettre à jour 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

2

J'ai un cluster de 12+ RPis que j'initialise sans tête. La même image exacte fonctionne sur certains et échoue sur d'autres avec le message:

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

Voici comment je fais la configuration 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

Étant donné que c'était la dernière ligne qui donnait l'erreur, je la remplace par ceci:

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

Je ne l'ai jamais fait boucler plus d'une fois, mais je l'ai mis untilau cas où il ne répondrait pas la première fois. Mais cela comporte le risque de ne jamais s'échapper. Pour mon besoin, je ne veux pas que le script se poursuive sans connexion Internet. Vous pouvez décider de ce qui vous convient. Une implémentation en une seule passe peut ressembler à ceci:

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

1
Magnifique réponse! Dans la boucle, j'ai dû insérer sleep 5après systemctl restart dhcpcd, car dhcp.service s'est plaint que les demandes de démarrage soient répétées trop rapidement
mcguffin

-1

J'ai résolu mon problème en ajoutant l'IP de GOOGLE à DNS car c'était le problème


4
Pourriez-vous ajouter quelques détails à votre réponse et la marquer comme correcte
Dark Vador

1
Comment cela pourrait-il être possible? C'est une question totalement indépendante. Pourriez-vous expliquer pourquoi pensez-vous que c'était la solution?
Alex Yu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.