Автоподключение и восстановление мобильного интернета в Линукс
- 11.05.15, 21:17
Так увлекся изучением Линукса, консольных комманд и идеей фикс "как автоматом подключать мобильный интернет и восстанавливать при разрыве связи", что вообще забыл обо всем. Живу возл компа уже вторую неделю, а особенно послених несколько дней.
Из-за этого вчера забыл выпить одну важную таблу и сегодня полдня был почти обездвижен и весьма криклив междометиями. Особенно при попытке двинуться глобально или чем-то, но серьезно.
По комнате ходил без палки, но с трудом и стонами. А мозги продолжали работать.
Как-же запустить этот проклятый скрипт, как его обрабатывает bash и и что вообще вся эта херня значит.
И победил. Сам разобрался в синтаксисе "If…then…else…fi " bash, сам разобрался с тем, как как использовать grep и что означает $? (возвращает, если выражаться по ДОСовски, errorlevel)
Короче, я полностью сам переписал скрипт, сумел настроить его автозапуск и теперь у меня единственного есть рецепт, как запускать автоматом CDMA модем автоматически при старте Линукса. А также восстанавливать потерянное подключение.
Две почти недели корпел над решением проблемы. И решил.
Скрипт простой
****
NAME="mobile-broadband-connect"
DESC="Autoconnect 3G/4G USB modem at startup"
test -x $DAEMON || exit 0
case "$1" in
start)
echo "[MBC] *** Попытка мобильного соединения"
while true; do
nmcli -t -f TYPE,STATE dev | grep "^cdma:отключен"
if [ $? -eq 0 ]; then
echo "[MBC] cdma Modem Detected - попытка восстановить"
nmcli -t con up id MTCmodem
echo "[MBC] cdma Modem connecting ....."
echo "[MBC] Успешно... паузаr 30sec"
sleep 30
else
echo "[MBC] MBC работает - будем спать 10 sec ....."
sleep 10
fi
done
;;
stop)
echo "[MBC] остановка соединения"
nmcli -t nm wwan off
;;
status)
nmcli -p dev
;;
*)
echo "[MBC] Установка мобильного интернета Service"
echo $"Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
***
MTCmodem в скрипте нужно заменить на реальное имя вашего соединения, а идентификацию модема (^gsm или ^cdma исправить под вашу ситуёвину). Потом этот скрипт нужно скопировать его в папку /etc/init.d под любым именем (у меня /etc/init.d/mobile-broadband-connect ). Для этого нужны права root (можно использовать sudo gedit /etc/init.d/имя файла) и установить ему аттрибуты, как для выполняемого. Это можно сделать примерно так (sudo chmod +x /etc/init.d/имя файла)
И потом добавить в автозагрузку обычным путем этот скрипт, указав в качестве аргумента "/etc/init.d/имя файла start"
Вуаля. Тут много нюансов, в которые я вникал почти две недели, но если хоть кому-то поможет, то буду рад.
9
Коментарі
анонім
111.05.15, 21:23
синенькая картинка симпатичная, цвета приятные
йо-майо
211.05.15, 21:39
хочу расстроить, не единственный http://www.umgum.com/linux-ztemf180-nokia3110c-internet-autoconnect ну и в нете есть еще тонна мануалов и скриптов на эту тему.
Merovingian
311.05.15, 21:40
а на вінду печерну щось подібне можете написати для Лайфівського модему?)
Гість: Туго_Входит
411.05.15, 21:43Відповідь на 1 від анонім
и контрастность
WILD_EAST
511.05.15, 22:26
скора допа станед хакерам
Хармс
611.05.15, 22:49
Изращенец.. ты Вебкамеру уже подключил.. Тама есть одна особенность.. рекомендуют подключать камеру только при уже установленной и запущенной системе - та сама распознает.. какая вебка к ней подключилась.. даже без перезагрузки..
Гість: Українець_
712.05.15, 00:04
Док, твої пости розвивають в мені комплекс неповноцінності(жартую), бо Лінуксі я шурупаю десь, як в китайській мові.
А взагалі, добре, що є люди котрі не зупиняються на досягнутому, власне на них і тримається світ
Гість: Стази
812.05.15, 01:19Відповідь на 5 від WILD_EAST
и заработает кучу денжищ
Atman
912.05.15, 07:07
Linux
WILD_EAST
1012.05.15, 19:16Відповідь на 8 від Гість: Стази
и ащасливица?