Como reiniciar a ligação de um modem

Demorou mas sempre consegui arranjar um processo de reiniciar a ligação do modem/router após a uma da manhã para que o tráfego desde essa altura até as oito da manhã seja considerado pelo meu ISP (a Clix) como dentro das happy hours.

O único pré-requisito é que o modem tenha uma interface Web de administração.

Usei duas aplicações facilmente obtíveis:

ProxyTrace

Trata-se de uma proxy que permite inspeccionar os conteúdos das comunicações HTTP que sejam efectuadas.

WGet

GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.

Processo:

  1. Fazer download da última versão do ProxyTrace
  2. Configurar no browser o ProxyTrace como sendo a proxy em uso e utilizar a interface Web do router para terminar a ligação à Internet iniciando-a novamente logo de seguida. O ProxyTrace deverá ter registado o tráfego produzido durante essas operações devendo ser fácil identificar os dois registos que provocaram a queda e o restauro da ligação; no meu caso tratam-se de dois pedidos POST que submetem quatro valores cada um.
  3. Fazer download da última versão do WGet.
  4. Usar as informações que o ProxyTrace nos deu para compor um comando wget. No meu caso, com um WAG354G, o comando final para desligar a ligação foi algo deste género (as mudanças de linha servem só para melhor legebilidade, o comando deveria estar numa única linha):
    wget --user="admin" --password="password_do_router"
    -O httpOut.txt -o wgetOut.txt --tries="1"
    --post-data="
        submit_button=Status_Router&
        submit_type=disconnect&
        change_action=gozila_cgi&
        wan_proto=dhcp"
    http://192.168.1.1/apply.cgi
    

    O nome de utilizador e a password do modem são utilizados no comando para passar na autenticação HTTP do modem.

  5. Configurar uma tarefa que corra diariamente, à hora pretendida, um script (bat, bash, ou outro qualquer) com os comandos de fecho e início da ligação. Para correr a tarefa diariamente pode ser usado o Cron em Linux e o Task Scheduler em Windows.

De notar que não tive em particular atenção questões de segurança. A password de acesso ao modem ficou hardcoded no script e devem ser tomadas outras precauções para que esse ficheiro não possa ser lido por qualquer um.

