|
Esta sección es un esbozo en construcción. Se aprecian tus aportes y paciencia |
Cómo conectar el PC y el OpenMoko por la red USB
Categorías: Telefonía Móvil | OpenMoko |
Contents
1. Introducción
Este escrito explica como configurar su PC y su OpenMoko para que puedan conectarse vía el cable USB. Cuando ya se tiene una comunicación efectiva explica como tener un shell remoto (ssh) que más adelante (en otro escrito) servirá para configurar y actualizar de forma más fácil su dispositivo OpenMoko, y finalmente explica como hacer todo esto permanente.
Lo que motiva este escrito es que el documento USB Networking del wiki de OpenMoko supone un conocimiento de redes, pero sobre todo no presenta el material en el orden en que se debe hacer el proceso, sino que más bien en un orden conceptual, lo cual para una persona que no tienen conocimientos en redes constituye un verdadero laberinto que sólo puede ser resuelto con mucho tiempo de prueba y error.
Por lo anterior la estructura de este escrito corresponde al orden en como se configuran las máquinas.
2. Convenciones
En éste se llamará PC al equipo anfitrión, el computador de escritorio o portátil y se llamará OpenMoko al móvil o celular, ya sea el Neo1973 (GTA01) o el FreeRunner (GTA02); es importante esto porque algunos comandos deben digitarse en una u otra máquina. También hay que estar al pendiente que algunos comandos hay que digitarlos como root y otros como usuario normal. En el escrito se dice previamente cual es el caso.
3. Probado en
Este procedimiento ha sido probado en:
PC con Debian Lenny, kernel 2.6.24; FreeRunner distribución 2007.2
- con kernel 2.6.24
PC con Debian Lenny, kernel 2.6.24; FreeRunner distribución 2008.8
- con kernel 2.6.24
- (Agregar aquí otras combinaciones con las que ha servido el
- procedimiento de este escrito, una por línea).
4. Pre-requsitos
- Una máquina con GNU/Linux instalado con al menos un kernel 2.6.24
Un Neo1973 (GTA01) o un FreeRunner (GTA02)
5. Conectando
Prender el PC, prender el OpenMoko.
Conectar el cable USB al OpenMoko y conectarlo al PC.
Como root en el PC, subir el módulo (aunque en Debian Lenny no es necesario, lo hace automáticamente):
modprobe usbnet
Como root en el PC, configurar el dispositivo usb0 con dirección IP fija:
ifconfig usb0 192.168.0.200 netmask 255.255.255.0
Probar que que tengamos conexión con el OpenMoko cuya dirección IP es 192.168.0.202. Como usuario normal en el PC:
ping 192.168.0.202
Debe salir algo como lo siguiente (oprima ctrl-c para salir del ping):
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data. 64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=1.14 ms 64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=1.32 ms 64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=1.27 ms 64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=1.19 ms [...]
Si sale lo anterior, listo, ya tenemos conexión con el OpenMoko.
6. Shell remoto
Ahora vamos a entrar remotamente al OpenMoko con un shell, para ello en un usuario normal en el PC:
ssh root@192.168.0.202
Debe salir algo como:
The authenticity of host '192.168.0.202 (192.168.0.202)' can't be established. RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX... Are you sure you want to continue connecting (yes/no)?
Lo que está al frente de RSA key fingerprint muy seguramente es diferente. A continuación digite la palabra completa yes para aceptar la conexión al OpenMoko. Lo del yes sólo tiene que hacerse la primera vez.
En este momento debe verse algo como:
Warning: Permanently added '192.168.0.202' (RSA) to the list of known hosts. root@192.168.0.202's password:
En el password oprimir Enter, que es el que trae por omisión el OpenMoko. Debe salir algo como:
root@om-gta02:~#
Que es el prompt del OpenMoko. En él puede digitar los acostumbrados comandos como ls /usr/bin.
De aquí en adelante cuando el escrito se refiera a OpenMoko es ésta consola a la que se hace referencia.
7. Enrutando por el PC
Para poder hacer que el OpenMoko pueda navegar por Internet o actualizar paquetes una de las formas es enrutar por el PC (otras es por GPRS, la WIFI y hasta el Bluetooth).
Para que el OpenMoko enrute por el PC. En el OpenMoko editar:
vi /etc/network/interfaces
El vi es el editor que trae por omisión el OpenMoko.
Ubique el siguiente texto:
iface usb0 inet static
address 192.168.0.202
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200
up echo nameserver 192.168.0.200 >/etc/resolv.confVerifique que en gateway diga:
gateway 192.168.0.200
Para salirse grabando de vi oprima la tecla ESC después dos puntos, la tecla x y Enter.
En el PC, como root, digite:
route add -host 192.168.0.202/32 dev usb0
También en el PC como root, digite:
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 iptables -P FORWARD ACCEPT
Lo anterior hace que el iptables pase los paquetes que viene de la red 192.168 a la conexión Internet del PC.
En este momento es bueno probar que está haciendo el pase. En el OpenMoko probar haciendo ping a algún servidor en Internet, por ejemplo a google:
ping 64.233.187.99
Si no sale la respuesta del ping puede ser que esté detrás de un proxy que le está filtrando los paquetes ping.
En ese caso se podría verificar con un navegador, pero no viene instalado ninguno de fábrica
7.1. Dejar el enrutamiento permanente
El anterior enrutamiento se pierde cada vez que se apaga el PC. El dejarlo permanente varía con cada distribución:
7.1.1. Para Debian y sus derivados (por ejemplo Ubuntu)
En el PC, como root, editar /etc/network/interfaces y poner las siguientes líneas al final:
# La conexión con el !OpenMoko
allow-hotplug usb0
iface usb0 inet static
address 192.168.0.200
netmask 255.255.255.0
network 192.168.0.0
post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -P FORWARD ACCEPT
8. Configurar el DNS
Hasta ahora podemos navegar por internet pero sólo con direcciones IP y no por nombres de dominio. Esto es, hay que navegar con 64.233.187.99 en vez de google.com. Para ello hay que configurar el DNS.
Lo primero es tener una dirección de un DNS, sino sabe ninguna puede averiguar la de su proveedor de internet de la siguiente manera. En el PC como usuario normal digite:
cat /etc/resolv.conf
Debe salir algo como:
nameserver 190.157.2.140
Claro, en su caso la dirección debe ser otra, llamaremos a ésta la dirección IP del servidor DNS.
En el OpenMoko editar:
vi /etc/resolv.conf
Y poner la dirección IP del servidor DNS de la siguiente forma (en vi hay que digitar la i para insertar):
nameserver 190.157.2.140
Ahora grabe y salga. Si no recuerda vi, los comandos son: Tecla ESC, luego dos puntos seguido de la letra x y Enter.
Probar haciendo ping a algo, por ejemplo a google:
ping google.com
Ya sabe, puede si está detrás de un proxi el ping no contestará.
Con lo anterior cada vez que prenda el OpenMoko hay que repetir el procedimiento, para dejarlo permanente está el siguiente procedimiento:
8.1. Dejar el DNS permanente
En el OpenMoko editar:
vi /etc/network/interfaces
Ubicar el siguiente texto:
auto usb0
iface usb0 inet static
address 192.168.0.202
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200Después de gateway añada la siguiente línea, recuerde, ésta dirección es distinta en su caso:
up echo nameserver 190.157.2.140 >/etc/resolv.conf
Si quiere una guía debe quedar de la siguiente forma:
auto usb0
iface usb0 inet static
address 192.168.0.202
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200
up echo nameserver 190.157.2.140 >/etc/resolv.conf Grabe y salga del editor.
9. Para conectarse por nombre al OpenMoko
Para no tener que aprenderse la dirección IP del OpenMoko se puede asignarle un nombre. En el PC y como root edite el archivo /etc/hosts
emacs /etc/hosts
Añada la siguiente línea:
192.168.0.202 OpenMoko
Ahora puede hacer lo siguiente:
ssh root@OpenMoko
Vuelve a salir:
The authenticity of host 'OpenMoko (192.168.0.202)' can't be established. RSA key fingerprint is XX:XX:XX:XX... Are you sure you want to continue connecting (yes/no)? yes
digite yes
Y listo entró por nombre a su OpenMoko.
Es de notar que el nombre OpenMoko es arbitrario, puede ser cualquiera.
10. ¿Qué hacer ahora?
Ya teniendo esta configuración puede hacer muchas cosas con su OpenMoko. Una pequeña lista:
Actualización del OpenMoko vía opkg: Éste es un procedimiento para actualizar el software de su OpenMoko.
Configuraciones básicas del OpenMoko.
- Cómo usar TangoGPS
11. Que falta
- El cómo configurar el enrutamiento para distribuciones diferentes de Debian y sus derivados.
Probar el procedimiento con un Neo1973 (GTA01) pues sólo se ha probado con un FreeRunner (GTA02).
- Cómo configurar el iptables cuando el PC está detrás de un proxy (un proxy detrás de un proxy).
Escribir los documento que se insinúan en ¿Qué hacer ahora?.
12. Enlaces
USB Networking El documento base de la red por USB de OpenMoko.
