A Django site.
Agosto 13, 2011
» Actualización de Android en Motorola XOOM

Hace un tiempo me compré una Motorola XOOM con la promoción de Personal. Mi mayor curiosidad era saber para qué me podía servir a mi un dispositivo como este. Dí muchas vueltas para comprarla porque la veía poco útil.

Elegí esta tableta en particular porque traía Android, el sistema operativo más libre (y popular) que conozco para dispositivos móviles… sí, ya sé que está algo lejos de ser bastante libre, pero bueh…

Al tiempo de usarla empezó a tener problemas de software, el cliente de correo que trae crasheaba demasiado seguido y no era la única aplicación que explotaba. Revisando por internet encontré que había dos releases más modernos publicados por Google y mi tableta no los tenía. Lo primero que pensé es que Personal no los había liberado aún, esto fue más bien por desconocimiento del funcionamiento de las actualizaciones en el ambiente Android (sigo sin saber muy bien cómo es, si es que Google libera en su repositorio y todos los dispositivos se actualizan o si esto puede ser manipulado por la compañía de teléfonos o distribuidor del aparato). En fin… la realidad es que estaba clavado en Android 3.0 y ya estaba dando vueltas Android 3.1 e incluso 3.2.

Dado que la tableta es un dispositivo no esencial para mi vida me decidí a actualizarla a manopla.

Como estuve una buena cantidad de horas con esto pensé en escribir un artículo técnico para que otro pudiera hacerlo más velozmente.

Todas estas explicaciones técnicas son para hacer desde un Linux, los usuarios de otros sistemas operativos les puede servir la explicación de cómo funcionan estas cosas.

La tableta parece tener –como las computadoras comunes– dos instancias de booteo, primero ejecutan un software que vendría a ser un “BIOS” y luego cargan el sistema operativo. El “BIOS” de la Xoom está en una región de memoria no escribible fácilmente (por lo menos no encontré cómo, pero eso es bueno, porque de sobrescribir mal esta sección brickeas la tableta y fuiste), este software tiene unas pocas opciones que te permiten:

  • Acceder a la imagen de recuperación (esto es un software que se puede modificar)
  • Ponerla en modo de Fastboot Protocol (esto sirve para cambiar el sistema operativo que bootea la tableta)
  • Y hay un modo RSD que no sé qué es, ni para qué sirve.

 

El cómo…

Lo primero que hay que hacer es tener un cable USB para la tableta que funcione bien (si no tenes uno podes usar el de los teléfonos BlackBerry o Nexus1), también preparar el Linux para que detecte la tableta al conectarla por el cable USB.

 

Preparación de Linux

La preparación del Linux es simple:

sudo touch /etc/udev/rules.d/51-android.rules
echo "SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"22b8\", MODE=\"0666\"" |sudo tee -a /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart

Con esto Linux ya debería ver la tableta al enchufar el USB, más información y con más detalle sobre esto acá.

Herramienta para cargar ROMs

Luego hay que bajar el software de fastboot para Linux. Hay otro que se llama ‘adb‘ que es muy útil, pero está pensado para hacer bastantes más cosas y para quienes desarrollan aplicaciones para Android.

Como solo se necesita fastboot, lo podes descargar de esta página (que te lo dan todo compiladito). Alternativamente podes bajar tooooodo el SDK de Android para Linux (con sus prerequisitos) y luego compilar los fuentes de fastboot.

 

Bajar ROMs

Motorola publica las diferentes versiones que tiene de Android para tabletas Xoom aća. Yo probé casi todas las ROMs que publican y todas funcionaron en mi Motorola Xoom de Personal (que viene con 3G y wifi), menos la de Verizon. Lo que no sé es si todas las Xoom son iguales a nivel hardware y es el software quien activa el 3G o el wifi. Incluso te da las instrucciones para cambiar las ROM en esa página.

Cada ROM viene con 4 archivos dentro (recovery.img, system.img, userdata.img y boot.img).

Para cargar la ROM lo que hay que hacer es reiniciar la tableta y cuando está prendiendo apretar el botón de “bajar volúmen” (el que está sobre el contorno izquierdo del dispositivo). Cuando aparece la leyenda “Starting Fastboot protocol support.” ya se pueden empezar a ejecutar estos comando:

