A Internet brasileira ainda não chegou a um ponto onde todos os usuários tem acesso a provedores com uma taxa de usuários por linha que evite o fenômeno das linhas ocupadas. Seja em horários de pico, ou em momentos de menor tarifação, muitos provedores ainda obrigam o usuário a tentar repetidas vezes até obter sucesso em sua conexão.
Quando escrevi o pppfacil, pensava na realidade de provedores grandes e bem estruturados, nos quais a ocorrência de linha ocupada é um fato raro. Mais tarde, através do retorno dado pelos próprios usuários, percebi que a rediscagem manual é um processo bastante tedioso, e portanto um bom candidato a ser automatizado.
Esta é a origem do discador ppp-redial, uma versão simplificada dos war-dialers de 10 anos atrás, que irá ficar discando repetidamente para um mesmo número e tentando estabelecer conexão ppp na linha até ser interrompido pelo usuário.
Esta é uma versão em andamento. Ela funciona em conjunto com o pppfacil, que você deve instalar, configurar e testar antes de usar o ppp-redial, que funciona como um substituto insistente do ppp-up que acompanha o pacote do pppfacil. Versões futuras do pppfacil virão acompanhadas de uma versão mais avançada do ppp-redial, capaz de discar para números alternativos em caso de linha ocupada. Lembre-se de que esta não é a única maneira de fazer rediscagem com o pppd - é apenas a que eu escolhi.
A versão atual é a que segue. Ela não foi feita para usuários iniciantes, então talvez você deva considerar esperar por uma versão empacotada junto com o pppfacil, que virá no futuro. Se quiser se arriscar, faça o download, copie para o diretório /usr/bin e execute o comando chmod 755 /usr/bin/ppp-redial. Para usar, basta rodar o comando ppp-redial (mas lembre-se: depois de instalar, configurar e testar o pppfacil).
Caso prefira apenas ler o fonte, ou se quiser fazer sua própria versão, fique à vontade - aqui está:
#!/bin/sh# ppp-redial; repete indefinidamente as # tentativas de conexão a um provedor # de internet pré-configurado com o # pppfacil, até ser interrompido # pelo usuário # autor: Augusto C. Campos # licença: GPL (www.gnu.org) # suporte: www.linux.trix.net
function conecta() { # esta função não recebe nenhum parâmetro, e é # responsável por chamar o pppd
/usr/sbin/pppd nodetach \ connect "/usr/sbin/chat -Vf /etc/ppp/generic.chat" \ file /etc/ppp/options }
# Loop principal # Chama a função conecta() indefinidamente # A única maneira comprovada de interrompê-la # é teclando ^C quando solicitado.
until conecta do echo -e "\n\n\nTentando novamente em 3 segundos" echo "Tecle ^C AGORA para abortar" sleep 3 if [ $? -ne 0 ]; then exit 2 fi done
tail -f /var/log/messages
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.