Serviço de conexão 3G - Debian
Publicado por Emerson Esteves 18/04/2009 (última atualização em 13/07/2011)
[ Hits: 9.961 ]
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
Avisos de segurança do espaço em uso!
Automatizando a instalação do BLAS/LAPACK no Linux
Firewall simples, com opções de redirecionamento
mkzeowmp - zeo mount point para PZP (python, zope e plone)
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









