#!/bin/bash


# werner@copaya.yi.org

IP0=5 

ADSL=0
INTERFACE=0 ; MODEM=0 ; IP=0 


TST=0                      # TST=1  Modo Teste    TST=0  normal


dialog --infobox "

      SYS


   ADSL SETUP
    Program
   
   
www.copaya.yi.org   

" 0 0
sleep 4 

rm -f ping.log  route.txt  scr

if test $TST = 1 ; then  echo -e "Caminho da conexao  -- \c" > route.txt   
route >> route.txt ; echo -e "\n Quando lido, aperta <ENTER> !" >> route.txt;  
dialog --textbox route.txt 0 0 
fi ; 
ping -c 2 -w 8 www.yahoo.com > ping.log ;  grep "time=" ping.log > scr   ;  if test $? -eq 0 ; then  ADSL=1 ; fi ; 


# 1. Verificar e configurar placas ethernet 
if test $ADSL = 0 ; then

rm -f /etc/udev/rules.d/*persistent-net.*  > /dev/zero   ; sync  

INTERFACE=0 
for I in 0 1 2 3 ; do 
ifconfig eth$I down > /dev/zero
if test $INTERFACE = 0 ; then ifconfig eth$I 192.168.1.$IP0 up  > /dev/zero ; if test $? -eq 0 ; then INTERFACE=eth$I ; 
ifconfig eth$I down > /dev/zero ; fi ;  fi ; 
done 
# endgueltige IP erst nach Modem finden, da abhaengig von diesem

if test $INTERFACE != 0 ; then
dialog --infobox "
Foi achada e
 sera usada 
  a placa
 ethernet:
/dev/$INTERFACE
" 0 0
sleep 3
fi ;

if test $INTERFACE = 0 ; then
dialog --infobox "
 Nao foi achada 
    nenhuma
 placa ETHERNET
  funcionando
neste computador.

  Verifica, e
compra uma (ca. de
10 Euro), coloca
ela, e conecta seu
  modem com ela.

Depois, usa este
programa novamente

Programa termina !
" 0 0
slep 10
fi ; 


# 2. Modem suchen

dialog --infobox "
Procura de
modems ...

" 0 0


MODEM=0 
for J in 0 1 ; do
for I in 1 10 254 ; do
if test $IP0 -eq $I ; then IP=$(($IP0-1)) ; fi ;  
if test $MODEM -eq 0 ; then
MODEM=192.168.$J.$I ; IP=192.168.$J.$IP0 
ifconfig $INTERFACE $IP up 
route add $MODEM dev $INTERFACE      
if test $TST = 1 ; then 
echo -e "Testar a conecao : \n" > route.txt 
echo " Placa da rede:  " $INTERFACE  "  IP:  " $IP >> route.txt 
echo " Modem:  " $MODEM  >> route.txt 
echo -e "\n Caminho da conexao  -- \c" >> route.txt   
route >> route.txt ; echo -e "\n Quando lido, aperta <ENTER> !" >> route.txt;  
dialog --textbox route.txt 0 0 
fi ; 
ping -c 5 -w 4 $MODEM   > ping.log   ;  grep "time=" ping.log > scr   # in Linux alles total bescheuert , 
ANTWORT=$?                                                            # ping gibt nicht richtig $?=0 zurueck falls erfolgreich 
if test $ANTWORT != 0 ; then   route del $MODEM ; ifconfig $INTERFACE down ; MODEM=0 ;  fi ;
sleep 1 
fi ; 
done 
done


if test $MODEM != 0 ; then
dialog --infobox "
Foi achada e
 sera usada 
  o modem:
IP: $MODEM
Conectado com
  $INTERFACE
IP: $IP 
" 0 0
sleep 3
fi ;

if test $MODEM = 0 ; then
dialog --msgbox "
 Nao foi achada 
    nenhum
 modem ETHERNET
   conectado
neste computador.

  Liga seu modem
com o cabo ETHERNET
e depois aperta
o butao <ENTER>  !

 Se voce nao tem,
compra uma (ca. de
40 Euro), e conecta
ela c/o computador
Depois, usa este
programa novamente
Neste caso, favor
   termina este
  programa agora
apertando no mesmo
 tempo os butoes
   <ENTER> ou
   <CTRL> <C>  
" 0 0
exit
fi ; 

#route add $MODEM gw $IP   schon oben in Schleife
echo "route add $MODEM dev $INTERFACE " >> /etc/rc.d/rc.local  
# route del default [dev eth0]
route add default gw $MODEM 
echo "route del default " >> /etc/rc.d/rc.local
echo "route add default gw $MODEM " >> /etc/rc.d/rc.local  

# 3. Sehen ob Modem schon geht, zBsp mit pppoe in ihm und schon von Windows her laufend
if test $TST = 1 ; then  echo -e "Caminho da conexao  -- \c" > route.txt   
route >> route.txt ; echo -e "\n Quando lido, aperta <ENTER> !" >> route.txt;  
dialog --textbox route.txt 0 0 
fi ; 
ping -c 2 -w 60 www.yahoo.com  > ping.log ;  grep "time=" ping.log > scr ; if test $? = 0 ; then  ADSL=1 ; fi ; 

fi ;


if test $ADSL = 0 ; then

dialog --msgbox "
 CONFIGURAR O MODEM COMO ROUTEADOR
- possivel p.ex. c/ livebox da Orange,
impossivel modem speedtouch da Only - 


   Nos entraremos agora no modem.  
    Digita:     USUARIO / SENHA   
           * DO MODEM * ,
     tenta:  admin  /  admin ,
       admin  /  password  ,
   ou consulta o manual do modem.

     Depois, dentre do modem, 
      procura onde digitar:
USUARIO / SENHA = USERNAME / PASSWORD
      * DA SUA CONEXAO ADSL * ,   
   que voce recebeu pelo providor
- ver no seu contrato de internet/ADSL 

     Depois, procura / clica la
  CONECTAR       com ADSL/INTERNET  


Depois, se consegiu ou se nao conseguir
 saia do modem, atravez de fechar sua 
    janela, para continuarmos aqui

Quando pronto ler isso, aperta  <ENTER>
  " 0 0
konqueror $MODEM  > /dev/zero 

if test $TST = 1 ; then  echo -e "Caminho da conexao  -- \c" > route.txt   
route >> route.txt ; echo -e "\n Quando lido, aperta <ENTER> !" >> route.txt;  
dialog --textbox route.txt 0 0 
fi ; 
ping -c 2 -w 60 www.yahoo.com  > ping.log ;  grep "time=" ping.log > scr ; if test $? = 0 ; then  ADSL=1 ; fi ; 

fi ;



# 4. Modem geht noch nicht, Versuch mit pppoe im Computer

if test $ADSL = 0 ; then


# 2. configuracao Modem - Providora   

dialog --msgbox "
   CONFIGURAR O MODEM COMO PASSARELA
- possivel p.ex. c/ livebox da Orange,
  SAGEM speedtouch, e outros modems
Modo unico p/ modem speedtouch da Only,
 neste caso se pode sair desta janela
agora imediatamente sem adaptar nada aqui 


   Nos entraremos agora no modem.  
    Digita:     USUARIO / SENHA   
           * DO MODEM * ,
     tenta:  admin  /  admin ,
       admin  /  password  ,
   ou consulta o manual do modem.

Dentre do modem, procurar colocar ele
no modo bridge = passarela = acesso ADSL
 SEM usuario = user / senha = password


Depois, se consegiu ou se nao conseguir
 saia do modem, atravez de fechar sua 
    janela, para continuarmos aqui

Quando pronto ler isso, aperta  <ENTER>
  " 0 0

konqueror $MODEM  > /dev/zero 

dialog --infobox  "
  Digita seu
  nome USUARIO
 recebido pela
  operadora
  internet 
   e aperta
  <ENTER> !
 
Exemplo OOL:
LP4/EFTNY@OOL

Exemplo wanadoo:
  fti/abdef
"  0  0
echo -e ">"\\c 
read USUARIO  REST 
dialog --infobox  "
  Digita sua
    SENHA
 recebido pela
  operadora
  internet
  e aperta
  <ENTER> !
 
Exemplo OOL:
 MOBMBLOB
 
Exemplo wanadoo:
  xadfgj  
"  0  0
echo -e ">"\\c 
read SENHA  REST
dialog --infobox  "
    INFO
 Voce digitou
usuario: $USUARIO 
senha: $SENHA
     ! " 0 0 
sleep 3

cat /etc/ppp/pap-secrets > /etc/ppp/pap-secrets.old
echo '"'$USUARIO'"' " * " '"'$SENHA'"'  > /etc/ppp/pap-secrets 
cat /etc/ppp/chap-secrets > /etc/ppp/chap-secrets.old
echo '"'$USUARIO'"' " * " '"'$SENHA'"'  > /etc/ppp/chap-secrets 

cat /etc/ppp/options > /etc/ppp/options.old  

echo "
lock
plugin rp-pppoe.so
ipparam ppp0
noipdefault
noauth
defaultroute
user" '"'$USUARIO'"' "   
noaccomp
noccp
nobsdcomp
nodeflate
nopcomp
novj
lcp-echo-interval 20
lcp-echo-failure 3
maxfail 25
updetach
persist
holdoff 4
"  > /etc/ppp/options  

dialog --msgbox "
 A conexao entre
Modem e Providora
 foi configurada
 
   Voce pode 
  conectar com
   o internet
   digitando 
  na console:
     pon
 e pode terminar
   digitando:
     poff

 Ou voce apertar
    no botao
 ADSL passarela
    na mesa  
 " 0 0

pon 
route add default dev ppp0  
echo "route del default " >> /etc/rc.d/rc.local
echo "route add default dev ppp0 " >> /etc/rc.d/rc.local  



if test $TST = 1 ; then  echo -e "Caminho da conexao  -- \c" > route.txt   
route >> route.txt ; echo -e "\n Quando lido, aperta <ENTER> !" >> route.txt;  
dialog --textbox route.txt 0 0 
fi ; 
ping -c 2 -w 60 www.yahoo.com   >   grep "time=" ping.log > scr ; if test $? = 0 ; then  ADSL=1 ; fi ; 

fi ;



if test $ADSL = 0 ; then

dialog --infobox "
Exista algum problema.
 Configuracao sem
    successo.
    
Leia as informacoes
    em seguir.
    
 Se uma lampada no
 modem pisca toda
  hora, a linha
  telefonica nao
   funciona e o 
modem nao contacta
 Tem de falar com
   o providor.    
" 0 0
sleep 15
  


dialog --msgbox "




ADSL Configurador                                                                           SYS     www.copaya.yi.org



*** ATENCAO ***

Este programa e para configurar uma nova conexao ADSL (inicialmente, ou se parou de funcionar).
Ele nao e para ser usado se sua conexao ADSL ja funciona, p.ex. lancar o ADSL -  para tal  favor usa o simbolo ADSL 
na mesa ou a instrucao  pon  no terminal.    
Neste caso, sai agora deste programa, apertando no mesmo tempo os botoes <CTRL>  e <C> .

Este programa tambem so e para ADSL via ethernet.  Ele nao e para internet comum (baixa velocidade), hoje pouco usado.
Se voce tiver internet comum, o melhor e ter um modem externo, ligado num porte serial.  Neste caso, configuracao e
uso sao extremamente facil com o programa kppp  ou wvdial.   wvdial procura e configura o modem sozinho.  no kppp, so e
necessario informar no qual porte serial o modem e ligado, e deixar todos outros valores como estao.    Ademais e 
necessario digitar  o numero telefone da providora (p.ex. 0860888080 no wanadoo), e  usuario (p.ex. fti/abcdef) e senha 
(p.ex. xyzabc) recebido pela  providora.       Mais complicado e lento sao modems internos; e necessario procurar
o programa driver no internet e a adaptacao e diferente para todo tipo, de modo que e melhor comprar um modem externo.
Se nao tiver ADSL mas  internet comum, tambem saia deste programa apertando <CTRL> e <C>.       


Informacoes basicos

A conexao ADSL e feita atravez um modem ou modem/routeador.  Este, num lado e conectado com a rede eterna (cabo de
telefone), no outro lado com o computador.

A conexao com o computador possa ser via cabo ethernet, ou via cabo USB.  
A conexao via ethernet e preferivel, USB e lento e complicado.   A maioria dos modens tem ethernet,  se seu nao o
tenha, e melhor comprar um outro modem.

Este programa so serve para configurar a conexao ADSL via ethernet.  Se voce nao o tiver, saia daqui com <CTRL> <C> ! 



Ou antes ou, se antes nao funcionar depois de usar este programa:
   / conecta o modem no computador, via cabo ethernet
   / usa o explorer dos arquivos no computador, konqueror, ou um brauser-web p.ex. firefox,   digita  192.168.1.1
         (modem thomson/speedtouch da OOL)  ou 192.168.1.10 (livebox wanadoo)  , em seguir   usuario:  admin    e
         senha:  admin   ou password   .    Dentre do modem, adjusta:   disliga  DHCP ;  escolha o modo-de-funcionamento
         passarela / bridge ;   mudar o IP para 192.168.1.1  .
   / conecta o modem com a rede de telefone, usando o filtro.   Veja que a linha telefonica funciona para ADSL.
         A lampada ADSL do modem nao deve piscar, mas deve ficar ascesa pouco depois de conectar.   Se nao for,
         sera necessario telefonar a providencadora do servico Internet/ADSL (i.e. OOL ou wanadoo)     

Entende que a conexao Modem-Rede/Providora  e a conexao Modem-Computador sao duas coisas separadas, cada conexao
         deve funcionar independentemente da outra.   Mesmo se o modem nao estiver conectado com um computador, deve
         funcionar a linha telefonica e a lampada nao piscar.   E no contrario, mesmo nao conectado com o internet, 
         deve-se conseguir entrar no modem pelo computador, digitando o IP 192.168.1.1 .


Para funcionar o internet, alem de ter feita a conexao Modem-Internet e Modem-Computador, e necessario facer a configuracao.
Isso e,  escrever  nome-usuario e senha  nos lugares certos no computador, e fazer alguns adaptacoes assim como detectar
e configurar as placas existentes no computador e os caminhos como os dados passam por eles e pelo modem para o internet.
E isso que faz este programa, servindo-se os programas-do-sistema ifconfig e route, resp.     

Esta configuracao so precisa ser feita no inicio, ou se nao funciona mais.   Uma vez funcionando a configuracao, para
lancar o internet,  usa-se  o comando pon  no terminal, e poff para terminar.    Para chamar estes programas, na mesa
esta um icon ADSL no que se clica .


Para continuar e fazer a configuracao, aperta o butao <ENTER>

" 0 0   

fi ;



if test $ADSL = 1 ; then
dialog --infobox "
Configuracao
  pronta !
  Internet
  funciona.
  
 Para usar,
   clica
     /  
 ou firefox    
       
  " 0 0
sleep 5 
fi ; 


( echo -e "\c"  
if test $INTERFACE != 0 ; then echo -e "\n Placa da rede:  " $INTERFACE " IP:  " $IP "\n" ; ping -c 2 -w 5 $IP  ; fi ; 
if test $MODEM != 0 ; then echo -e "\n Modem:  " $MODEM  "\n"   ;  ping -c 2 -w 5 $MODEM   ; fi ; 
ifconfig 
echo -e "\n Caminho da conexao  -- \c"    
route 
echo -e "\n"  ; ping -c 2 -w 60 www.yahoo.com  
echo -e "\n Quando lido, aperta <ENTER> !" ) > route.txt   


dialog --textbox route.txt 0 0 


sync 

konqueror www.yahoo.com    


exit
  
  