Claro 3g Sony Ericsson md300 script conexao REVISAO 2
Publicado por Daniel Roque 02/05/2009
[ Hits: 10.070 ]
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
Configurando CISCO por Shell Script
Script que gera um relatório diário do sistema!!!
Script de instalação do Xorg 7.2 modificado para processadores AMD64
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro no suitable vídeo mode (0)
Erro no suitable vídeo mode (0)
Erro no suitable vídeo mode (0)
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)









