Share Pastebin
Guest
Public paste!

Luiz Almeida

By: a guest | Jan 28th, 2010 | Syntax: Bash | Size: 2.36 KB | Hits: 346 | Expires: Never
Copy text to clipboard
  1. #!/bin/bash
  2.  
  3. ###################################################################
  4. #              Script para verificar conexão de internet
  5. #        utilizando um modem 3G, detectando e configurando.
  6. #                         Feito por Luiz Almeida
  7. #                            Arcticc0@gmail.com
  8. ###################################################################
  9. #                         INFORMAÇÕES DO LSUSB
  10. #                AJUSTE DE ACORDO COM A SUA CONFIGURAÇÃO
  11. ####################################################################
  12. ## CONFIGURAÇÃO PARA MODEM MF100 OU ZTE 626,628+
  13. INF="ONDA"
  14. VENDOR="19d2"
  15. PRODUCT="2000"
  16. ENDPOINT="0031"
  17. MC="5553424312345678000000000000061b000000030000000000000000000000"
  18. ####################################################################
  19.  
  20. ####################################################################
  21. ## CONFIGURAÇÃO PARA MODEM HUAWEI E1756
  22. #INF="Huawei"
  23. #VENDOR="12d1"
  24. #PRODUCT="1446"
  25. #ENDPOINT="1001"
  26. #MC="55534243000000000000000000000011060000000000000000000000000000"
  27. ####################################################################
  28.  
  29. USBMSW="/usr/sbin/usb_modeswitch"
  30. DISCAR="/usr/bin/wvdial"
  31. PPP="/usr/sbin/pppd"
  32. PING="/bin/ping"
  33. HOST="www.google.com.br"
  34. TIME="20s"
  35. LOG="/var/log/modem"
  36. die=0
  37. while [ true ]
  38. do
  39.     ok=0
  40.     for TIMEOUT in 1 2 3
  41.     do
  42.         `$PING -q -c 1 -W $TIMEOUT $HOST > /dev/null 2>&1`
  43.         if [ $? -eq 0 ]
  44.         then
  45.             ok=1
  46.             date >> $LOG
  47.             echo "Conectado!" >> $LOG
  48.             exit 0
  49.         fi
  50.     done
  51.  
  52.     LSUSB=`lsusb |grep $INF |cut -d" " -f6`
  53.     if [ $LSUSB = $VENDOR:$PRODUCT ]
  54.     then
  55.         date >> $LOG
  56.         echo "Utilizando o usb_modeswitch" >> $LOG
  57.         `$USBMSW -v $VENDOR -p $PRODUCT -M $MC -m $ENDPOINT > /dev/null 2>&1`
  58.         echo "Esperando o modem" >> $LOG
  59.         sleep $TIME
  60.     fi
  61.     date >> $LOG
  62.     echo "Discando a conexão" >> $LOG
  63.     killall -9 $DISCAR > /dev/null 2>&1
  64.     killall -9 $PPP > /dev/null 2>&1
  65.     $DISCAR & >/dev/null 2>&1
  66.     echo "Discado e eperando a autenticação" >> $LOG
  67.     sleep $TIME
  68.  
  69.     if [ $die -eq 4 ]
  70.     then
  71.         date >> $LOG
  72.         echo "Tentamos conectar 4 vezes sem sucesso. Tente conectar manualmente." >> $LOG
  73.         exit 0
  74.     else
  75.         echo Teremos mais $((4-$die)) tentativas! >> $LOG
  76.         die=$(($die+1))
  77.     fi
  78. done
  79.  
  80. exit 0