miércoles, 10 de junio de 2009

Con el kernel hemos topado

Ha pasado una semana de leer mucho y escribir poco y parece que por fin se le ven las orejas al lobo.
Voy a dar un repaso a los planes inciales:
- Incluir en la distribución de XUbuntu que estoy usando algunas herramientas para la monitorización de WLANs, explicando paso a paso lo que voy haciendo: unas tres semanas
++ No he explicado demasiado bien lo que voy haciendo. Curiosamente los pasos que me parecían interesantes al principio ahora tiendo a verlos como casi triviales.
- Cambiar el sistema operativo de un Google Developer Phone 1 a XUbuntu con las herramientas incluidas: unas cuatro semanas
++ Más que "cambiar", he podido añadir una distribución Debian al *Androide*. Podría instalar las herramientas, pero no me serviría de mucho porque ni siquiera el iwconfig funciona.
- Desarrollo de una aplicación sencilla en el Android: unas ocho semanas
++ Aquí todavía no hemos llegado. Me gustaría que esta aplicación *sencilla* fuese un cliente para FICS, el Free Internet Chess Server. Hay algunos ejemplos de código que podría usar (estoy pensando en Mobi).
- Desarrollo de la aplicación de monitorización de WLANs: unas 16 semanas
++ Creo que habría que modificar este objetivo. iwconfig no funciona porque el driver que incluye el nucleo de Android no soporta "Wireless Extensions". Eso quiere decir que para incluir funcionalidad de WLAN de un Linux normal, necesitaría modificar cosas en el kernel, y para eso necesitaría acceso de root. Osea que no parece posible crear una aplicación normal de Android con una funcionalidad de WLAN muy distinta de lo que viene por defecto. El objetivo para ese mismo tiempo aprox. podría cambiarse a "instalar un driver WLAN en el Androide que soporte Wireless Extensions". Y me voy a poner a ello.

Tengo:
- Un blog, que uso de cuaderno de bitácora :-)
- Dos portátiles con Xubuntu 8.04 y android sdk.
- Un Google Dev Phone 1 con el nucleo JF 1.5.0 y Debian en el SD card.
- Un libro sobre como desarrollar Kernel Drivers en Linux.

Pasos que se me ocurren:
- Leerme el libro (1 semana).
- Crear drivers ejemplo en los portátiles usando el kernel de la distribución (1 semana).
- Crear drivers ejemplo en los portátiles usando el kernel de kernel.org (1 semana).
- Crear drivers ejemplo usando el kernel del Androide (1 semana).
- Compilar el driver para TI ACX100 junto con el kernel del Androide (1 semana).
- Leer sobre Wireless Extensions (1 semana).
- Analizar que le hace falta a este driver para soportar el TNETW1250 que aparentemente está integrado en el Androide y para soportar Wireless Extensions (1 semana).
- ... y me doy unas 10 semanas para hacer los cambios que hagan falta si decido seguir.

No hay comentarios:

Publicar un comentario