Script pppd connect.sh

From campisano.org
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