When I connect an Ethernet cable to my MacBook, WiFi is automatically disabled. When I disconnect the Ethernet cable, WiFi is enabled again. This not standard behaviour. It seems like magic. so how did I do it?
Brett Terpstra recently posted a tip on how to turn a Mac’s WiFi on and off from the shell. I remembered that Keyboard Maestro recently added functionality to allow the triggering of a script when a volume was mounted or unmounted.
Well, what does a volume mount have to do with an ethernet cable connection? I only “dock” my MacBook to a USB extender, power and Ethernet. Whenever I plug in the USB extender, my media and backup drives become available. Sometimes I might disconnect my backup drive, but whenever I’m “docked”, my media drive entitled amazingly enough, “Media” is always connected.
So I set up a Volume mounted trigger on “Media” and this executed the following shell script, taken straight from Terpstra’s article:
networksetup -setairportpower en0 off
And I set up a corresponding shell script trigger for when “Media” is unmounted as follows:
networksetup -setairportpower en0 on
Voilà! I no longer have to manually turn WiFi off to take advantage of lightning fast Ethernet speeds when I’m plugged into my BT Infinity 2 router over the Gigabit Ethernet, and I no longer have to remember to enable WiFi when I unplug.