diff --git a/README.md b/README.md index 06678d7..983edcd 100644 --- a/README.md +++ b/README.md @@ -106,9 +106,9 @@ Steps to use it as sink: 1. shutdown wpa_supplicant and NetworkManager $ sudo kill -9 $(ps -ef | grep wpa_supplican[t] | awk '{print $2}') - # now you can use `res/kill-wpa.sh` + # you can use `miracle-stop-network-manager` for a standard way to stop it - >Remember to save your config to use with `res/normal-wifi.sh` + >Remember to save your config to use with `miracle-start-network-manager` >it will be easily located with `ps -ef | grep wpa_supplicant` on `-c` option. 2. launch wifi daemon diff --git a/res/CMakeLists.txt b/res/CMakeLists.txt index 4cb3f19..8095846 100644 --- a/res/CMakeLists.txt +++ b/res/CMakeLists.txt @@ -2,7 +2,7 @@ ########### install files ############### install( - PROGRAMS miracle-gst gstplayer uibc-viewer + PROGRAMS miracle-gst gstplayer uibc-viewer miracle-stop-network-manager miracle-utils.sh miracle-start-network-manager DESTINATION bin ) diff --git a/res/Makefile.am b/res/Makefile.am index b51bdbc..065e205 100644 --- a/res/Makefile.am +++ b/res/Makefile.am @@ -1,4 +1,4 @@ -bin_SCRIPTS = miracle-gst gstplayer uibc-viewer +bin_SCRIPTS = miracle-gst gstplayer uibc-viewer miracle-stop-network-manager miracle-utils.sh miracle-start-network-manager EXTRA_DIST = wpa.conf dbuspolicydir=$(sysconfdir)/dbus-1/system.d diff --git a/res/normal-wifi.sh b/res/miracle-start-network-manager similarity index 72% rename from res/normal-wifi.sh rename to res/miracle-start-network-manager index 1e03201..8b8f4e5 100755 --- a/res/normal-wifi.sh +++ b/res/miracle-start-network-manager @@ -1,9 +1,18 @@ #!/bin/bash -./kill-wpa.sh +miracle-stop-network-manager . miracle-utils.sh +echo starting wpa_supplicant for normal connection +start_network_manager + +exit 0 + +# --- +# Nothing of the code below is needed to restart wireless anymore on systemd, tweak it for distros based +# on service or other system admin daemon. + ETHER_NAMES=$(find_choosable_networknames) ETHER_COUNT=$(echo "$ETHER_NAMES" | wc -l) @@ -45,13 +54,5 @@ fi # default path for config file CONFIG_FILE=${1:-/run/network/wpa_supplicant_${ETHERNAME}.conf} - -echo starting wpa_supplicant for normal connection -if check_ubuntu_distro || check_debian_distro -then - start_ubuntu_network_manager - sudo wpa_supplicant -B -u -s -O /var/run/wpa_supplicant -else - sudo wpa_supplicant -B -u -P /run/wpa_supplicant_${ETHERNAME}pid -i ${ETHERNAME} -D nl80211 -c$CONFIG_FILE -fi +sudo wpa_supplicant -B -u -P /run/wpa_supplicant_${ETHERNAME}pid -i ${ETHERNAME} -D nl80211 -c$CONFIG_FILE diff --git a/res/kill-wpa.sh b/res/miracle-stop-network-manager similarity index 90% rename from res/kill-wpa.sh rename to res/miracle-stop-network-manager index e210b8f..c1fe985 100755 --- a/res/kill-wpa.sh +++ b/res/miracle-stop-network-manager @@ -2,7 +2,7 @@ . miracle-utils.sh -kill_ubuntu_network_manager +stop_network_manager WPA_PID=$(find_wpa_supplicant_pid) if [ -n "$WPA_PID" ] diff --git a/res/miracle-utils.sh b/res/miracle-utils.sh index e938055..35f6515 100755 --- a/res/miracle-utils.sh +++ b/res/miracle-utils.sh @@ -107,12 +107,14 @@ function find_wpa_supplicant_pid { function check_archlinux_distro { test -f "/etc/arch-release" } + # # checking if distro is ubuntu # function check_ubuntu_distro { cat /proc/version | grep -i ubuntu } + # # checking if distro is debian # @@ -121,45 +123,76 @@ function check_debian_distro { } # -# ubuntu manager restarts automatically wpa_supplicant +# checking if ubuntu use service # -function kill_ubuntu_network_manager { - if check_ubuntu_distro || check_debian_distro +function ubuntu_using_systemd { + test $( lsb_release -r | awk '{print $2}' | cut -d . -f 1 ) -ge 15 +} + +# +# checking if debian use service +# +function debian_using_systemd { + test $( lsb_release -r | awk '{print $2}' | cut -d . -f 1 ) -ge 8 +} + +# +# Stop network manager +# +function stop_network_manager { + stop_service_network_manager + stop_systemd_network_manager +} + +# +# stop Network manager from service +# +function stop_service_network_manager { + if ( check_ubuntu_distro && ! ubuntu_using_systemd ) || ( check_debian_distro && ! debian_using_systemd ) then - echo stopping NetworkManager + echo stopping NetworkManager using service sudo service NetworkManager stop fi } # -# arch linux manager restarts automatically wpa_supplicant +# stop Network manager from systemd # -function kill_archlinux_network_manager { - if check_ubuntu_distro +function stop_systemd_network_manager { + if check_arch_linux_distro || ( check_ubuntu_distro && ubuntu_using_systemd ) || ( check_debian_distro && debian_using_systemd ) then - echo stopping NetworkManager + echo stopping NetworkManager using systemctl sudo systemctl stop Network.service fi } # -# start ubuntu manager # -function start_ubuntu_network_manager { - if check_ubuntu_distro || check_debian_distro +# +function start_network_manager { + start_service_network_manager + start_systemd_network_manager +} + +# +# start Network manager with service +# +function start_service_network_manager { + if ( check_ubuntu_distro && ! ubuntu_using_systemd ) || ( check_debian_distro && ! debian_using_systemd ) then - echo starting NetworkManager + echo starting NetworkManager with service sudo service NetworkManager start + sudo wpa_supplicant -B -u -s -O /var/run/wpa_supplicant fi } # -# start arch linux manager +# start Network manager with systemd # -function start_archlinux_network_manager { - if check_archlinux_distro +function start_systemd_network_manager { + if check_arch_linux_distro || ( check_ubuntu_distro && ubuntu_using_systemd ) || ( check_debian_distro && debian_using_systemd ) then echo starting NetworkManager - sudo systemctl start Network.service + sudo systemctl start NetworkManager fi }