Sep 15 2009

Conectar OpenMoko al PC

En este post les describiré cómo conectar el OpenMoko a un computador para acceder a los archivos del OpenMoko transferir archivos en ambas vías y gestionar los paquetes del FreeRunner. Además es posible conectarse a internet en el FreeRunner utilizando el computador y probar por ejemplo las aplicaciones que hagan uso del GPS como TangoGPS (instalada por defecto en la mayoría de distros del OpenMoko).

Para leer un tutorial completo con los aspectos técnicos de la conexión y cómo hacerla de la manera fácil o avanzada, pueden verlo en esta página del wiki de OpenMoko.

Sin más preámbulos, voy a describir los pasos para tener un Neo FreeRunner conectado a nuestro PC de la manera más sencilla:

1. Aunque suene lógico, conectar el cable del PC al OpenMoko

En la terminal del computador digitamos estos comandos (como root o empleando sudo):

2. sudo ifconfig usb0/eth1 (en SHR) 192.168.0.200 netmask 255.255.255.0 up

En este paso, si tenemos OM instalado, la interfaz será usb0 (cero) y si tenemos por ej SHR, la interfaz será eth1
3. sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24
4. sudo sysctl -w net.ipv4.ip_forward=1

5. Ya podremos iniciar sesión remotamente en el OpenMoko usando ssh así:

ssh root@192.168.0.202

La primera vez que nos conectemos, el PC guardará una configuración para saber que nos estamos conectando a un host seguro; la contraseña del usuario root en el OpenMoko por defecto es vacía.

6. Hasta el paso anterior podremos hacer la mayoría de lo que necesitamos para actualizar/flashear el OpenMoko, y con los comandos adicionales que introdujimos en los pasos 3 y4, ya tendremos internet en nuestro FreeRunner con lo que podremos hacer las actualizaciones desde la consola de éste o simplemente disfrutar de las aplicaciones que hacen uso de internet (TangoGPS, Pidgin, etc)

Para probar conectividad a internet, el clásico:

ping www.google.com

Desde la terminal del PC (donde iniciamos la sesión ssh en el OpenMoko) bastará para saber si tenemos o no internet

Configuraciones Adicionales

Como siempre para las personas que desean ir más allá, GNU/Linux ofrece una o más alternativas de hacerlo.

* Es molesto tener que ejecutar siempre estos comandos que describí arriba cada vez que se conecta el OpenMoko al PC y aunque esta no es probablemente la forma más ortodoxa de solucionar ésto, cree un script que reúne estos comandos para ejecutarlos de una manera más sencilla. Vale la pena aclarar que está hecho para conectar con un OpenMoko que tenga SHR como distribución, para que funcione con OM, simplemente se cambia eth1 por usb0 (cero) como dije anteriormente.

La ejecución del script se tendría que hacer como usuario root (o con sudo) de la siguiente forma (si el archivo está en el escritorio):

sudo sh ~/Desktop/usb_networking.sh

* Si esto de recordar IP’s no va con ustedes, pueden agregar un nombre para el OpenMoko para que todo sea más fácil:

Se edita el archivo /etc/hosts (Por ej: sudo gedit /etc/hosts)

Y se añade una línea como ésta:

192.168.0.202   FreeRunner

Donde FreeRunner es el nombre que se le da al OpenMoko

Así, podríamos conectarnos con ssh digitando:

ssh root@FreeRunner

*Si la terminal no les parece suficientemente agradable para copiar archivos desde y hacía el OpenMoko, existe una forma para que los usuarios de Gnome accedan al sistema de archivos del OpenMoko a través de nautilus. Es muy sencillo, se abre una instancia de nautilus y en la ruta se introduce:

sftp://root@FreeRunner/

FreeRunner es el nombre que es estableció para el OpenMoko en el paso anterior

Aquí un pantallazo de ésta última parte que resume todo lo tratado en el post:

OpenMoko desde Nautilus

OpenMoko desde Nautilus

Eso es todo por ahora, esperen más adelante Por primera vez en el OpenMoko a través de ssh y Cómo instalar una distribución en el OpenMoko.

Don’t Worry…………Be Linux!!!!!!!!!!!!!


Aug 22 2009

Eliminar Caracteres extraños en unidades extraíbles

Buenas noches, hace unos días me venía molestando un problema en Arch Linux.

