I have run into a slight issue when I have been configuring devices (Pi Zero Ws, but that's probably not relevant) though the captive portal interface through iOS. I think it could be an issue with other devices, but I haven't checked.
The scenario is as follows:
Set the SSID and password for Wifi
Choose "Apply configuration"
Usually the page telling me to wait 15 to 30 seconds is shown
My iOS device reconnects to my own network, the captive portal page disappears, and the Pi Zero is connected to the network(*) - all good
Ten minutes later the Pi Zero connection is dropped, and rebooting does not help.
The issue is caused by the following:
VintageNetWizard.BackendServer.handle_info/3 receives an event notifying of the connection status being changed. If the status is good then the configurations are cleared
On shutdown, VintageNetWizard.BackendServer.complete/0 is called. The cleared configuration is applied so the connection is dropped and the details forgotten by VintageNet.Persistence.
VintageNetWizard.WatchDog stops the wizard, after 10 minutes of no activity.
This PR makes the VintageNetWizard.BackendServer.complete/0 a no-op if the configuration has already successfully
been applied, preventing the details being over-ridden on shutting down the wizard.
(*) I find it often take two goes applying the configuration before I can connect, but that is not a huge problem and not the subject of this PR. I do see the following message though:
[debug] wpa_supplicant(wlan0): Could not connect to kernel driver
Thanks for VintageNetWizard. It is so useful!
I have run into a slight issue when I have been configuring devices (Pi Zero Ws, but that's probably not relevant) though the captive portal interface through iOS. I think it could be an issue with other devices, but I haven't checked.
The scenario is as follows:
The issue is caused by the following:
VintageNetWizard.BackendServer.handle_info/3
receives an event notifying of the connection status being changed. If the status is good then the configurations are clearedVintageNetWizard.BackendServer.complete/0
is called. The cleared configuration is applied so the connection is dropped and the details forgotten byVintageNet.Persistence
.VintageNetWizard.WatchDog
stops the wizard, after 10 minutes of no activity.This PR makes the
VintageNetWizard.BackendServer.complete/0
a no-op if the configuration has already successfully been applied, preventing the details being over-ridden on shutting down the wizard.(*) I find it often take two goes applying the configuration before I can connect, but that is not a huge problem and not the subject of this PR. I do see the following message though: