I’ve been annoyed recently by MacOS not automatically reconnecting to WiFi when
our router is restarted. This is slightly annoying when it’s my laptop, but it’s
really annoying when it’s the Mac Mini, because I have to grab a keyboard and
manually reconnect. I decided that I should automate this away, and after some
searching I found networksetup. I wrapped that with a small tool that checks
connectivity using ping and runs networksetup if ping fails; I run the
tool from cron every 10 minutes, so even if something fails it’ll be retried
pretty soon (though if it failed once it’s likely to fail again if nothing has
changed). You need to figure out the network interface to consider by running
networksetup -listnetworkserviceorder and looking for the WiFi interface.
The complexity has grown as I work around temporary blips in network connectivity, see the full code at https://github.com/tobinjt/bin/blob/master/reconnect-wifi