- Todavía voy por el capítulo 4 del LDD3, pero tendré que imprimirme alguno más porque parece que por fin me va a hacer falta saber algo de módulos.
- Me bajé el manual del ThinkPad de la web de Lenovo (ni siquera sabía que IBM había dejado lo de los portátiles), y descubrí que con Fn-F8 se podía arreglar lo de la pantalla.
- La semana pasada pensaba que había compilado el kernel del Androide, pero lo que había hecho era bajarme un binario con el kernel y compilar el framework. El proceso de construcción ignoraba los fuentes del kernel. Este viernes sí que sí que está funcionando mi ADP1 con el kernel que he compilado yo mismo. Lo mío me ha costado, especialmente encontrar una versión de los fuentes que compile y que sea compatible con lo que tengo.
- Vamos que estoy exactamente igual que como pensaba que estaba la semana pasada, pero ahora de verdad, ... y bastante más optimista porque empiezan las vacaciones!!!!!!!
sábado, 27 de junio de 2009
viernes, 19 de junio de 2009
Las cosas empiezan a ir despacio
Respecto a los planes de la semana pasada:
- Aún no me he leído el libro de Linux Device Drivers. Sigo en ello, aunque puede que me lo compre. Tener una versión en papel hace las cosas más fáciles, de hecho estoy empezando a imprimirlo capítulo a capítulo.
- No se como compilar modulos del Kernel de Linux en Ubuntu/Debian sin compilar el kernel completo, así que he decidido saltarme ese paso. Ahora tengo un kernel de kernel.org que funciona mucho más rápido que el de Ubuntu! y además puedo compilar módulos sin problemas siguiendo el procedimiento que se indica en el libro. El entorno gráfico funciona correctamente, aunque tengo que tener cuidado de no hacer las actualizaciones de drivers que propone Ubuntu (que casi, casi seguro que no iban a funcionar con el nuevo kernel).
- Mi hija ha conseguido cambiar la configuración de pantalla de uno de los portátiles a base de aporrear el teclado sobre el arranque !!!!! Ahora en modo texto se ve todo más pequeño en un cuadro en el centro de la pantalla. De momento no he logrado volver a la normalidad, pero sigo intentando. No es la primera vez que me pasa algo parecido, también logró poner en el display de un teléfono inalámbrico de casa la fecha y hora en vez de "Philips 1" y por más que he intentado hacer lo mismo con el "Philips 2" ha sido imposible.
- En el Androide también he podido compilar el kernel con algunos cambios sin importancia (más que nada para asegurarme de que estaba funcionando con el kernel nuevo).
Siguientes pasos:
- Acabar de leerme el libro de LDD3.
- Leerme la info de Wireless Extensions.
- Compilar un módulo para el kernel del Androide.
- Empezar a añadir comentarios al código del driver del TNETW1250 en el Androide.
- Aún no me he leído el libro de Linux Device Drivers. Sigo en ello, aunque puede que me lo compre. Tener una versión en papel hace las cosas más fáciles, de hecho estoy empezando a imprimirlo capítulo a capítulo.
- No se como compilar modulos del Kernel de Linux en Ubuntu/Debian sin compilar el kernel completo, así que he decidido saltarme ese paso. Ahora tengo un kernel de kernel.org que funciona mucho más rápido que el de Ubuntu! y además puedo compilar módulos sin problemas siguiendo el procedimiento que se indica en el libro. El entorno gráfico funciona correctamente, aunque tengo que tener cuidado de no hacer las actualizaciones de drivers que propone Ubuntu (que casi, casi seguro que no iban a funcionar con el nuevo kernel).
- Mi hija ha conseguido cambiar la configuración de pantalla de uno de los portátiles a base de aporrear el teclado sobre el arranque !!!!! Ahora en modo texto se ve todo más pequeño en un cuadro en el centro de la pantalla. De momento no he logrado volver a la normalidad, pero sigo intentando. No es la primera vez que me pasa algo parecido, también logró poner en el display de un teléfono inalámbrico de casa la fecha y hora en vez de "Philips 1" y por más que he intentado hacer lo mismo con el "Philips 2" ha sido imposible.
- En el Androide también he podido compilar el kernel con algunos cambios sin importancia (más que nada para asegurarme de que estaba funcionando con el kernel nuevo).
Siguientes pasos:
- Acabar de leerme el libro de LDD3.
- Leerme la info de Wireless Extensions.
- Compilar un módulo para el kernel del Androide.
- Empezar a añadir comentarios al código del driver del TNETW1250 en el Androide.
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.
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.
domingo, 31 de mayo de 2009
Debian en el Android Phone
Esto fue mucho más fácil de lo que pensaba. Me bastó seguir el tutorial en http://www.saurik.com/id/10. También lo intenté con Ubuntu, pero no hubo manera. Yo uso la versión 8.04 que no está portada a ARM y cuando intento hacer un debootstrap a feasty, falla.
Por el camino, he decidio usar XUbuntu en modo texto, para que vaya algo más rápido (udpate-rc.d -f gdm remove) y evitar usar el sudo en cada comando que necesita root access (passwd root).
El siguiente paso va a ser intentar que el Debian en el Android Phone se parezca lo más posible a el XUbuntu en los portátiles. Y también conseguir un terminal para el Android Phone que me permita acceder al Debian sin tener que usar un ordenador.
Por el camino, he decidio usar XUbuntu en modo texto, para que vaya algo más rápido (udpate-rc.d -f gdm remove) y evitar usar el sudo en cada comando que necesita root access (passwd root).
El siguiente paso va a ser intentar que el Debian en el Android Phone se parezca lo más posible a el XUbuntu en los portátiles. Y también conseguir un terminal para el Android Phone que me permita acceder al Debian sin tener que usar un ordenador.
lunes, 25 de mayo de 2009
Herramientas ya existentes
Debido a un fin de semana bastante flojo en otros aspectos, he alcanzado el primer objetivo en solo un par de días. Esto es, ya tengo en mi distribución de XUbuntu en el disco duro de un Compaq M700 las herramientas necesarias para monitorizar (e incluso descubrir claves de algunas) WLANs de mi vecindario. En lo que voy más flojo es en el tema de la documentación, así que aquí vamos.
Haciendo búsquedas en el Google, me pareció interesante una distribución Linux en LiveCD llamada WifiSlax. Me fui a la web www.wifislax.com y me bajé la imagen ISO de la versión 3.1. Con esta versión y con un sencillo tutorial en la web (http://amuchahonra.blogspot.com/2008/09/piratear-redes-wlanxx-de-telefnica-con.html), es posible descubrir las claves de algunas redes WiFi con el router ADSL de Telefónica. Al hacerlo resulta interesante aprender:
- el uso de ifconfig y iwconfig para configurar interfaces de red inalámbrica en Linux (herramientas del sistema operativo)
- que existe una herramienta (aircrack-ng) que se puede utilizar para visualizar las redes inalámbricas que se reciben en un punto y probar claves de encriptación.
Lo de probar claves de encriptación tiene su gracia, porque resulta mucho más fácil de lo que uno pudiera pensar encontrar la clave correcta. La gracia está en que las redes con essid WLAN_XX vienen con una clave por defecto construida con una regla que determina 94 de los 126 bits de la clave de encriptación WEP. Alguien ha escrito una herramientilla que genera un fichero con las 65536 claves posibles (no se tuvo que romper mucho la cabeza) y esto combinado con la utilidad aircrack-ng nos permite encontrar la clave de uno de estas redes en pocos minutos.
¿Qué es necesario para tener estas herramientas en una distribución de Linux?
Por si alguien está buscando otra cosa, he encontrado una explicación relacionada: http://www.infolinuxblog.com/seguridad/convirtiendo-ubuntu-en-una-navaja-inalambrica
En mi XUbuntu lo único que me ha hecho falta es:
- Instalar el openssl, última versión, bajandome las fuentes de la red, descomprimiéndolas y haciendo "make", "make install".
- Instalar la última versión de aircrack-ng, de la misma manera, pero modificando "common.mak" para que incluya las librerias del openssl. La versión beta que se instala con el "apt-get" no funcionaba bien.
Despúes probé "airodump" para ver las redes inalámbricas, e incluso verifiqué que era posible encontrar alguna de las claves usando con el "wlandecrypter" 1.0 y aircrack.
El próximo objetivo es realizar la instalación desde cero en un IBM ThinkPad con una tarjeta US Robotics a ver si me va igual de bien.
Haciendo búsquedas en el Google, me pareció interesante una distribución Linux en LiveCD llamada WifiSlax. Me fui a la web www.wifislax.com y me bajé la imagen ISO de la versión 3.1. Con esta versión y con un sencillo tutorial en la web (http://amuchahonra.blogspot.com/2008/09/piratear-redes-wlanxx-de-telefnica-con.html), es posible descubrir las claves de algunas redes WiFi con el router ADSL de Telefónica. Al hacerlo resulta interesante aprender:
- el uso de ifconfig y iwconfig para configurar interfaces de red inalámbrica en Linux (herramientas del sistema operativo)
- que existe una herramienta (aircrack-ng) que se puede utilizar para visualizar las redes inalámbricas que se reciben en un punto y probar claves de encriptación.
Lo de probar claves de encriptación tiene su gracia, porque resulta mucho más fácil de lo que uno pudiera pensar encontrar la clave correcta. La gracia está en que las redes con essid WLAN_XX vienen con una clave por defecto construida con una regla que determina 94 de los 126 bits de la clave de encriptación WEP. Alguien ha escrito una herramientilla que genera un fichero con las 65536 claves posibles (no se tuvo que romper mucho la cabeza) y esto combinado con la utilidad aircrack-ng nos permite encontrar la clave de uno de estas redes en pocos minutos.
¿Qué es necesario para tener estas herramientas en una distribución de Linux?
Por si alguien está buscando otra cosa, he encontrado una explicación relacionada: http://www.infolinuxblog.com/seguridad/convirtiendo-ubuntu-en-una-navaja-inalambrica
En mi XUbuntu lo único que me ha hecho falta es:
- Instalar el openssl, última versión, bajandome las fuentes de la red, descomprimiéndolas y haciendo "make", "make install".
- Instalar la última versión de aircrack-ng, de la misma manera, pero modificando "common.mak" para que incluya las librerias del openssl. La versión beta que se instala con el "apt-get" no funcionaba bien.
Despúes probé "airodump" para ver las redes inalámbricas, e incluso verifiqué que era posible encontrar alguna de las claves usando con el "wlandecrypter" 1.0 y aircrack.
El próximo objetivo es realizar la instalación desde cero en un IBM ThinkPad con una tarjeta US Robotics a ver si me va igual de bien.
sábado, 23 de mayo de 2009
Día uno: planificación incial
Hola,
hoy he decidido entretenerme de vez en cuando con algo de cacharreo Linux, pero con un objetivo medio claro y un plan. El objetivo a grosso modo es desarrollar una aplicación para Android que permita una monitorización de las WLAN mejor que la que viene por defecto.
El plan es algo así:
- Estimación de lo que me va a costar hacerlo: unas 300 horas
- Tiempo de dedicación aproximado: 6 horas a la semana (es que tengo trabajo y una hija)
- Fecha de finalización aproximada: verano 2010
- Tareas:
++ 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
++ Cambiar el sistema operativo de un Google Developer Phone 1 a XUbuntu con las herramientas incluidas: unas cuatro semanas
++ Desarrollo de una aplicación sencilla en el Android: unas ocho semanas
++ Desarrollo de la aplicación de monitorización de WLANs: unas 16 semanas
hoy he decidido entretenerme de vez en cuando con algo de cacharreo Linux, pero con un objetivo medio claro y un plan. El objetivo a grosso modo es desarrollar una aplicación para Android que permita una monitorización de las WLAN mejor que la que viene por defecto.
El plan es algo así:
- Estimación de lo que me va a costar hacerlo: unas 300 horas
- Tiempo de dedicación aproximado: 6 horas a la semana (es que tengo trabajo y una hija)
- Fecha de finalización aproximada: verano 2010
- Tareas:
++ 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
++ Cambiar el sistema operativo de un Google Developer Phone 1 a XUbuntu con las herramientas incluidas: unas cuatro semanas
++ Desarrollo de una aplicación sencilla en el Android: unas ocho semanas
++ Desarrollo de la aplicación de monitorización de WLANs: unas 16 semanas
Suscribirse a:
Entradas (Atom)