Come connettersi al WiFi senza riavviare?


17

Ho appena inserito una carta appena lampeggiata (con 2017-09-07-raspbian-stretch-lite) in un Raspberry Pi Zero W.

Quindi ho aggiunto queste righe:

network={
    ssid="myWifiSsid"
    psk="myWifiPassword"
}

a /etc/wpa_supplicant/wpa_supplicant.conf.

I dati inseriti erano corretti al 100%. Ho aspettato 10 minuti e ho verificato: non si connetteva automaticamente.

Quindi sono tornato alle istruzioni ufficiali e sono corso sudo wpa_cli reconfigurecome suggerito. Stesso risultato: non connesso.

Quindi ho provato a riavviare manualmente wlan0:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

Sempre lo stesso: Is non si connette.

Quindi ho fatto un riavvio e si è collegato automaticamente all'istante.

È così frustrante. Sembra che le istruzioni ufficiali non siano affatto testate.

Quindi cosa manca qui, come può essere fatto senza un riavvio?


1
Ho notato anche questo. Molto frustrante!
Quintin Balsdon,

Risposte:


19

Anch'io ho visto questo problema con il mio Raspberry Pi Zero W utilizzando 2017-09-07-raspbian-stretch-lite.

Aggiornamento del wpa_supplicant.conffile, sudo wpa_cli reconfiguree sudo systemctl restart wpa_supplicantnon ha funzionato. Il mio Pi non otterrebbe un IP wlan0.

Ho notato che wpa_supplicantviene generato come figlio del dhcpcdservizio.

$ sudo systemctl status

└─dhcpcd.service
  ├─890 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
  └─912 /sbin/dhcpcd -q -w

Ho scoperto che usare daemon-ricaricare e riavviare l' dhcpcd.serviceunità ha funzionato per me.

sudo systemctl daemon-reload
sudo systemctl restart dhcpcd

E sembra che si dovrebbe prima eseguire sudo systemcl daemon-reloadprima di riavviare dhcpcd. Non sono del tutto sicuro del perché, ma sembra che daemon-reloadavviserà le unità di servizio di configurare le modifiche ai file.

Se ho riavviato dhcpcdsenza eseguire daemon-reload, ho ricevuto questo avviso. Warning: dhcpcd.service changed on disk. Run 'systemctl daemon-reload' to reload units., ma è stato riavviato correttamente con o senza daemon-reload. Quindi non credo sia vitale, ma probabilmente è una buona pratica.



4

Dopo aver aggiunto una rete in wpa_supplicant.conf:

Esegui il cli
(qui vengono utilizzati 3 comandi: interfaccia, riconfigurare ed uscire)

root@raspberrypi:~# wpa_cli
wpa_cli v2.4
Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors

This software may be distributed under the terms of the BSD license.
See README for more details.


Selected interface 'p2p-dev-wlan0'

Interactive mode

