Serviço de conexão 3G - Debian
Publicado por Emerson Esteves 18/04/2009 (última atualização em 13/07/2011)
[ Hits: 10.013 ]
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
Controlando bloqueios de máquinas com squid.conf
Controlando Fan Nagios no dialog
Baixar pdf do "slide share" sem login usando shell script
Apagando 2 linhas do fim de um arquivo
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (4)
Conky, alerta de temperatura alta (11)









