Serviço de conexão 3G - Debian
Publicado por Emerson Esteves 18/04/2009 (última atualização em 13/07/2011)
[ Hits: 9.948 ]
Download ppp-service.tar.gz (versão 2)
Download ppp-serviced.tar.gz (versão 3)
Download ppp-service.0.3.tar.gz (versão 4)
Script para conectar automaticamente seu modem 3G na inicialização do Debian (acho que deve funcionar em outras distros).
Pré-requisito : o modem 3G já deve estar configurado com o ppp. Para isso veja: http://christiano.blog.br/2008/07/06/instalando-modem-zte-mf622-claro-3g-no-ubuntu/.
Se o seu modem não for o zte-mf622, pesquise no Google como configurá-lo, existem instruções para os mais variados modems.
Versão 2 - Enviado por Emerson Esteves em 01/04/2010
Changelog: O script foi modificado para funcionar com um programa escrito em C. Esse script passou a ser um script de serviço.
O programa é que tenta manter a conexão continuamente ativa e verifica a qualidade da conexão, se tiver ruim é refeita.
Hoje está funcionando em um Kubuntu (mas deve funcionar nos *Ubuntu e talvez no Debian).
Não deixe de ler o arquivo 'leiame.txt'.
Versão 3 - Enviado por Emerson Esteves em 20/12/2010
Changelog: BUG: Quando o serviço está testando a taxa de transferência como indicador de qualidade da conexão e a qualidade cai, o programa deveria passar o teste para qualidade via ping, ao invés a conexão é refeita.
CORREÇÃO: O serviço passa a testar a conexão via ping quando a taxa de transferência cai, assim a conexão só é refeita quando o teste do ping e da taxa estão ruins.
Hoje estou usando o serviço em um modem Huawei e1756 e já usei também com o Huawei e156. Configurado da mesma forma que o ZTE (vide link do primeiro comentário).
Versão 4 - Enviado por Emerson Esteves em 06/01/2011
Changelog: Corrreção de bug, quando alterna a verificação de qualidade da taxa de transferência para ping.
Download ppp-service.0.3.tar.gz
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="3G Service"
NAMESTART=pon
NAMESTOP=poff
PATHTO=/usr/bin/
OPTION=""
unset TMPDIR
test -f $DAEMON || exit 0
set -e
. /lib/lsb/init-functions
# Get the timezone set.
if [ -z "$TZ" -a -e /etc/timezone ]; then
TZ=`cat /etc/timezone`
export TZ
fi
case "$1" in
start)
log_begin_msg "Starting $DESC: $NAMESTART"
/usr/bin/pon
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $DESC: $NAMESTOP"
/usr/bin/poff -a
log_end_msg $?
;;
restart)
log_begin_msg "Restarting $DESC"
log_end_msg $?
$0 stop
sleep 10
$0 start
;;
status)
PIDRUN=`pidof pppd | wc -c`
echo -n "Status of $DESC: "
if [ "$PIDRUN" != "0" ]; then
echo "$NAME is running."
exit 0
else
echo "$NAME is not running."
exit 1
fi
;;
conectNow) # tenta conectar ate conseguir
PIDRUN=`pidof pppd | wc -c`
if [ "$PIDRUN" != "0" ]; then
$0 restart
else
$0 start
fi
tail -f /var/log/messages | while read lin ; do {
#echo "$lin";
if ! eval "echo \"$lin\" | grep pppd 1>/dev/null"; then continue; fi
#echo ">>>>$lin";
conectou=`echo "$lin" | grep -e 'remote IP' | wc -l | sed -e 's/ //g'`;
naoConectou=`echo "$lin" | grep -e 'Connection terminated' | wc -l | sed -e 's/ //g'`;
if [ "$naoConectou" != "0" ]; then
$0 restart;
else if [ "$conectou" != "0" ]; then
killall `basename $0` 1>/dev/null;
fi fi
} ; done
;;
*)
N=/etc/init.d/${0##*/}
echo "Usage: $N {start|stop|restart|status|conectNow}" >&2
exit 1
;;
esac
exit 0
Liberar cliente SSH no firewall
Plugin do Nagios em Shell Script
Configurando um Domínio no BIND9 com Debian 3.1
Jftp Script - Script para automação de um processo FTP
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (1)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









