Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Install where you want to run it from, in this example my username is edison and the location is: /home/edison/src/edison_wifi

cd ~/src

git clone

cd edison_wifi

chmod +x (or whatever You may need to modify line 39 of to your location if different than /home/edison/src/edison_wifi Add to crontab using sudo crontab -e

Run Every 5 mins - Seems like ever min is over kill unless this is a very common problem. If once a min change */5 to * once every 2 mins */5 to */2 ...
Add the following line to cron:

*/5 * * * * cd /home/edison/src/edison_wifi/ && ./ #(change directories to wherever you store

The following line is helpful in not having to enter your password to run commands:

sudo visudo and append "edison ALL=(ALL) NOPASSWD: ALL" at the end without quotes

This final crontab (not sure it works very well) script is meant to automatically switch your pi/edison over to your home network (preferred network) if available. It isn't very reliable, but I'm keeping it in for now in case someone can figure out how to make it work more reliably.

You will need to run the following as sudo crontab -e REMOTE_HOST="" # will be used to test network connectivity YOUR_HOME_NETWORK=ssid_name

*/15 * * * * ( (wpa_cli status | grep $YOUR_HOME_NETWORK > /dev/null && echo already on $YOUR_HOME_NETWORK) || (wpa_cli scan > /dev/null && wpa_cli scan_results | egrep $YOUR_HOME_NETWORK > /dev/null && wpa_cli select_network $(wpa_cli list_networks | grep $YOUR_HOME_NETWORK | cut -f 1) && echo switched to $YOUR_HOME_NETWORK && sleep 15 && (for i in $(wpa_cli list_networks | grep DISABLED | cut -f 1); do wpa_cli enable_network $i > /dev/null; done) && echo and re-enabled other networks) ) 2>&1 | logger -t wifi-select

You can’t perform that action at this time.