Como Eu falei na lista Android-Brasil, para fazer o inverso do tether, e acessar a internet via USB/PC e que o tether deveria funcionar em mão dupla aqui vai um guia rápido, para celulares rootados, testei no meu ATRIX:
Após conectar o celular pela USB, deixe o modo de conexão da USB em nenhum!
1- Baixe e instale o programa http://code.google. com/p/android-wired-tether/ (versão mais nova que tiver lá!)
2- Instale o programa Android Terminal Emulator e o Busybox pelo Market
3- Desligue o WIFI e a Conexão de dados do Celular, assim não vai tentar gastar seu pacote 3G, nem usar o wifi ...
4- No PC! Habilite o roteamento de pacotes no PC (Ubuntu LINUX), precisa de acesso root no PC também (pode usar sudo, os comando abaixo estão sem o sudo, suponho ainda que a rede de saída para internet em seu PC é eth0):
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
5 - Abra o programa WIRED-TETHER
6 - No programa wired-tether ative o tether via USB.... ainda não vai funcionar
7- No PC, aguarde uns segundos até que o PC (Ubuntu LINUX) conecte e digite o comando:
ifconfig usb0
Anote o endereço IP da rede em USB0 aqui é: 172.20.23.253
Se a rede em usb0 não estiver com endereço IP ative-a com (use sudo, se não estiver como root):
dhclient usb0
rode o ifconfig usb0, novamente e anote o IP
7 - Abra o Android Terminal Emulator, (pode ser feito pelo adb shell)
su -
ifconfig usb0
Verifique se há IP e se está na mesma faixa do IP anotado no PC
No celular adicione o PC como roteador para seu celular:
route add default gw IP_ANOTADO
Aqui ficou assim:
route add default gw 172.20.23.253
8- Ainda no celular, é só configurar um DNS ou não encontra os servidores e não navega ...
setprop net.dns1 8.8.8.8
echo "nameserver 8.8.8.8" > /etc/resolv.conf
Testei aqui e funcionou, isso ai é mais ou menos o mesmo que Eu fazia no PalmOS lá no Palm m130...
Me bati no pondo do DNS pois nem sabia desse comando setprop do Android...
P.S. Meu ATRIX só tá rootado e esta com ROM retail, não tem mais nada de especial e não instalei nenhum modulo no kernel nem nada...
5 comentários:
Cara muito show isso, mas tem como fazer com windows ?
Para funcionar no windows, você teria de habilitar o compartilhamento da Internet e setar o IP do celular para o IP da máquina windows, além da rota e DNS.
Anunakin, estou com um lg P350 com cyanmod7 - android 2.3 e ubuntu 11.04
duas complicaçõesinhas iniciais já apareceram, 1ª echo 1 > /proc/sys/net/ipv4/ip_forward retorna Permissão negada mesmo como su o.O
e outra, é que o wired Tether acusa que o meu kernel não é é compatível... ¬¬''
tem alguma solução? hehe...
vlws
Funcionando legal no meu novo Galaxy Y...
Vlw!!!
Ah só uma dica aqui precisei fazer assim:
busybox route add default gw 172.20.23.253
no mais tranquilo...
abraço...
@Sandino Santos,
O comando "echo 1 > ..." deve ser executado no PC ...
A msg de kernel não compatível aparece aqui também .. .estou com CM7 no ATRIX.
@Marcos Camargo,
O IP diferente é normal cada aparelho ou ROM pode por o IP que bem quiser na rede virtual
Postar um comentário