Claro 3g Sony Ericsson md300 script conexao REVISAO 2
Publicado por Daniel Roque 02/05/2009
[ Hits: 9.882 ]
Homepage: None
Caros colegas, com a ajuda do amigo NewWave eu precebi que na "Revisão um", coloquei para download uma versão que difere da versão que está para visualização, a correta.
Peço perdão pelo erro, e disponibilizo aqui a versão correta, já com algumas modificações que espero que sane alguns problemas.
Agradeço às dicas e os testes feito por NewWave.
Boa Sorte
#!/bin/bash # # 8-2-2009 # # claro-3g MD300 # # Este script foi testado com o modem MD300 Sony Ericsson # # Por Daniel Roque # 2006roque@gmail.com # # Atencao! # # Use o escript por sua conta e risco # este script nao vem com nenhuma garantia # # # export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" alias showdate='date -d now "+%Y-%m-%d %H:%M:%S claro-3g -->"' ########## VARIAVEIS ############# REDEINT='192.168.0.0/24' # rede interna, coloque o valor correto caso queira rotear conexao TENTATIVAS='5' # numero de tentativas antes de desistir, nao deixe em branco DEVID="0fce:d0cf" # Para tentar outros modens utilize o lsusb e descubtra o devid do mesmo e substitua o valor ESPERA="20" # temo que se deve esperar pelo handshake com o servidor, antes de testar se conectou CONT='3' # ping count, mantenha um valor entre 1 e 9, utilize maior para sinal mais fraco DESTINO='200.98.249.120' # host de destinho para teste, importante por um ip que responda a ping DNS='200.169.117.22' # dns padrao da claro, mude apenas se souber o que esta fazendo ################################## versao='0.1.2' ultimaatualizacao='Qua Mar 25 11:20:51 UTC 2009' checkdep(){ rslt=`find /usr/bin/ /sbin/ /bin/ /usr/local/bin/ -name wvdial` if [ "$rslt" == '' ]; then echo "Claro-3g --> ERRO: wvdial nao encontrado, instale-o ([debian|ubuntu|big|famelix] -> apt-get install wvdial)" cmd='exit 3' fi rslt=`find /usr/bin/ /sbin/ /bin/ /usr/local/bin/ -name udevd` if [ "$rslt" == '' ]; then echo " Claro-3g --> ERRO: udev nao encontrado, instale-o ([debian|ubuntu|big|famelix] -> apt-get install udev)" cmd='exit 3' fi rslt=`find /usr/bin/ /sbin/ /bin/ /usr/local/bin/ -name udevd` if [ "$rslt" == '' ]; then echo " Claro-3g --> ERRO: udev nao encontrado, instale-o ([debian|ubuntu|big|famelix] -> apt-get install udev)" cmd='exit 3' fi rslt=`find /usr/bin/ /sbin/ /bin/ /usr/local/bin/ -name named` rslt=`find /usr/bin/ /sbin/ /bin/ /usr/local/bin/ -name dnsmasq` if [ "$rslt" == '' ]; then echo "Claro-3g --> AVISO: algumas vezes o dns destes modens demoram muito para responder, eu aconselhor utilizar um dns em sua maquina. ([debian|ubuntu|big|famelix] -> apt-get install bind) Caso você opte por utilizar um dns em sua maquina, dentro deste script, remova o # que precede a linha #nameserver 127.0.0.1 e rode o install novamente." fi $cmd } ppp_option(){ sed '{s/\(^.*asyncmap.*\)/#\1/ s/\(^.*mru.*\)/#\1/ s/\(^.*refuse-chap.*\)/#\1/ }' -i /etc/ppp/options } install(){ quem=`whoami` echo 'Claro-3g, revisao 2 de 08-02-2009 Por Daniel Roque, 2006roque@gmail.com Este script vem com nenhuma garantia, utilize-o por sua conta e RISCO! Deseja continuar (s/n):n' read resp resp=`echo $resp|sed 's/[sSyY]/s/g'` if [ "$resp" != 's' ]; then echo 'saindo sem fazer nada.' exit 1 fi checkdep; if [ "$quem" != 'root' ]; then echo " Claro-3g --> Voce precisa dos poderes de root para executar este script" exit 4 fi rm /etc/init.d/claro-3g 2>/dev/null cp claro-3g /etc/init.d/ 2>/dev/null num='2 3 4 5' echo " Claro-3g --> Desja criar um link para iniciar automaticamente quando pc e iniciado?(s/n):s" read resp resp=`echo $resp|sed 's/[nN]/n/g'` if [ "$resp" != 'n' ]; then echo " Claro-3g --> Criando links de inicializacao" for i in `echo $num` do cd /etc/rc$i.d/ echo "/etc/rc$i.d/S99claro-3g" ln -s ../init.d/claro-3g S99claro-3g 2>/dev/null done else echo " Claro-3g --> Removendo links de inicializacao, caso exista" for i in `echo $num` do echo "/etc/rc$i.d/S99claro-3g" rm -f /etc/rc$i.d/S99claro-3g 2>/dev/null done fi echo " Claro-3g --> Configurando ppp" ppp_option; echo " Claro-3g --> Utilize /etc/init.d/claro-3g start, ou conecte o modem e reinicie o pc Boa Sorte!" } dodns(){ #altere as linhas abaixo caso tenha um dns e dominio local echo "#domain casa.local #search casa.local #nameserver 127.0.0.1 nameserver $DNS nameserver 200.169.119.22">/etc/resolv.conf } udevrules(){ if [ ! -e '/etc/udev/rules.d/50-md300modem.rules' ]; then echo "Claro-3g -->Gerando regras para udev e reiniciando udev" aspas="'" echo '#claro-3g script ACTION!="add", GOTO="3G_End" BUS=="usb", SYSFS{idProduct}=="d0cf", SYSFS{idVendor}=="0fce", NAME="modem" PROGRAM="/bin/sh -c '"'"'echo 3 > /sys/%p/device/bConfigurationValue'"'"' LABEL="3G_End"' >/etc/udev/rules.d/50-md300modem.rules fi /etc/init.d/hal restart /etc/init.d/udev restart } wvdialconf(){ oldconf=`cat /etc/wvdial.conf|sed 's/^/#/g'` echo '#claro-3g - nao modifique esta linha # # Por Daniel Roque # 2006roque@gmail.com # # Atencao! # # Use o escript claro-3g por sua conta e risco # este script não vem com nenhuma garantia # # [Dialer Defaults] Modem = /dev/ttyACM0 Baud = 460800 Init1 = ATZ Init2 = AT+cfun=1 Init3 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br" Area Code = Automatic Reconnect = yes Phone = *99***1# Username = claro Password = claro Ask Password = 0 Dial Command = ATDT Stupid Mode = 0 Compuserve = 0 Force Address = Idle Seconds = 300 DialMessage1 = DialMessage2 = ISDN = 0 Auto DNS = 0 Modem Type = Analog Modem New PPPD = yes ########## ABAIXO ESTA O CONTEUDO DO VELHO wvdial.conf ########## delete as linhas acima e remova o primeiro # ########## de cada linha para voltar a conf antiga'" $oldconf" >/etc/wvdial.conf } xau_lock(){ rm -f /var/run/claro-3g.pid 2>/dev/null } kill_if_running(){ if [ -e /var/run/claro-3g.pid ]; then echo "Claro-3g -->Parando script existente e aparentemente rodando" pid=`cat /var/run/claro-3g.pid` kill -9 $pid 2>/dev/null xau_lock; echo "Claro-3g -->Feito!" fi } start(){ echo "CLARO-3G - versao $versao de $ultimaatualizacao" kill_if_running; echo "$$" >/var/run/claro-3g.pid checkdep; #checando existencia do modem rslt=`/usr/bin/lsusb |sed -n "/$DEVID/p"` if [ "$rslt" == '' ]; then echo "Claro-3g -->Modem nao encontrado!" xau_lock; exit 2 fi echo "Claro-3g -->Modem encontrado" #setando regras para o modem caso utilize outro modem as regras podem mudar udevrules; rslt=`cat /etc/wvdial.conf |sed -n '1p'|sed -n '/claro-3g/p'` #checando conf do wvdial if [ "$rslt" == '' ]; then echo "Claro-3g -->configurando o wvdial.conf" wvdialconf; fi #verificando se ja esta conectado /sbin/ifconfig ppp0 if [ "$?" == 0 ]; then ping -c $CONT $DESTINO|sed -n '/[123456789] received/p' 2> /dev/null rslt="$?" else rslt=1 fi #tentando por 5 vezes conectar tries='1' while [ "$rslt" != 0 ] && [ "$tries" -lt $TENTATIVAS ]; do /etc/init.d/udev stop 2>/dev/null /etc/init.d/udev start 2>/dev/null killall -s KILL wvdial 2>/dev/null killall -s KILL pppd 2>/dev/null wvdial 2>/dev/null & echo "Claro-3g -->Tentativa $tries de $TENTATIVAS." echo "Claro-3g -->Tentando conectar em $ESPERA segundos" sleep $ESPERA rmdefroute=`route -n|sed -n 's/ //g;s/ //g;s/\(0.0.0.0\)\(.*\)\(0.0.0.0.*\)/route del default gw \2/p'` $rmdefroute route add default gw 10.64.64.64 ping -c $CONT $DESTINO|sed -n '/[123456789] received/p' 2> /dev/null rslt="$?" tries=`expr "$tries" + 1` done echo "Claro-3g -->Conectado!" #rotenado conexao para a rede internar, altere a var REDEINT para o valor local da sua rede echo "Claro-3g -->rotenado conexao para a rede $REDEINT, altere a variavel REDEINT dentro do script caso isto nao esteja certo." /sbin/iptables -t nat -A POSTROUTING -s $REDEINT -j MASQUERADE echo 1 >/proc/sys/net/ipv4/ip_forward dodns; } stop(){ echo "Claro-3g -->Parar" kill_if_running; killall -s KILL wvdial 2>/dev/null killall -s KILL pppd 2>/dev/null iptables -t nat -D POSTROUTING -s $REDEINT -j MASQUERADE 2>/dev/null echo 0 >/proc/sys/net/ipv4/ip_forward } case $1 in start) start; ;; stop) stop; ;; restart) stop;start ;; install) install; ;; *) echo 'use claro-3g (start|stop|restart|install)' exit 1 ;; esac exit 0
Controlando Fan Nagios no dialog
Diário Oficial da União - Download facilitado
Script para limpar os caches do proxy (squid)
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Remoção de propaganda com o programa Comskip[AJUDA] (5)
Linux Lite Demorando Muito Para Ligar (2)
Instalação do drive do adaptador wiffi (5)