Pular para o conteúdo

USB Tether com Motorola Android

Dica publicada em Linux / Introdução
Alessandro Martins lopanrs
Hits: 7.116 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

USB Tether com Motorola Android

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"
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.


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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Como instalar RemixOS com dual boot no Linux

Acessar o site do banco Banrisul com o leitor de cartões no Arch Linux / Manjaro

Linguagem de Programação C - Introdução (Parte 1)

Trabalhando com Xampp no Linux

Hack 'n' Cast v0.5 - por que usar GNU/Linux

Sistema de rastreamento gratuito para Linux

Alt Linux, uma distro russa promissora!

#1 Comentário enviado por lopanrs em 02/04/2013 - 21:26h
Caso tenha o erro: Linux ip link set failed: could not execute external program
O parametro --iproute /sbin/ip no script ou na linha de comando do openvpn resolve se o programa estiver em /sbin note que pode estar em outro lugar, O comando 'whereis ip' acha ele pra voce.

Contribuir com comentário

Entre na sua conta para comentar.