Red por USB: tethering

Queremos conectar un ordenador por cable USB con el móvil y correr TCP/IP sobre tal anclaje, tal vez hasta conectarnos a Internet, como en este esquema:

ordenador ---(USB)---> BQ ---(datos del móvil) ---> Internet

El dispositivo ofrece soporte de tethering y tenemos que configurarlo, usando la aplicación de terminal:

$ android-gadget-service enable rndis

Lo ejecuto cada vez que reinicio el móvil desde el terminal con un pequeño scipt ~/rndis.sh:

#!/bin/sh
android-gadget-service enable rndis

Para hacer esto más fácil, he asociado el lanzamiento de ~/rndis.sh a una tecla de control en la aplicación de terminal.

Dicho script cambia el protocolo utilizado por el puerto USB de MTP a tethering y crea una interfaz de red con nombre rndis0 y le asigna la dirección IP 10.42.0.1. Ubuntu en el teléfono, corre un servicio de DHCP que ofrece al ordenador, al otro lado de la conexión, un número de IP en la misma subred, por ejemplo 10.42.0.19. También ofrece servicio de DNS si el móvil está conectado a Internet.

Conectarse al móvil por SSH es tan fácil como hacer:

$ ssh phablet@10.42.0.1
Welcome to Ubuntu Utopic Unicorn (development branch) (GNU/Linux 3.4.67 armv7l) > 
...
$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG        0 0          0 wlan0
10.42.0.0       0.0.0.0         255.255.255.0   U         0 0          0 rndis0
172.28.23.131   0.0.0.0         255.255.255.255 UH        0 0          0 ccmni0
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0

Queda la cuestión de si se puede hacer el cambio a tethering de forma permanente. Oliver Grawert ha dicho en la lista:

Oliver Grawert:
you can't, it is hardcoded on boot to always have working mtp (until
there is a UI option to turn it on or off, we want regular users to
always be able to exchange files), but you can override it in a user
pstart job that runs at a later point ...

Create /home/phablet/.config/upstart/rndis.conf with the following
content:

--------------- snip ------------------
start on started indicator-network

task

script
    android-gadget-service enable rndis
end script

--------------- snap ----------------

When the interface rndis0 is enabled, somehow HTTPS access to
the Ubuntu's app store is no longer possible; investigating ...

Última actualización: jueves, 19 de noviembre de 2015, 20:44:29 CET

Last updated