#!/bin/bash port="/dev/ttyUSB0" # порт модема apn="AT+CGDCONT=1,\"IP\",\"inet.bwc.ru\"" # строка инициализации number="*99***1" # номер дозвона user="" password="" if [[ "$1" = "create" ]] then ROOT_UID=0 if [ "$UID" -eq "$ROOT_UID" ] # Характер устойчивый - нордический, в порочащих себя связях, замечен не был: истинный root then echo else echo "Запускать нужно с sudo" echo exit 1 fi echo "Используется порт: $port" echo "APN: $apn" echo "Номер дозвона: $number" echo "Имя пользователя: $user" echo "Пароль: $password" if [ -e "$port" ] then echo "connect \"/usr/sbin/chat -v -f /etc/chatscripts/myconnect\"" 1> /etc/ppp/peers/myconnect echo "defaultroute" 1>> /etc/ppp/peers/myconnect echo "noauth" 1>> /etc/ppp/peers/myconnect echo "lock" 1>> /etc/ppp/peers/myconnect echo "debug" 1>> /etc/ppp/peers/myconnect echo "$port" 1>> /etc/ppp/peers/myconnect echo "115200" 1>> /etc/ppp/peers/myconnect echo "novjccomp" 1>> /etc/ppp/peers/myconnect echo "nopcomp" 1>> /etc/ppp/peers/myconnect echo "noaccomp" 1>> /etc/ppp/peers/myconnect echo "nodeflate" 1>> /etc/ppp/peers/myconnect echo "novj" 1>> /etc/ppp/peers/myconnect echo "nobsdcomp" 1>> /etc/ppp/peers/myconnect echo "ipcp-accept-local" 1>> /etc/ppp/peers/myconnect echo "ipcp-accept-remote" 1>> /etc/ppp/peers/myconnect echo "usepeerdns" 1>> /etc/ppp/peers/myconnect echo "user \"$user\"" 1>> /etc/ppp/peers/myconnect echo "Записан файл /etc/ppp/peers/myconnect" ls -l /etc/ppp/peers/myconnect echo "REPORT CONNECT" 1> /etc/chatscripts/myconnect echo "ABORT BUSY" 1>> /etc/chatscripts/myconnect echo "ABORT VOICE" 1>> /etc/chatscripts/myconnect echo "ABORT \"NO CARRIER\"" 1>> /etc/chatscripts/myconnect echo "ABORT \"NO DIALTONE\"" 1>> /etc/chatscripts/myconnect echo "ABORT \"NO DIAL TONE\"" 1>> /etc/chatscripts/myconnect echo "\"\" ATZ" 1>> /etc/chatscripts/myconnect echo "OK \"$apn\"" 1>> /etc/chatscripts/myconnect echo "OK ATDT$number" 1>> /etc/chatscripts/myconnect echo "TIMEOUT 2" 1>> /etc/chatscripts/myconnect echo "CONNECT \"\"" 1>> /etc/chatscripts/myconnect echo "Записан файл /etc/chatscripts/myconnect" ls -l /etc/chatscripts/myconnect net_name="ppp0"; st=`cat /proc/net/dev | grep "$net_name"`; if [ "$st" ] then echo "Уже есть интернетка"; echo "`ifconfig $net_name`"; exit; fi for (( i=1; i<6; i++)) do echo "Попытка соединения №$i" pppd call myconnect; sleep 10; st=`cat /proc/net/dev | grep "$net_name"`; if [ "$st" ] then echo "Подключилося"; echo "`ifconfig $net_name`"; exit 0; else echo "не получилось что-то"; killall pppd &> /dev/null; fi done cat /var/log/syslog | egrep "chat|pppd" | tail -n 160 echo "Подключение не удалось, логи выше..." else echo "Устройства $port нету!" fi else net_name="ppp0"; st=`cat /proc/net/dev | grep "$net_name"`; if [ "$st" ] then echo "Уже есть интернетка"; exit; fi for (( i=1; i<6; i++)) do echo "Попытка соединения №$i" pppd call myconnect; sleep 10; st=`cat /proc/net/dev | grep "$net_name"`; if [ "$st" ] then echo "Подключилося"; echo "`ifconfig $net_name`"; exit 0; else echo "не получилось что-то"; killall pppd &> /dev/null; fi done cat /var/log/syslog | egrep "chat|pppd" | tail -n 160 echo "Подключение не удалось, логи выше..." fi