Pular para o conteúdo

Serviço de conexão 3G - Debian

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.
Emerson Esteves enssso
Hits: 10.135 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download ppp-service Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Versões atualizadas deste script

Emerson Esteves

Versão 2 enviada 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'.

Download ppp-service.tar.gz

Emerson Esteves

Versão 3 enviada 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).

Download ppp-serviced.tar.gz

Esconder código-fonte

#! /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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Busca de arquivos nas ports FreeBSD

Cadastrar usuario Squid

Fazer backup de todas base de dados no PostgreSQL

Script de backup

Teste de desempenho com números primos em BASH

#1 Comentário enviado por fernandosouza em 15/10/2012 - 16:41h
Veja meu script para modem 3g usado no KPPP , wvdial e gnome-ppp
#2 Comentário enviado por enssso em 16/10/2012 - 09:22h
fernando valeu pelo script.

Hoje eu não tenho usado mais essa solução que postei porque o discador do Network-manager no kde evoluiu muito e a qualidade do meu 3G também. O meu programa faz diferença quando a qualidade da conexão está muito ruim.

Contribuir com comentário

Entre na sua conta para comentar.