El clásico WARNING: Aća es donde borras todo y perdes la garantía que tenes del aparato, sabelo porque es exactamente lo que estás por hacer. Además… a no venir con reclamos, si no funciona es tu culpa por hacer cosas que no debes (como no hacerle caso al fabricante ;-) ) y no es mi culpa. A quién se le ocurre??? andar hackeando cosas… no hacer lo que le dicen que hay que hacer y caminar por otra senda que la indicada.

Entonces, primero descomprimis el archivo que contiene la ROM (el que trae los cuatro archivos .img) y luego en modo fastboot protocol ejecutas:

fastboot oem unlock

(y seguís las instrucciones de la pantalla de la xoom, luego se reiniciará nuevamente, de nuevo tenes que apretar el botón para bajar el volúmen y cuando esté de nuevo en modo fastboot protocol ejecutas: )

fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash recovery recovery.img
fastboot flash userdata userdata.img
fastboot erase cache
fastboot erase userdata
#fastboot oem lock (esto no es obligatorio)
fastboot reboot

Al reiniciar va a ejecutar el nuevo sistema operativo y te va a pedir todos los datos que te pidió cuando la compraste y prendiste por primera vez.

Hasta ahora NADA nuevo, porque estas ROMs son las que vienen con la XOOM de fabrica. Si queres la ROM que te permite actualizar (por vía normal, o sea, desde Google) a Android 3.2 tenes que bajarte la ROM del Build HWI69 de esta página. Esta ROM viene con Android 3.0, pero al registrar tu Xoom con tu cuenta de Google empieza a bajarte las actualizaciones (a 3.1 primero y luego a 3.2), pero esta ROM solo es para wifi.

Con esa ROM vas a tener Android 3.2 pero solamente con wifi.

La alternativa a esto es utilizar la ROM de la gente de Tiamat. Usando esta ROM vas a tener Android 3.2 y además ya está rooteada, por lo que no será necesario poner otros boot.img para permitir ejecutar comandos como root.

Para trabajar con esta ROM hay que hacer algo previo que es cambiar la imagen de recovery (recovery.img). La imagen de recovery no es un backup de tu imagen en uso (que te permite restaurar lo que tenías de fábrica), sino que es un “sistema operativo” que te permite instalar otras ROMs, formatear todo, borrar todos los datos de usuario, básicamente te permite tratar de recuperar el sistema.

Hay un “sistema operativo” de recovery que se llama ClockWorkMod que extiende las posibilidades y te permite hacer cosas como instalar una ROM leyendo la microSD (un disco flash que podes poner y sacar de la tableta y no tener que usar el cable USB), algo indispensable para instalar la ROM de la gente de Tiamat utilizando el archivo .ZIP y no el .IMG (que se usa si lo haces en modo fastboot con la herramienta).

Seguí las instrucciones de esta página y vas a poder cambiar el “sistema operativo” de recovery. Una vez hecho booteas en modo recovery (apretas el botón para bajar el volumen 3 segundos después de que aparece el primer logo al iniciar) y desde este nuevo recovery instalas la ROM de Tiamat.

La ROM de Tiamat no reemplaza toooodo, sino que cambia el kernel y algunas cosas más. Si vas a instalar la ROM de Tiamat hacelo teniendo instalado la ROM de fábrica. A mi me pasó que instalando la ROM de Tiamat no tenía forma de conectarme al 3G de Personal. Esto era porque instalé la ROM modificando una base de ROM de Motorola solo para wifi (que no tiene la posibilidad de configurar 3G). Volví todo atrás, puse la versión de Motorola que tiene 3G y wifi para LATAM y al modificar esa base con la ROM de Tiamat pude usar 3G sin problemas.

Todo muy lindo… pero luego de todo esto, todo este tiempo probando cosas y aprendiendo cómo funcionan y bootean estos dispositivos y teniendo Android 3.2 con todos los chiches… el cliente de correo sigue explotando :-D . Pero ya no me importa tanto.

Suerrrrrte! Espero que te sea útil.

 

Páginas útiles:

http://yosoyandroid.com/?p=6957

http://forum.xda-developers.com/archive/index.php/t-1049485.html

Marzo 1, 2010

