USB Tether (compartilhar Internet do Celular para o PC) não é possível com o Motorola, pois esta opção não existe no aparelho. No entanto, existe em outros aparelhos que possuem o
Android.
Mas sempre tem uma gambiarra, que explico a seguir:
1. Instalar o pacote "iproute2", no caso do
Ubuntu e derivados já tem por padrão. No meu caso, baixei e instalei pelo
gslapt. Mas é facilmente achado no
pkgs.org para sua distribuição.
2. Instalar
OpenVPN, também achado no pkgs.org ou (no Ubuntu):
# apt-get install openvpn
3. Precisamos do
adb (binário do
Android SDK). Download aqui:
4. Dar permissão de execução ao arquivo e copiá-lo pra
/usr/bin. Como root:
# chmod +x adb
# cp adb /usr/bin
5. Fazer o
udev reconhecer o aparelho, precisamos conhecer a ID (USB) do aparelho.
No caso, estou usando um Motorola que tem a ID "22b8".
Aqui tem uma lista dos dispositivos, ou basta verificar no sistema, com o comando
lsusb que retorna a ID a ser usada:
lsusb
Bus 007 Device 007: ID 22b8:41da Motorola PCS
6. Criar um arquivo no diretório
/etc/udev/rules.d com o nome "91-android.rules", com um editor de texto qualquer:
# mcedit /etc/udev/rules.d/91-android.rules
7. E colocar o seguinte, levando em conta o seu nome de usuário (alemar no meu caso) e a ID do aparelho (22b8):
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", SYMLINK+="android_adb", MODE="0666", OWNER="alemar"
Salvar e dar permissões devidas ao arquivo:
# chmod a+r /etc/udev/rules.d/91-android.rules
8. Reiniciar o udev para carregar a nova regra:
Ubuntu:
# restart udev
Vector Linux (baseada no
Slackware):
# /etc/rc.d/rc.udev force-restart
9. Habilitar o USB debug no aparelho:
Config → Aplicacoes → Desenvolvimento → USB Debug
10. Conectar o aparelho e ver se ele é listado com o comando:
# adb devices
List of devices attached
88B0401600D device
11. Baixar o "azilink.openvpn" pra ser usado como script de conexão:
# wget http://azilink.googlecode.com/files/azilink.ovpn
Editá-lo removendo a linha:
ping 10
Na minha versão do OpenVPN (2.2.2), ela conflita com a "keepalive".
Salvar o arquivo.
12. Instalar o "azilink-release.apk" no aparelho pelo adb:
adb install -r azilink-release.apk
Para versão com
Android 2.2, pode-se usar a versão normal do Azilink:
13. Abrir o azilink no aparelho e habilitar a opção:
Service active
14. Agora, pode-se executar a sequência a seguir para conectar à Internet ou usar o script, que faz a mesma coisa:
adb forward tcp:41927 tcp:41927
$ sudo echo 'domain lan' > /etc/resolv.conf
$ sudo echo 'search lan' >> /etc/resolv.conf
$ sudo echo 'nameserver 192.168.56.1' >> /etc/resolv.conf
$ sudo openvpn --config azilink.ovpn
Script:
#!/bin/bash
adb forward tcp:41927 tcp:41927
sleep 2
sudo echo 'domain lan' > /etc/resolv.conf
sudo echo 'search lan' >> /etc/resolv.conf
sudo echo 'nameserver 192.168.56.1' >> /etc/resolv.conf
sleep 2
sudo openvpn --config azilink.ovpn
Obviamente, deve ter um plano de dados habilitado e funcionando no aparelho e as conexões (Wi-Fi, eth) não estar ativadas.
É mais fácil rebootar e entrar no Windows né!? Tenho que concordar, mas onde está a diversão nisso?!
Fontes
Dica também publicada em:
David Lopan - USB Tether com motorola android