Bem, isso pode ser feito com dispositivos 2.2+ com raiz. Não é simples.
Antes de começar, você pode achar mais fácil comprar um dongle USB Wifi barato e compartilhar a conexão com seu telefone por meio dele. É um procedimento muito mais simples e não requer raiz no telefone.
Mas aqui está como fazer isso por USB:
-
Coloque seu telefone no modo de depuração USB (em configurações → aplicativos → usb). Ligue o telefone.
-
Você precisa ativar o compartilhamento de USB no telefone. No meu SGS2, isso fica em Configurações → Sem fio e rede → Tethering e pontos de acesso portáteis.
Neste ponto, um novo dispositivo de rede será adicionado ao computador (
usb0
). -
Dispare os seguintes comandos para conectar a eth0 e sua nova conexão USB.
sudo apt-get install bridge-utils sudo brctl addbr br0 for i in eth0 usb0; do sudo ifconfig $i 0.0.0.0 sudo brctl addif br0 $i done sudo ifconfig br0 up sudo dhclient br0 # might take a few seconds
-
Em seguida, carregue um terminal no seu telefone (ou use o shell SDK adb) e dispare (como root):
netcfg usb0 dhcp
Para inverter tudo:
for i in eth0 usb0 br0; do sudo ifconfig $i down; done
sudo brctl delbr br0
sudo ifconfig eth0 up
sudo dhclient eth0
Para tornar as coisas um pouco mais fáceis, existem alguns aplicativos por aí que fazem o lado do telefone (ASProxy, por exemplo), mas você ainda precisa de um dispositivo 2.2 com root. O lado do computador das coisas pode ser roteirizado. Você pode até conectar-se ao udev para disparar esses comandos quando conectar o telefone (e destruir a ponte quando desconectá-lo).