Criado Indomable
Sebastian D. Criado
Criado Indomable trata sobre »
» lugro-mesh-logo.gif

Logo Red Lugro-Mesh

El siguiente es un resumen de las estadísticas de la red LUGRo-Mesh al mes de Febrero de 2010.
Hasta la fecha se cuenta con 26 nodos operativos y se han registrado 1553 personas. Al contrario de lo que se esperaba, se volvió a una tasa de crecimiento que supero a los 200 usuarios.

Y, por si fuera poco, se registro la mayor actividad de conexiones desde la creación de la red. Una muy buena noticia.

Las estadísticas tanto General como del propio mes de Febrero pueden ser vistas desde el wiki del proyecto.


Mayo 8, 2009

Leonardo Andrés Gallego
hombrepac
Leonardo Andrés Gallego trata sobre »
» Arch Linux + netcfg + wifi-select = el combo wifi livianito

En Arch Linux tenemos un sistema para la administración de redes, tanto wireless (inalambricas) como ethernet (de cable), fue desarrollado por uno de los devs. de Arch y a mi parecer, es el mejor modo de configurar la red ya que soporta wifi sin encriptar, wep, wpa, wpa2, ethernet e inclusive ppp. Es de uso obligatorio si usamos perfiles.

Para que sirven los perfiles? Básicamente es para laptops. La realidad es que si uno utiliza una PC de escritorio, rara vez deberá cambiar la configuración de red y no tiene sentido correr un demonio + aplicación constantemente para realizar esta tarea. Entonces, si tenemos una laptop, tenemos wireless y ethernet. En algunas situaciones usaremos un tipo de conexión (preferentemente wireless), pero en casos que no tengamos disponible, recurriremos a una ethernet. Inclusive cuando accedemos vía wifi, muchas veces lo hacemos desde distintas conexiones o lugares.

Como manejar todas estas posibilidades sin tener que cargar nuestra laptop o netbook de mas? Con netcfg + wifi-select.

Esto viene especialmente útil para usuarios de netbooks como las asus eeepc, acer one o msi wind, donde los recursos son mas limitados. Así que si tenes una, probalo, vas a ahorrar muchos recursos comparando con networkmanager.

Todos los comandos que siguen los realizo utilizando “sudo“. Ustedes pueden utilizar el usuario root si lo prefieren, pero con sudo y algunos retoques en visudo, podrán administrar las conexiones de red como usuario sin tener que ingresar la clave.

Primero instalamos las aplicaciones:

pacman -S netcfg wifi-select

Ahora configuramos el sistema para que netcfg administre las conexiones.

vi /etc/rc.conf

En la sección INTERFACES nos aseguramos de dejar únicamente la interfaz de ethernet (cable!).

Asi:

INTERFACES=(eth0)

La interfaz lo (loopback) ya levanta por defecto en Arch, asi q no es necesario nombrarla y las interfaces wireless las ingresaremos mas adelante.

Ahora en la sección NETWORKS, cargaremos dos ejemplos:

NETWORKS=(casa-ethernet casa-wifi)

Si deseamos utilizar la funcion de “autodetección”, para que el sistema elija la mejor red dentro de los perfiles disponibles, habilitamos:

AUTO_NETWORKS=(auto-wireless wlan0)

Donde wlan0 es tu interfaz wifi.

Luego en DAEMONS, podremos optar por dos demonios. Uno (net-profiles) cargara las interfaces en orden de aparición, usando el arreglo NETWORKS y el otro (net-auto)  detectara la mejor conexión disponible dentro de los perfiles disponibles y conectara esa. Ambos en caso de falla, pasaran a la siguiente red disponible.

Entonces, para el caso de perfiles ordenados nos quedaria algo asi:

DAEMONS=(… @net-profiles)

Y  para el caso de autodetección

DAEMONS=(… @net-auto)

Yo suelo utilizar el ultimo. Pero es una cuestión de gustos y que tantas conexiones tengan en los perfiles.

Luego de tener esto, debemos crear los perfiles (cosa que podrían haber hecho antes, pero me gusto mas relatarlo en este orden!):

Nos dirigimos a /etc/network.d. Allí encontraran un directorio llamado “examples”. Dentro de /etc/network.d/examples van a tener distintos modelos de conexiones, desde ethernet, a wifi con protección wpa, wep o sin encriptado.