10 Comentários a “Como reiniciar a ligação de um modem”

  1. Luís Pinto @ 2006-01-17 21:12 diz:

    Boa Noite;

    Presumo que esteja a enviar isto para a pessoa “correcta”………
    Desde já fica o meu agredecimento por este estupendo Blog, pois sem ele não teria conseguido encontrar algém que realmente percebesse “algo” sobre o WAG354G, é o seguinte; gostaria que me explicasse mais detalhadamente como fazer para reiniciar o meu modem/router para poder usufruir das “tais Happy Hours” do CLix, pois já li o “post” publicado por si(Como reiniciar a ligação de um modem), mas como não percebo muito bem essas coisas de “ProxyTrace” e “WGet”, agradecia que me explicasse por mais detalhes como o fazer, visto que sou um pouco leigo na “matéria”………..
    Desde já ficam os meus cumprimentos e grato pela disponibilidade de ao menos ler este comentário!!!

    Se me pudesse responder para o meu mail, agradecia-lhe.

    Melhores Cumprimentos

    Luís Pinto

  2. Filipe Correia @ 2006-01-18 22:12 diz:

    O artigo que escrevi é suficientemente genérico para qualquer modem, desde que tenha uma página de administração Web. No seu caso, como no meu, o modem é um WAG354G, o que simplifica um pouco o processo que descrevi. Vou tentar então simplificar um pouco todo o processo tendo em vista só o WAG354G e a utilização do Windows como sistema operativo. Vão, no entanto, continuar a existir pormenores um pouco técnicos.

    Tratando-se um WAG354G não precisa de ir buscar o ProxyTrace para descobrir como reiniciar a ligação, uma vez que posso dar-lhe já os dados que haveria de descobrir por essa via.

    No entanto, fazer download e utilizar o WGet continua a ser necessário. Coloque o ficheiro wget.exe num directório do seu computador (algo como c:/program files/Wget/wget.exe por exemplo) e crie nesse mesmo directório um novo ficheiro de texto com as seguintes duas chamadas:


    wget --user="admin" --password="password_do_router" -O httpOutD.txt -o wgetOutD.txt --tries="1" --post-data="submit_button=Status_Router&submit_type=disconnect&change_action=gozila_cgi&wan_proto=dhcp" http://192.168.1.1/apply.cgi


    wget --user="admin" --password="password_do_router" -O httpOutC.txt -o wgetOutC.txt --tries="1" --post-data="submit_button=Status_Router&submit_type=connect&change_action=gozila_cgi&wan_proto=dhcp" http://192.168.1.1/apply.cgi

    O texto password_do_router deve ser substituido pela password que tiver definida para o seu router/modem, e o ficheiro de texto criado deve ser renomeado para qualquer coisa como reconnectAdsl.bat. Atenção que a nova extensão do ficheiro seja bat, chamar ao ficheiro reconnectAdsl.bat.txt não funciona ;)

    De seguida é necessário apenas configurar uma nova tarefa periódica no Windows. A forma mais simpes de o fazer é recorrer às Scheduled Tasks que podem ser encontradas no painel de controlo. A tarefa que se tem de criar terá simplesmente de correr o reconnectAdsl.bat a determinadas horas (logo a seguir à entrada no horário de happy hour). O processo de criação da tarefa é razoavelmente intuitivo, deve ser só ir seguindo as instruções..

    Qualquer dúvida que possa ter surgido é só dizer :)

  3. Luís Pinto @ 2006-01-19 9:12 diz:

    É com “insatisfação” que escrevo isto……..mas presumo que não consegui fazer o que está anteriormente descrito, pois não notei nenhuma diferença, e não consegui ver se o modem “reiniciava” ou não………fiz “Crtl+C” em todo o texto, ou melhor………….copiei as “duas chamadas”,depois fiz guardar como……. “reconnectAdsl.bat”, fiz a “task” e nada!!!!!
    Depois fui dentro da pasta onde tinha introduzido “essas coisas todas” e cliquei no Wget, o que me gerou 4 novos ficheiros, respectivamente com os nomes…..”httpOutC”……”httpOutD”…..”wgetOutC”…..e…..”wgetOutD”; onde nos dois últimos aparece o seguinte dentro desses documentos de texto:

    (penúltimo ficheiro)
    “–08:56:57– http://192.168.1.1/apply.cgi
    => `httpOutC.txt’
    Connecting to 192.168.1.1:80… connected.
    HTTP request sent, awaiting response… Read error (Connection reset by peer) in headers.
    Giving up.

    e

    (último ficheiro)
    –08:56:57– http://192.168.1.1/apply.cgi
    => `httpOutD.txt’
    Connecting to 192.168.1.1:80… connected.
    HTTP request sent, awaiting response… Read error (Connection reset by peer) in headers.
    Giving up.

    Por isso não sei o que fazer……………tenho uma firewall ligada, além da do Router…….desliguei-a e tentei novamente, e………..nada!!!!! :(

    Se me puder ajudar agradecia!!!!

    Melhores Cumprimentos

    Luís Pinto

  4. tiago @ 2006-01-19 23:34 diz:

    Bem, eu optei pela forma mais fácil :P
    comprei um temporizador que corta a corrente eléctrica ao modem.
    Gastei dinheiro, mas tenho a certeza que funciona mesmo que eu esteja com o PC desligado de noite,
    o que não aconteceria se tivesse apenas essa Task a correr, pois era necessário o pc estar ligado.

  5. Filipe Correia @ 2006-01-20 0:35 diz:

    Alterou as duas chamadas que referi para ter a password que costuma usar com o seu modem?

    Pela mensagem acho que o problema deverá ser na password. A linha Connecting to 192.168.1.1:80… connected. indica que o Wget conseguiu contactar o modem mas que este não devolveu uma resposta aceitável.

    O que recomendo é que tente entrar na página de configuração do modem com a mesma password que utilizou nas duas chamadas ao Wget, e logo veremos como corre.

  6. Filipe Correia @ 2006-01-20 0:54 diz:

    o que não aconteceria se tivesse apenas essa Task a correr, pois era necessário o pc estar ligado.

    Isso é verdade, mas por outro lado, se o PC estiver desligado não tenho grandes motivações para querer entrar em Happy hour, se é que me percebes :)

  7. tiago @ 2006-01-21 4:21 diz:

    Não, porque se vires bem, podes ter o PC desligado de noite, o que dá jeito a quem tem o PC no quarto como eu, para poder dormir à vontade… e sendo assim se reiniciares apenas o router, podes recomeçar os downloads quando acordares pois estarás em happy hour ;)
    Tudo isto para uma boa noite de sono. Pois para mim o barulho do PC faz uma grande diferença.

  8. tiago @ 2006-01-21 4:25 diz:

    No caso do CLIX as sessões duram 17h55(em áreas CLIX) e 12h(fora de áreas CLIX)
    e o importante é iniciar a sessão entre as 01h01 e as 07h59.
    Se uma pessoa iniciar a sessão à 01h01 e depois às 07h59 pode ter happy hours por
    mais 17h55 (ou 12h) a partir da hora de início da sessão.

    (Atenção, não me responsabilizo por quaisquer contas no fim do mês, cada um faz isto à sua conta e risco)

  9. Filipe Correia @ 2006-01-21 20:11 diz:

    Pois, bem visto; nada como ter o computador na sala :)

    Sobre essas alturas “ideiais” de reiniciar a ligação já tinha noção disso. Ainda não tenho happy hours para testar mas a partir do próximo mês devo pedir finalmente para me activarem isso. Apesar dos dois euros extra, acho que vale a pena.

  10. tiago @ 2006-01-22 1:42 diz:

    Pois, eu felizmente tenho, porque aderi antes de existirem estas novas tarifas.
    Mas mesmo assim tive 10 meses à espera que me activassem o serviço, sim 10 MESES!! :\
    Infelizmente isto tudo se deve ao facto da PT dificultar todo o processo de desagregação, porque infelizmente quando um cliente quer mudar da PT para a Novis (Clix), ou qualquer outro cliente que adira à Novis (Clix) sem ter telefone, está dependente da PT, pois a PT é quem trata de tudo. A Novis (Clix) não tem qualquer poder sobre as linhas físicas, eles apenas têm os bastidores deles nas centrais da PT, mas nem a eles têm acesso.
    Portanto, sempre que há qualquer problema, temos que esperar que a Novis reporte o problema à PT e que os técnicos da PT o resolvam, que na maioria dos casos, pode demorar algum tempo, pois como é óbvio fazem de tudo para dificultar a vida aos clientes das empresas concorrentes.

    Basicamente, é o que acontece na maioria dos países europeus, onde têm a Telecom que “construiu” a rede de telecomunicações nacionais à custa de dinheiros dos contribuintes (do estado), onde neste momento são “donas” dessa rede e conseguem de uma forma ou outra prejudicar os clientes de empresas concorrentes. Ora ainda bem que esta tendência está a mudar, porque está.

    Esperemos agora pelo aparecimento do WiMAX, nova tecnologia sem fios que permite ligações até 70Mbits, e que têm tanto alcance como as redes GSM ou UMTS, tudo depende da quantidade e da localização das antenas. Basicamente 100% do país pode ficar com cobertura. VENHA O WiMAX RÁPIDO!