I have managed to reproduce these steps several times and so I'm documenting it. The trick as far as I can tell is that when you visit the spinning wifi-setup screen while you run the wifisetup steps in a ssh terminal window, it somehow manages to persist the changes correctly.
If you run into a changing WiFi issue... try this.
Power on your Onion Omega +2.
On your computer or laptop - switch your wireless connection to your device omega-####.local where #### represents the last four numbers of MAC address.
Once you are connected, you should be able to SSH onto the device:
Now you want to switch to a web browser at this time and open the following address:
You will be presented with a login, go ahead and login.
On the web-browser console, open "Settings" and then click on "WiFi-Settings", you will get the usual spinning circle (as described on this thread above).
While this is spinning, switch back to the SSH terminal and type
Follow instruction and pick the correct WiFi you want.
8. At the end, it will say "> Restarting wifimanager for changes to take effect".
9. Reconnect on your computer or laptop WiFi back to "omega-####.local" device.
10. SSH in if you're disconnected. If you use a keep-alive, you will be reconnected on the SSH terminal.
11. On the SSH terminal, issue the following command:
ifconfig | grep "inet addr"
This will display all the IP's used by your various devices on your network. You should an additional one like this.
inet addr:10.11.12.186 Bcast:10.11.12.255 Mask:255.255.255.0
inet addr:192.168.3.1 Bcast:192.168.3.255 Mask:255.255.255.0
inet addr:127.0.0.1 Mask:255.0.0.0
In this example, 10.11.12.186 is the IP under which my Onion connected with the local WiFi router.
12. At this point, you can safely switch your laptop or computer WiFi to your router and you should be able to "ping omega-####.local" on the network.
Rebooting your Onion Omega should promptly reconnect to the WiFi without any snag.
If this works for you please visit my blog at https://mythinkpond.com/ and subscribe!