<3>CTRL-EVENT-SCAN-RESULTS
> interface wlan0
Connected to interface 'wlan0.
> reconfigure
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with XX:Xa:aX:Xa:XX:Xa (SSID='wifissid' freq=2437 MHz)
<3>Associated with XX:Xa:aX:Xa:XX:Xa
<3>WPA: Key negotiation completed with XX:Xa:aX:Xa:XX:Xa [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to XX:Xa:aX:Xa:XX:Xa completed [id=0 id_str=]
> quit

Quindi verifica di disporre di un indirizzo IP.

root@raspberrypi:~# ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.XX.XXX  netmask 255.255.255.0  broadcast 10.10.XX.XXX
        inet6 fe80::aab2:d96e:d3ef:836d  prefixlen 64  scopeid 0x20<link>
        ether bX:XX:Xb:XX:Xe:aX  txqueuelen 1000  (Ethernet)
        RX packets 162  bytes 31128 (30.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 75  bytes 11385 (11.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3

Sto usando un Raspberry Pi 3 con 2018-03-13-raspbian-stretche il mio problema è leggermente diverso, ma ho trovato una soluzione, quindi penso che anche questo possa aiutarti.

Avvio dell'RPi con /etc/wpa_supplicant/wpa_supplicant.confimpostazione in modo da avere un SSID e una password impostati e l'RPi si collega automaticamente all'SSID configurato all'avvio. Inoltre, volevo cambiare /etc/wpa_supplicant/wpa_supplicant.conf usando alcuni script di elaborazione del testo automatizzati e quindi ricaricare le impostazioni wifi .

Dopo aver cercato un po 'in giro, ho trovato questo post sui forum ufficiali di Raspberry Pi e ho trovato questo set di comandi che funzionava almeno per me:

sudo dhclient -r wlan0
sudo ifdown wlan0
sudo ifup wlan0
sudo dhclient -v wlan0

Non so come o perché funzionano, quindi nessuna garanzia ...


Questa è l'unica risposta che ha funzionato per me, anche su Pi3 con tratto raspian - grazie!
smörkex,

2

È necessario eseguire questa riga di comando per riavviare la rete

/etc/init.d/networking restart


3
Non in tratto!
MatsK,

6
Idealmente neanche in jessie, poiché è anche basato su systemd (non SysV); tale comando è anacronistico e nella migliore delle ipotesi supportato per la compatibilità con le versioni precedenti.
riccioli d'oro

No, non funziona. Devi riconfigurare il supplicant di wpa e riavviare dhcpcd
Hola Soy Edu Feliz Navidad

0

È possibile utilizzare lo strumento NetworkManager, che utilizza i nmclicomandi per impostare un profilo di connessione.

Installalo usando apt:

sudo apt-get install network-manager

Commenta wlane Ethernetinterfacce /etc/network/interfaces.

Riavvia il dispositivo.

Quindi utilizzare:

sudo nmcli device wifi con "SSID" password "PSK" 

per connettersi a una rete Wi-Fi.


Si prega di non consigliare di confondere un altro strumento di rete con quelli già esistenti (dhcpcd, ifupdown di rete Debian, systemd-networkd). Il gestore di rete non è supportato da Raspbian, quindi è necessario configurarlo tutto a mano. Prima è in conflitto con dhcpcde ifupdown. Non lo rispetti nella tua risposta. Quindi in Raspbian Stretch non ci sono voci, /etc/network/interfacesquindi non c'è nulla da commentare.
Ingo,

Sì, hai ragione amico, sono in conflitto con la rete con altri dhcpcd e ifupdown. Ma NetworkManager sembra essere l'unico modo per farlo, dopo aver seguito i consigli di cui sopra. Le versioni raspbian lite di Raspberry pi non hanno altra scelta che nmcli. Non l'ho provato su Stretch ma, durante l'installazione, il gestore della rete stesso avviserà del conflitto. Se hai una soluzione sono sempre pronto per imparare quel metodo.
Rituraj Rautela,

Solo con sudo systemctl stop wpa_supplicant@wlan0.servicee sudo systemctl start wpa_supplicant@wlan0.servicepuoi interrompere e avviare una connessione WiFi come preferisci. Come farlo puoi guardare Configurare un Raspberry Pi come punto di accesso: il modo semplice o Punto di accesso come ripetitore WiFi, opzionale con bridge o Passa da client wifi a punto di accesso senza riavviare o altre soluzioni simili.
Ingo,

0

Ho avuto un problema simile con Raspbian GNU / Linux 10 (buster). Ho apportato modifiche in wpa_supplicant.conf ed eseguo

# wpa_cli -i wlan0 reconfigure

Ma non ha funzionato fino in fondo.

# dhclient -v

l'ha fatto funzionare.

Ho trovato informazioni su https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhclient

Uscita da

$ sudo dhclient -v
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/a0:f3:c1:26:04:9c
Sending on   LPF/wlan0/a0:f3:c1:26:04:9c
Listening on LPF/eth0/b8:27:eb:1f:ab:6e
Sending on   LPF/eth0/b8:27:eb:1f:ab:6e
Sending on   Socket/fallback
DHCPREQUEST for 192.168.7.28 on wlan0 to 255.255.255.255 port 67
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPACK of 192.168.7.28 from 192.168.7.1
RTNETLINK answers: File exists
bound to 192.168.7.28 -- renewal in 1717 seconds.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.