Cuando montaba una memoria USB con la que estaba trabajando en Windows, me salían caracteres extraños en los nombres de los archivos.

Traté varias soluciones, cambiando los locales a es_CO.iso8859-1 (Latin1), cambiando opciones en /etc/fstab y no daba con la solución.

Con la ayuda de pmount, supe que el iocharset de la memoria era ISO8859-1, en parroquiano: la codificación no tenía compatibilidad con los nombres de archivos de sistemas Windows:

$ pmount
Printing mounted removable devices:
/dev/sdb1 on /media/CRIS_USB type vfat (rw,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0000,allow_utime=0022,                    codepage=cp437,iocharset=iso8859-1)
To get a short help, run pmount -h

Mi configuración en /etc/rc.conf dice LOCALE=”es_CO.UTF-8″ entonces la aparente solución era cambiar de algún modo ese iocharset para que quedara como UTF-8. Al leer las páginas del manual de mount encontré esto en la sección de fat (formato de memorias USB):

iocharset=value
Character set to use for converting between 8 bit characters and
16 bit Unicode characters. The default is iso8859-1.  Long file‐
names are stored on disk in Unicode format.

Eso confirmaba que las memorias se montaban con ese charset por defecto: ISO8859-1.

Ya me estaba dando por vencido hasta que encontré una solución que salió de la mezcla de varias páginas que consulté. Comparto con ustedes los pasos para solucionar el problema (Esto funciona en Gnome, si alguien que use otro entorno gráfico puede decirnos como hacerlo en ese(esos) entorno(s) es bienvenido):

1. Abrimos el editor de configuración de Gnome

$ gconf-editor

2. Vamos a System -»storage -» default_options -»  vfat y nos ubicamos en la ventana de la derecha donde se ven claves, en este caso vemos una que dice mount_options

3. Editamos esa clave haciendo doble click en ella y nos aparece un botón para añadir más opciones a la clave, pulsamos este botón:

4. Añadimos como opción iocharset=utf8 . Guardamos los cambios dando click en aceptar y cerramos el editor de configuración de Gnome.

NOTA: Se escribe utf8 (todo pegado), probé muchas veces con utf-8 (el nombre lógico del charset) pero la unidad no se montaba. Al ver dmesg | tail aparecía: FAT: IO charset utf-8 not found. Así que no lo olviden, se escribe utf8 en la opción de montaje.

5. Por último, disfrutar de nuestros archivos con sus nombres bien escritos después de volver a montar la unidad USB

Y la salida de pmount nos dice:

$ pmount
Printing mounted removable devices:
/dev/sdb1 on /media/CRIS_USB type vfat (rw,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0000,allow_utime=0022, codepage=cp437,iocharset=utf8)
To get a short help, run pmount -h


Don’t Worry………Be Linux!!!!!!!!!!!


May 9 2009

Ocultar Volúmenes Montados en Debian

A continuación detallo la forma cómo se quitan los volúmenes (particiones, memorias USB, celulares) que al montarse en nuestro Debian (y otras distros) se ven en nuestro escritorio (Gnome). Es bastante sencillo:

1. Abrir el editor de configuración de gnome (gconf-editor): esto se puede hacer escribiendo gconf-editor en consola o yendo a Aplicaciones»Herramientas del Sistema»Editor de configuración
2. Vamos a apps»nautilus»desktop y seleccionamos/deseleccionamos las opciones según queramos. Para lograr que desaparezcan del escritorio los volúmenes cuando se monten, deseleccionamos la opcion “volumes_visible” y listo el pollo. Adicionalmente encontraremos opciones para ocultar también los íconos de Equipo, carpeta personal y Papelera por si nos interesa mostrar/ocultar alguno de ellos.

Ocultar volúmenes

PD: como dato curioso podemos ver que se pueden cambiar los nombres de los íconos del escritorio (Equipo, carpeta personal y papelera) dándole valor a las opciones del menú que vimos,
EJ: trash_icon_name
Aquí les dejo un pantallazo de cómo queda el escritorio sin íconos de Equipo, carpeta personal ni los volúmenes montados y además la Papelera se llama “La Basura” ahora.

Escritorio sin íconos de volúmenes montados

Escritorio sin íconos de volúmenes montados

Don’t Worry………Be Linux!!!!!!!!!!!