En nuestro ejemplo tenemos 2 conexiones, una es casa-ethernet y la otra casa-wifi. El primero es un perfil de conexión por cable mientras que la segunda es una conexión WPA2 (la mas recomendable a la hora de configurar un router wifi).

Para configurar las cuentas existen varias formas, las conexiones conocidas y más usadas, es sencillo configurarlas de la siguiente manera:

cp /etc/network.d/examples/wpa.example /etc/network.d/casa-wifi

cp /etc/network.d/examples/ethernet.example /etc/network.d/casa-ethernet

Y editamos, con nuestro editor favorito (yo utilizo vim):

vim /etc/network.d/casa-wifi

Van a ver algo asi:

CONNECTION=”wireless”
DESCRIPTION=”casa wireless”
INTERFACE=wlan0
SCAN=”yes”
SECURITY=”wpa”
ESSID=”wifi-ejemplo”
KEY=”clave-wifi”
IP=”dhcp”
TIMEOUT=20
  • CONNECTION dice “wireless”. Esto debe quedar asi. Las opciones serian: wireless, ethernet o ppp, y sirve para definir el tipo de conexión. No es el nombre!
  • INTERFACE es la interfaz wireless que tengamos.
  • SCAN es la opcion de escanear en busca de la red correspondiente. Si ponemos “no”, nos podemos ahorrar unos segundos, pero puede traer problemas en algunos casos.
  • ESSID es el nombre de la conexión de wireless.
  • KEY es la clave (wpa para wpa/wpa2, wep para wep y none para ninguna)
  • IP podemos fijar una, o utilizar “dhcp” si queremos que la asigne el router. Esto ultimo es lo mas comun.
  • TIMEOUT cuanto tiempo debe esperar antes de abortar el intento de conexión.

Con esto ya tenemos el perfil de wireless de nuestra casa configurado. El proceso es similar para ethernet, pero bastante menos complejo (dado que únicamente hay que indicar si es DHCP o la IP que queremos asignar). No hay claves, seguridad o essid. Editen el archivo /etc/network.d/casa-ethernet y tendrán lista la conexión por cable.

Ahora, ya esta todo configurado e instalado. Con reiniciar la maquina estando en el rango de nuestra wifi, deberían conectarse al arrancar automáticamente.
Si desean cambiar la conexión a la que están y el perfil ya existe, lo pueden hacer con:

netcfg perfil-a-cargar

Si en cambio, están en algún lugar donde no tienen ningún perfil pre establecido — por ejemplo, primera vez que llevan la laptop a la facultad o a un café –, deberán escanear por las redes disponibles. La manera mas sencilla y económica de hacerlo es utilizar wifi-select.

wifi-select wlan0

Siendo wlan0 su interfaz wireless. Esto levanta una interfaz ncurses (gráficos de consola) que muestra la lista de conexiones en rango y el tipo de seguridad que posee.
Con solo seleccionar la que desean, se conectaran automáticamente (si requiere una clave de seguridad wep, wpa o wpa2, se las solicitara en el momento). Luego les consultara si desean guardar el perfil, de manera tal que lo tendrán disponible la próxima vez que quieran conectarse. Y si utilizan el demonio “net-auto” o “net-profiles“, este se encargara de conectarlos a la red en cuanto la detecte, para esto tendrán que haber ingresado el nombre del perfil en la sección NETWORKS de /etc/rc.conf

Otra opción para darle una interfaz mas gráfica a wifi-select es utilizar archassistant. Una interfaz basada en Qt (única dependencia) especialmente para usar con KDE, muy bonita.
Si quieren probarla:

pacman -S archassistant

Esta aplicación tiene un par de sistemas de ayuda para guiarlos en la creación de nuevos perfiles y algunos accesos rápidos a archivos de configuración de Arch.

Vale aclarar que los pasos seguidos aquí son bastante exhaustivos y tienen como fin mostrar como funciona el sistema. Si quisiéramos simplificarlo, se haría mucho mas sencillo transfiriendo las configuraciones de los perfiles a wifi-select o archassistant desde un principio. Asimismo, no me hago responsable de cualquier cosa que le pase a tu laptop, pc o perro por seguir esta guía.
Pueden consultar la documentación oficial aquí.
Compartí este articulo: del.icio.us Meneame BarraPunto Facebook Digg Slashdot MisterWong

