diff options
Diffstat (limited to 'examples/dispatcher/70-wifi-wired-exclusive.sh')
-rwxr-xr-x | examples/dispatcher/70-wifi-wired-exclusive.sh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/dispatcher/70-wifi-wired-exclusive.sh b/examples/dispatcher/70-wifi-wired-exclusive.sh new file mode 100755 index 000000000..501f159ef --- /dev/null +++ b/examples/dispatcher/70-wifi-wired-exclusive.sh @@ -0,0 +1,26 @@ +#!/bin/bash +export LC_ALL=C + +# This dispatcher script makes WiFi mutually exclusive with +# wired networking. When a wired interface is connected, +# WiFi will be set to airplane mode (rfkilled). When the wired +# interface is disconnected, WiFi will be turned back on. + +enable_disable_wifi () +{ + result=$(nmcli dev | grep "802-3-ethernet" | grep -w "connected") + if [ -n "$result" ]; then + nmcli nm wifi off + else + nmcli nm wifi on + fi +} + +if [ "$2" = "up" ]; then + enable_disable_wifi +fi + +if [ "$2" = "down" ]; then + enable_disable_wifi +fi + |