Здравствуйте, есть скрытая WiFi-сеть, есть ubuntu 16.04.
Имеется проблема: после того, как ноутбук просыпается, NM не подключается к скрытой сети автоматически.
Нагуглил костыль, который пинает NetworkManager, вот мой слегка изменённый вариант:
#!/bin/bash
export LC_ALL="C"
LOGFILE="/home/knovich/misc/wifilog"
MSG=
echo $(date)' kicking...' >>$LOGFILE
sleep 10
MSG="$(nmcli -t -f STATE general)"
echo $(date)' '$MSG >>$LOGFILE
if [ $MSG == 'asleep' ]
then
echo $(date)' NM is asleep, waiting 5 sec' >>$LOGFILE
sleep 5
fi
MSG="$(nmcli -t -f WIFI,STATE general)"
echo $(date)' '$MSG >>$LOGFILE
case $MSG in
'enabled:disconnected')
nmcli con up id Keenetic-3188
echo $(date)' Kicked!'>> $LOGFILE;;
'enabled:connected')
echo $(date)' No need to kick!'>> $LOGFILE;;
'enabled:connecting')
echo $(date)' Someone just kicked!'>> $LOGFILE;;
*)
echo $(date)' PANIC'>> $LOGFILE;;
esac
exit 0
Теперь, если запустить такой костыль вручную, то в моём логе появятся следующие сообщения:
Sat Feb 25 12:29:46 MSK 2017 kicking...
Sat Feb 25 12:29:47 MSK 2017 disconnected
Sat Feb 25 12:29:47 MSK 2017 enabled:disconnected
Sat Feb 25 12:29:51 MSK 2017 Kicked!
Однако, если вызывать этот скрипт средствами systemd (помещаю дополнительную вызывалку в /lib/systemd/system-sleep/), то вывод будет такой:
Sat Feb 25 12:32:43 MSK 2017 asleep
Sat Feb 25 12:32:43 MSK 2017 NM is asleep, waiting 5 sec
Sat Feb 25 12:32:48 MSK 2017 enabled:asleep
Sat Feb 25 12:32:48 MSK 2017 PANIC
Но при этом подключение всё равно восстановится! Как так?