Enero 6, 2009
» WPA (más) comprometido

Primero fué WEP, ahora WPA corre la misma suerte. Martin Beck y Erik Tews, este último autor de aircrack-ng han revuelto otra vez el avispero con el diseño de métodos matemáticos. El ataque a WPA, que hasta el momento implicaba largos intentos por fuerza bruta y diccionario, se ha visto drásticamente reducido, a punto tal [...]

Diciembre 8, 2008

Criado Indomable
Sebastian D. Criado
Criado Indomable trata sobre »
» Nuevo release del firmware Nightwing


nightwingEl grupo de desarrollo de LUGRo-Mesh anuncia que ya se encuentra disponible la segunda release del firmware Nightwing, versión 0.6beta1.

Nightwing permite la creación de Redes Mesh Inalámbricas, con un rápido y fácil despliegue. Requiere de un chip wireless atheros, y un mínimo de 4MB de memoria flash y 16MB de memoria RAM. Se puede instalar en dispositivos de Ubiquiti como la NanoStation, de Accton como la Fonera 2200, y en muchísimos más dispositivos que cumplan con los requisitos mínimos.

Algunas de las nuevas características introducidas son:
* Uso del protocolo B.A.T.M.A.N.-Experimental (BMX)
* La Interfaz para Conexión Pública es ahora administrada por el portal cautivo WiFiDog.
* Cada Punto de Acceso (AP) posee un único SSID para cada nodo.
* Se cuenta con un servidor de WiFiDog para la red de LUGRo-Mesh.
Gracias a Maximiliano Müller de SitiosHispanos.com por cedernos un VPS para tal fín.

El grupo cuenta con listas de correo para lo concerniente al firmware Nightwing y para el grupo mismo.

También se encuentra disponible el repositorio del Grupo de Desarrollo de LUGRo-Mesh.

Octubre 1, 2008

Leonardo Andrés Gallego
hombrepac
Leonardo Andrés Gallego trata sobre »
» WRT54GL v1.1 flasheado con DD-WRT v24 SP1

Finalmente me decidí y lo hice.

De repente mi conexión wireless dejo de responder, por alguna razón knetworkmanager al momento de asignar la IP, luego de unos cuantos segundos, reportaba un error. Justo ayer me había pasado dos horas (por teléfono! me sentí un bot de call center…) ayudando unos amigos a configurar su modem/router Zyxel P600 de telefónica/speedy más un Linksys WRT54G (v8) en modo router + wifi, y como para acceder al mio (un WRT54GL) tengo deshabilitada la administración vía wifi, tuve que ponerme un cable. Como ya lo tenia ahí, supuse que habría tocado algo mientras los guiaba, y me conecte a la interfaz web del router para ver si encontraba el problema.

Resulta que mirando, mirando… no notaba nada raro, y en una de esas, me encontré jugando con la opción de DDNS (”Dynamic DNS” para el q no sabe), que siempre lo configure en la PC (es más, cree un par de scripts para actualizar la IP y todo, un día debería subirlos), por que el servicio que utilizo no lo soportaban mis routers previos. Cuestión que en este Linksys habían dos disponibles, uno era DynDNS.org y el otro era TOZ.net o algo así. Como ya dije, no son los que yo utilizo… pero dije, ya fue, me creo una cuenta en dyndns, total, que le hace una clave mancha más al tigre (el tigre? el tigre tiene rayas! el leopardo es el de las manchas! por que se dice al tigre?).

Cuestión que recuerdo fugazmente que en algún momento tuve un dyndns, y que lo reemplace por mi actual proveedor por no brindarme el servicio de dominios propios. Cuando intento reflotar mi cuenta me aparece algo así como “Su cuenta violo las Políticas de Uso Aceptable y ha sido bloqueada”, en ingles y sin mucho mas detalle que eso. Nunca supe ni sabre que política de uso aceptable habré violado, ya que no utilizaba la cuenta hace ¿años?. Aparte de darme bastante bronca el no tener una razón hace tiempo que venia leyendo sobre OpenWRT, DD-WRT, Tomato y tantos otros firmwares libres para routers. Es más, me compre este mismo router por que sabia que si quería, podría aplicarle estas versiones embebidas de Linux. Me tente con la idea nuevamente, me puse a leer, vi lo fácil que era, las ventajas que ganaba… y no dude más. Lo hice.

