Tethering no Android
O que é tethering?
Tethering é uma maneira de acessar a Internet via celular, seja por WiFi, Bluetooth ou cabo USB.
WiFi
Este método converte o telefone em um roteador sem fio que se conectará ao computador via WiFi. Um procedimento facilmente acessível a partir do menu. Com o Android 4, você pode acessá-lo em Configurações -> Configurações de redes -> Mais -> Roteador Wi-Fi -> Roteador Wi-Fi portátil ou Vínculo por USB (tethering).
Uma vez no menu, você pode definir o nome da rede sem fio, segurança e até mesmo restringir os computadores pelo endereço MAC. É importante notar que esse método requer o uso intensivo do modem 3G e antena sem fio, assim você gastará muita bateria.
Por fim, valide a aplicação administradora de rede de sua escolha, por exemplo, a nova rede Wicd.
Tethering USB
Usando o DebianWheezy com GNOME, NetworkManager e Android 4.1.2, o processo era muito simples:
- conecte o celular ao seu computador
ative o tethering USB em Configurações -> Configurações de redes -> Mais -> Roteador Wi-Fi -> Vínculo por USB (tethering)
o NetworkManager identificou o celular com conexão de rede e você está pronto para ir
Doutra forma, o processo abaixo ainda pode ser necessário para dispositivos mais antigos ou configurações diferentes:
Para usar esse método, é necessário habilitar a depuração USB. Mas não em todos os dispositivos, tente primeiro sem depuração USB ou até mesmo tente desligue-a. Para o Android 4.0, você pode ativá-lo em Configurações -> Opções do desenvolvedor -> Depuração USB.
Você também deve ativar o compartilhamento de USB. Para Android 4.0 você pode fazer as configurações -> Wireless e rede -> Mais configurações -> Roteador Wi-Fi -> Vínculo por USB (tethering).
Dependendo da versão do Android, você tem que reiniciar o seu celular.
Desconecte e conecte a porta USB móvel ou o cabo USB. Se estiver depurando ou testando, desconecte também a rede sem fio.
Execute com sudo ou root:
ifconfig -a
Deve mostrar uma saída semelhante à seguinte:
eth0 Link encap:Ethernet HWaddr 04:7d:7b:3d:a5:fc UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:43 Base address:0xc000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:84 errors:0 dropped:0 overruns:0 frame:0 TX packets:84 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:7924 (7.7 KiB) TX bytes:7924 (7.7 KiB) usb0 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:ff BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Você vê um novo nó tipo de interface USBx (onde X é um número). No meu caso, usb0, dependendo do seu computador também pode ser usb1, usb2, etc. Geralmente é usb0, mas se não for e você tem várias portas USB, desconecte o telefone e execute o comando novamente para verificar qual interface desapareceu.
Trabalharemos os seguintes exemplos com usb0, pois é o mais o comum. Se não for esta, substitua por usb1, usb2, etc., nessas etapas.
Vamos configurar a interface usb0 para obter o DHCP e permitir a saída para a Internet através do telefone:
ifconfig usb0 up && dhclient usb0
Confira se o computador tem acesso à Internet.
Fontes
O sempre maravilhoso wiki do Arch
FixMe: usar ip em vez de ifconfig