micropython / micropython/micropython-lib
Connecting to the same WiFi access point with an incorrect password succeeds, after successfully connecting and disconnecting with a valid password.
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 2.9k
- Fork
- 1.1k
- Merge medio
- 7g 6h
- PR unite (30g)
- 3
Descrizione
Pi Pico W 2 running: 1.25.0-preview
Do something like this:
class WC():
def __init__(self):
self._wlan: network.WLAN = network.WLAN(network.STA_IF) # WiFi client
def connect(self, ssid: str, pwd: str) -> bool:
i: int = 10
self._wlan.connect(ssid, pwd)
while i > 0 and self._wlan.status() == network.STAT_CONNECTING:
i -= 1
time.sleep(1)
if self._wlan.status() == network.STAT_GOT_IP or self._wlan.status() == 2:
self._ssid = ssid
self._pwd = pwd
return True
elif self._wlan.status() == network.STAT_CONNECTING:
log.info('Still connecting, try later’)
elif self._wlan.status() == network.STAT_IDLE:
log.info('Network idle’)
elif self._wlan.status() == network.STAT_WRONG_PASSWORD:
log.info('Connection failed. Check password’)
elif self._wlan.status() == network.STAT_NO_AP_FOUND:
log.info('Connection failed. Check ssid’)
elif self._wlan.status() == network.STAT_CONNECT_FAIL:
log.info('Connection failed %s.', self._wlan.status())
else:
log.info('Unknown Status: %s', self._wlan.status())
return False
def disconnect(self) -> boot:
self._wlan.disconnect()
time.sleep(2)
wc = WC()
wc.connect(‘ssid’, ‘goodpwd’) # Succeeds
wc.disconnect()
wc.connect(‘ssid’, ‘badpwd’) # Succeeds - NO!
Do I need to reinitialize the WLAN in the disconnect and drop the ip address - somehow?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con la riproduzione fornita di network.WLAN su un Pi Pico W 2 con MicroPython 1.25.0-preview, concentrandoti sulla sequenza di connessione/disconnessione e sui valori di stato. Conferma che una connessione valida seguita dalla disconnessione consente a una password errata di essere segnalata come riuscita, quindi identifica lo stato WLAN che deve essere reimpostato affinché il tentativo con la password errata fallisca.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- embedded-iot, networking
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100