Algunas ventajas puntuales al convertirme a DD-WRT:

  • Puedo asignar DHCP estático (algo que me molestaba de sobremanera que no tuviera la firmware original ya que lo utilizo para poder forwardear puertos específicos a PCs especificas)
  • Puedo utilizar como 10 servicios de DNS dinámico, incluyendo EveryDNS.
  • Puedo hacer calidad de servicio y controlar al descontrolado de mi hermano y sus descargas (un QoS que anda!).
  • Puedo hacer ssh a mi router!
  • Tengo soporte para OpenVPN! (y no que “pase” nomas, sino conectarme vía VPN)
  • Estadísticas de verdad! Con gráficos y todo.
  • Incrementar la potencia de la wifi
  • Puedo poner un web server, si quiero.
  • Montar un Samba
  • Usar Iptables como firewall

Por otro lado, había algo que hace tiempo venia molestándome y es que la conexión wireless de una de las PC se caia seguido, por lo que vi, parece ser bastante recurrente en ese modelo de placa  (la ironía de que sea una Linksys no me deja de sorprender), y me preguntaba si no tendría algo que ver con el router… aunque las laptops anduvieran sin inconvenientes. Bueno, está confirmado y no era el router. Ni el soft del router. Es la placa. Recomendación para todos los que quieren adquirir una placa inalambrica para su PC: compren un dongle USB <-> Wifi. Después dejo la marca y modelo de uno que funciona muy, pero muy bien en Linux.

Llegamos a la parte practica.

Como se instala DD-WRT en un Linksys WRT54GL v1.1?

  1. Descargamos las firmwares que queremos aplicar
    1. URL: http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html
    2. dd-wrt.v24_mini_generic.bin (md5: 51cb0315084c292b79988821bfeee738)
    3. dd-wrt.v24_vpn_generic.bin  (md5: de2aa2fb41e75562b8a350ae493ecce0)
  2. Nos conectamos via cable al Linksys.
  3. Guardamos la configuración actual por las moscas, en la parte de administración hay un submenu que permite hacer un backup de está. Opcional.
  4. Reseteamos el router a los valores de fabrica vía la interfaz administrativa web.
  5. Nos logueamos nuevamente, y vamos a la parte de Upgrade Firmware
    1. Le damos a Browse y buscamos el 1er archivo que descargamos: dd-wrt.v24_mini_generic.bin
    2. Es obligratorio utilizar la firmware mini, ya que Linksys limito el tamaño de la firmware a subir vía la interfaz.
    3. Una vez que le damos al upgrade. No tocar nada ni cerrar el navegador hasta que termine. Pueden pasar un par de minutos, lo ideal es irse a tomar algo, estirar los pies, o si tienen; acariciar al perro.
    4. Una vez que aparece la pagina con el boton de Continue, esperamos un par de minutos y le damos click.
    5. Vamos hasta el router y, durante 30 segundos, mantenemos apretado el boton de resetear que se encuentra detras.
  6. Nos volvemos a loguear, y voila! Tenemos DD-WRT en nuestro router. Ahora vamos nuevamente a actualizar el firmware, esta vez para cargar la version mas completita con unas cuantas caracteristicas extra, en este caso las de VPN, aunque existen alternativas como la standard o la de voip. Pueden consultar las diferencias aquí
  7. Una vez logueados nuevamente procedemos (a traves de menus mucho mas bonitos y ajaxiados) hasta la opción de Upgrade Firmware.
  8. Una vez allí, le damos a Browse nuevamente y está vez cargamos la firmware mas grande (std, vpn o voip). Tengan en cuenta que este router no soporta la mega.
  9. Seleccionamos que vuelva a los valores de fabrica al terminar y le damos aceptar.
  10. Nuevamente, vayan a acariciar al perro, vuelvan y sean mas felices. ;)

Lo que se viene: Como destriparlo y agregarle una memoria SD/MMC!

Compartí este articulo: del.icio.us Meneame BarraPunto Facebook Digg Slashdot MisterWong