Script pppd connect.sh
Jump to navigation
Jump to search
#!/bin/bash
PATH="$PATH:/usr/local/sbin:/usr/sbin"
if [ "$#" != 3 ]; then
echo "Usage $0 <phone_number> <id> <pass>";
exit
fi;
# Vars:
TELEFONO="$1"
LOGIN="$2"
PASSWORD="$3"
if [ "$PASSWORD" != "" ]; then
PASS_STRING="password $PASSWORD";
else
PASS_STRING="";
fi;
if `/sbin/ifconfig | grep "ppp0" > /dev/null`
then
# Esiste già una connessione con «ppp0», quindi non si può
# procedere (si interrompe lo script).
echo "È già attiva una connessione con ppp0"
exit 1
fi
# Viene attivato pppd con l'aiuto di chat.
# In particolare, chat esegue le operazioni seguenti:
#
# - imposta il tempo di attesa massimo a 5 secondi per le prime operazioni
# - imposta il report della stringa di connessione dell'isp
# - interrompe in caso di messaggi di errore
# AT attende che il modem sia pronto e risponda OK
# ATZ Resets modem at default profile
# ATL1 volume altoparlante basso
# AT\&A3 Protocol indicators additional result code
# AT\&B1 Fixed modem's serial port rate (REQUESTED!)
# AT\&H2 Software flow control on Trasmit Data
# AT\&I1 Software XON/XOFF to your modem and remote system on Receive Data
# AT\&K1 Data compression Auto enable/disable
# AT\&M4 Sets Error Control mode at Normal/ARQ
# AT\&R2 Received Data hardware flow control to computer only on RTS
# - cambia il tempo massimo di attesa a 45 secondi in attesa di CONNECT
# ATDT composizione del numero telefonico
# - cambia il tempo massimo di attesa a 90 secondi per definire la connessione
# - attende CONNECT e quindi invia un ritorno a carrello
# AT\&F richiede il prelievo della configurazione di fabbrica del modem
# ATX3 Disabilita rilevamento segnale di selezione
# ATS7=3 tempo di attesa del segnale di selezione prima di riagganciare
# ATS37=17 Velocità linea selezione (dati in uscita) 28800bps
# OK ATX3 \
# OK ATS7=3 \
# OK ATS37=17 \
# '' AT \
# OK AT\&F \
# OK ATL1 \
# OK ATM1L1 \
# OK-+++\c-OK ATH0 \
/usr/sbin/pppd connect "/usr/sbin/chat \
TIMEOUT 5 \
REPORT CONNECT \
ABORT BUSY \
ABORT ERROR \
ABORT 'NO CARRIER' \
ABORT 'NO DIALTONE' \
ABORT 'NO DIAL TONE' \
ABORT 'NO ANSWER' \
ABORT DELAYED \
ABORT 'BLACKLISTED' \
'' ATZ \
OK-+++\c-OK ATH0 \
OK ATDT$TELEFONO \
TIMEOUT 60 \
CONNECT \d\c" \
login user $LOGIN $PASS_STRING;
# End