Serviço de conexão 3G - Debian
Publicado por Emerson Esteves 18/04/2009 (última atualização em 13/07/2011)
[ Hits: 10.110 ]
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
pptd - Simples daemon para controle de conexões pptp.
Cadastro Regras de Controle de Banda - CBQ
Instalação completa de servidor de e-mail
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









