Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Script para MODEM ALCATEL

Colaboração: Diego Almeida

Data de Publicação: 11 de Junho de 2004

Desenvolvi os script abaixos num momento de desespero que estava passando na empresa em que trabalho, na qual o ADSL vivia caindo, porém as quedas as vezes só eram superadas quando o modem fosse desligado e ligado novamente. Enquanto eu estivesse dentro da empresa não havia problema porém nos finais de semana isso também chegou a acontecer.. e então precisava de uma coisa que testasse a conexão (resolvi fazer isso usando o ping e perl). Se houvesse falha na conexão, realizasse o reset tanto do pptp quanto do modem (usando o expect e uma dica passada aqui mesmo a um tempo atrás).

Segue então os script para isso, com certeza não esta organizado e a lógica dele poderia ser melhorada , então esse é um serviço pra quem estiver com um tempinho disponível!

net.pl (Testa e caso houver necessidade, reinicia. Ajuste o path para o reset)

  #!/usr/bin/perl -w
  #SCRIPT PARA RECONECTAR MODEM ALCATEL STP
  #Melhore ele a vontade!
  #Desenvolvido as pressas em 20/05/2004 por DiegoAlmeida :D
  
  #Efetua um ping no DNS principal do terra
  $ping1 = ``fping -r 1 200.176.2.10``;
  $ping1aa = substr("$ping1",-6); 
  $ping1aa = "G $ping1aa";
  if ("$ping1aa" eq "G alive\n"){
  exit(0);
  }
  #Se responder sai agora mesmo , caso contrário tenta ver se consegue chegar
  #até o www.registro.br
  else {
      $ping2 = ``fping -r 1 www.registro.br``;
      $ping2a = substr("$ping2",-6);
      $ping2a = "G $ping2a";
          if ("$ping2a" eq "G alive\n"){
          exit(0);
              }
              #Mesma coisa de antes..porém da 5s para refletir um pouco
              else {
                  sleep(5);
                  $ping3 = ``fping -r 1 www.uol.com.br``;
                  $ping3a = substr("$ping3",-6);
                  $ping3a = "G $ping3a";
                  if ("$ping3a" eq "G alive\n"){
                      exit(0);
                      }
                      #Realmente a conexão não esta legal,o modem será 
  reiniciado
                      else {
                      printf "ERRO NA CONEXAO..RESETANDO MODEM \n";
                      #Como uso o pptp , primeiro fecho ele e depois do o 
  restart
                      ``killall -9 pptp ; killall -9 pppd``;
                      #reiniciado o modem
                      #INDICAR ONDE ESTA O RESET!!!
                      $lag = ``/root/modem/reset``;
                      #Se desejar ver o que houve no contato com o MODEM, 
  descomente a linha a seguir
                      #printf "$lag";
                      printf "ESPERANDO MODEM VOLTAR...Aguarde 60s \n";
                      #Espera 60s até o modem alinhar
                      sleep(60);
                      printf "EFETUANDO CONEXAO \n";
                      #Então,com o modem alinhado , efetua a conexão denovo.
                      ``pptp 10.0.0.138&``;
                      exit(0);
                      }
                  }
          }      

reset (usado para reinicar o modem, lembre-se de ajustar a senha.)

  #!/usr/bin/expect -f 
  #Se o ip do modem for o 10.0.0.138,deixe como esta.
  spawn telnet 10.0.0.138
  
  set timeout 5 
  expect { 
  "ser :" {
  #send_user "Fazendo o login.."
  send "root \r"
  exp_continue
  }
  sleep 3
  "assword :" {
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  #AJUSTE A SENHA - ESTA QUE ESTA É A DEFAULT DO MODEM (keycode&senh@01)#
  send "keycode&senh@01\r"
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  send ":system reboot\r"
  exp_continue
  } 
  "=>" {
  send_user "ok"
  send "system\r"
  send "reboot\r\n"
  } timeout {
  #Como o modem parou , a saída é do timeout mesmo.
  send_user "Pronto... \n"
  }
  }

E é isto, qualquer novidade que adicionar aos scripts, se achar legal mande para mim , <diego sl (a) email com br>.

  Diego Almeida
  GnuPGKey at search.keyserver.net
  diego dot sl at email dot com dot br

Veja a relação completa dos artigos de Diego Almeida

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.03/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1063 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Read in English - Uma Maneira Divertida de Aprender Inglês