nexus 7 root

Root en la Nexus 7 desde Linux

root en Nexus 7

No había comentado como le hice root a la nexus 7, que, normalmente es de las primeras cosas que les hago a los teléfonos que he ido teniendo. Tener acceso root es muy útil (teniendo su cuidado de lo que instalamos y a lo que le damos permiso root) ya que nos permite instalar aplicaciones que hacen cosas que de manera normal sería imposible realizar, como por ejemplo backup completo del teléfono (con programas como Titanium Backup), acceso y modificación de datos del sistema, borrar aplicaciones impuestas por los operadores, etc etc…

Pues bien, buscando me encontré con un script para linux que hace todo en 1 solo paso:

http://forum.xda-developers.com/showthread.php?t=1813329

  1. Necesitaremos activar la depuración usb en la Nexus 7 (Ajustes/Opciones de desarrollo/Depuración USB). Si no tuvieramos el menú de desarrollo, hay que ir a Ajustes/Información de la tablet y pulsar unas cuantas veces (hasta que nos aparezca un mensaje como que ya somos desarrolladores) sobre Numero de Compilación.
  2. Descomprimimos el script descargado
  3. Abrimos un terminal y nos vamos a la carpeta donde lo hemos descomprimido y ejecutamos: sudo ./n7roo.sh
  4. El programa nos dice que habilitemos la depuración usb y pulsemos intro, lo pulsamos
  5. Yo solo le hice root e instalé el CWM (el recovery), porque yo ya había desbloqueado el fastboot de la nexus, pero si no lo tuvieras, también lo haría.

Ya con el root hecho, se abre el abanico de aplicaciones que nos permiten hacer funciones administrativas en nuestro dispositivo, sea una tablet, un movil, reproductor multimedia, etc etc.

[wp_ad_camp_4]

Para aquellos nos familiarizados con Linux, root es el usuario administrador del sistema, es el usuario que mas permisos tiene y que puede hacer y deshacer todo lo que quiera en un sistema, Android, al ser Linux en su base, contiene dicho usuario, pero este usuario no es usado por las  aplicaciones por defecto para evitar problemas de seguridad.

[wp_ad_camp_1]

ring for sex

Ring For Sex: Mi primera aplicación Android

Ring For Sex

Ring For Sex se ha convertido en mi primera prueba para subir al Play Store de Android, no es una gran cosa ni tampoco me va a jubilar el banner que tiene puesto. La cosa es que hace un tiempo, quería mandarle una indirecta a la parienta y me puse a buscar alguna frase por Google divertida para ese fin y me crucé con esta campana, y pensé en bajármela del Play Store para hacerlo con el móvil, mi sorpresa fue que no la localicé, y eso es muy raro, así que me decidí a aprender a programar para Android.

Como nunca me ha gustado Java, para Ring For Sex empecé a mirar ejemplos en Phonegap para la detección de agitar el teléfono (en inglés shake) y empecé a probar los ejemplos que vi sin mucho éxito, luego leí en alguna web, que recomendaban usar java nativo porque con javascript no va tan fluido, por lo que tras diversos intentos fallidos, empecé a mirar ejemplos en java. Localicé varios y empecé a acoplar los ejemplos dentro del código y empezó a funcionar, primero salia un mensaje cuando lo agitabas,  y después busqué ejemplos de reproducción de sonidos y conseguí hacer que se reprodujera la campana cada vez que agitabas el teléfono.
La idea de poner la campana en pantalla, fue de verla en el programa Pastor de Ontic Soluciones, y el día 1 de Marzo publiqué la aplicación poniendole un pequeño banner abajo, para ver como funciona el banner, porque tenía y tengo muy claro que no creo que llegue a cobrar nada por él.

La aplicación Ring For Sex en 1 semana mas o menos, lleva unas 160 descargas y aproximadamente 50 instalaciones, he hecho algunos arreglos porque fallaba y bueno, algunas cosillas para que quede mas bonito o funcione algo mejor.

Voy a crear una página estática para poder poner el Changelog de la aplicación.

whatsapp

Whatsapp finalmente se hace de pago en Android

Se confirman los movimientos raros que comeandroid-whatsappntaba el otro día, ya lo he leido en diversos sitios, y además hoy he tenido que instalarlo en un terminal y ya lo avisa, te dejan un año gratuito, pero al cabo de esos 12 meses, Whatsapp será de pago y habrá que pagar algo menos de 1€ al año. El precio no es caro, la verdad, es una cantidad asequible para todo un año de servicio. Bajo mi punto de vista, han sido muy listos en la manera de hacerlo, Android tenía un futuro incierto cuando salió y la única manera de extenderse era de manera gratuita (en iOS Whatsapp costaba dinero para descargarse desde el principio) y una vez copados los millones de teléfonos Android con Whatsapp, empezamos a cobrar, de manera paulatina, poco a poco, así, si todo el mundo menos tu, tiene la aplicación funcionando, mucha gente se verá forzada a comprarla, mientras que si fuera de pago a la vez, correrian el riesgo de perder muchos usuarios a otras redes no tan extendidas aun, pero en auge, como Line.

 

Por otro lado, hay rumores de que Google va a sacar un servcio de mensajería unificando Google Talk, con Google Hangout y Google+, por lo que podría ser un movimiento para Whatsapp a la desesperada para conseguir amortizar un poco su servicio antes de que Google, partiendo de la posición privilegiada que tiene, introduzca su servicio en todos los terminales, sin coste y con características similares.

De momento, viendo el line, tiene cosas que están mejor que Whatsapp, pero claro, a la mayoría de la gente no le terminará, porque es distinto, y porque no puedes decir que estas en el baño con un solo emoticón…la gente echará en falta la mierdecilla, una pena…veremos en los próximos meses como se van restando usuarios a Whatsapp y subiendo en otras redes.

 

[wp_ad_camp_1]

whatsapp

Movientos raros en el Whatsapp

Llevo unos días viendo a varias personas que han tenido problemas con el whatsapp, el que les avisa, como siempre ha hecho, de que caduca al dia siguiente, tras esas 24 horas, efectivamente, el whatsapp deja de funcionar, no se si total o parcialmente porque conozco el caso de alguien que podía enviar fotos. El caso es que se de gente que ha pagado el Whatsapp ya que se ha visto en la necesidad o bien porque han sido incapaces de ver el panorama si se soluciona o bien la gente empieza a moverse a otra de las muchas aplicaciones de mensajería que hay. De momento, por lo que he visto, después de 24 horas, te vuelven a dar 1 mes, no se si después de ese mes el Whatsapp volverá a renovarse o definitivamente parará. El caso es que me ha extrañado mucho ver bastante gente con este problema y no leer nada en ningún sitio…supongo que será algún fallo de los servidores porque con la competencia que hay, dudo mucho que cobren a estas alturas un servicio ql que han acostumbrado a la gente a usarlo sin pagar, en todo caso, si necesitaran financiación, la publicidad, o venderse a los operadores, podrían ser sus salidas.

[wp_ad_camp_1]

Linux ubuntu

Ubuntu mobile en la Nexus 7

Hace unos dias que Canonical anunciaba que iba a sacar Ubuntu mobile, empezando por los dispositivos Nexus. El viernes pude probar la rom flasheando mi Nexus 7 y ver como funcionaba. Tras tenerla unas horas y probarla, estas han sido las conclusiones:

Pros:

  • Esteticamente está muy cuidado, un nuevo look muy detallado.
  • Aun a pesar de ser versión muy temprana, va muy suave, si aun se puede afinar mas, volará, al menos es la impresión causada en la Nexus 7.
  • Integración con las apps cuidada.
  • Navegación entre menús diferente, pero intuitiva y sobretodo llamativa.

Contras:

  • Versión todavía muy temprana, no se puede probar bien.
  • Por lo mismo que el punto anterior, muchos cuelgues.
  • Aun falta mucho software adaptado.

 

En definitiva, la sensación muy buena, y que deja abierta la puerta para reemplazar la versión del firmware y cambiar Android o convivir con ambos y arrancar uno u otro. Aunque si el software que existe para linux (sobretodo en los repositorios de Ubuntu) empieza a ser usable en la versión mobile (adaptando el interface al táctil), poco se va a echar en falta y la tablet se convierte en un ordenador de bolsillo.

Para poder probarlo, es necesario tener la Nexus con el fastboot desbloqueado, root y bueno, backup de lo que necesites, porque te vas a cargar todo lo que la Nexus tenga, bueno, no solo la tablet, también todos los teléfonos.

[wp_ad_camp_4]

Si quieres probarlo para en tu dispositivo Nexus, estos son los pasos a seguir desde Ubuntu:

Instalamos el repositorio del software:

sudo add-apt-repository ppa:phablet-team/tools

Actualizamos los repositorios:

sudo apt-get update

Instalamos el software:

sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

 

Ahora con el software instalado, instalaremos, con la tablet encendida y con la depuración USB activada:

phablet-flash -b

 

[wp_ad_camp_1]

Cuando decidamos volver a Android, bajamos la factory image de nuestro dispositivo, la descomprimimos y ejecutamos:

adb reboot-bootloader

./flash-all.sh

Tras un rato, volveremos a tener nuestro/a Nexus como de fábrica.

 

quejas

Quejas contra el banco CCM (II)

Como ya comenté hace un tiempo, decidí quejarme contra el banco CCM ya que estaba cansado de todas las tonterías que el banco me obligaba a contratar, pero aun mas, estaba cansado del director de la oficina que me había tocado. Si bien es cierto, hasta la fecha el banco con el que mejor he estado ha sido con ING Direct, la CCM podría haber conservado algún producto si no fuera por el director con el que tengo que hablar cada vez que me dicen que me pase por la oficina.

Pues, referente a la consulta que le hice a facua sobre poder domiciliar la hipoteca en una cuenta de otra entidad (en este caso ING), a lo que el susodicho de la CCM director me dijo que no se podía porque estaba en las escrituras (yo al menos, no lo encontré), facua ha respondido con el escrito en el que le dice al banco que es inaceptable el que no me cambien la cuenta ya que según la ley ellos no pueden imponer nada a los clientes y ellos pueden decidir sobre lo que se está tratando. El viernes la mandé certificada y con acuse de recibo a Liberbank (Banco formado por varias cajas una vez que fueron desplumadas, para poder seguir chupando del bote). Tengo ganas de ver la respuesta de Liberbank (CCM), no se si pasaran o no por completo de la carta, pero me imagino, que si pasan, o no estoy de acuerdo con la solución, puedo mandar esa misma queja al banco de España, y entonces creo que si que harán caso.

Si en este país en vez de hacer que, en el peor de los casos, tengan que hacer lo que les corresponde por ley, aplicaran sanciones dolorosas, otro gallo cantaría. Porque si lo peor que le puede pasar a la CCM es que me tengan que cambiar la cuenta, es normal que no hagan nada, así pueden empezar a activar servicios para obligarme a tener la cuenta controlada y cobrar por cualquier cosa que quiera hacer. Si por el contrario, si se demuestra que mi queja es con motivo mas que suficiente y el banco está aprovechando su posición frente a un particular, deberían crujir a la CCM, no digo que me dieran dinero (tal vez una pequeña indemnización en función de las molestias ocasionadas), pero si una sanción de 15 ó 20 mil euros por cada queja, entonces se molestarían en hacer su trabajo como Dios manda y la prepotencia se la meterían por el ….

[wp_ad_camp_1]

Ya iré actualizando con la respuesta del banco. Pero en resumen, algo que estaba casi convencido, SI SE PUEDE DOMICILIAR UNA HIPOTECA EN UNA CUENTA DE OTRA ENTIDAD (todo depende de lo que tenga tu hipoteca asociado).

Nexus 7

DVB-T en Nexus 7 Kernel: 3.1.10-g009b6d1 – Ver la TDT en tu tablet

Hace tiempo que un amigo de linux albacete (Thempra) comentó que había podido ver la TDT en su Nexus 7 y enseñó un video demostrándolo. Pues, como se suele decir «si culo veo, culo quiero», en realidad no se si se suele decir, pero lo decía mi madre y a mi me vale como argumento.

Para poder hacerlo, se puede seguir el hilo de xda donde explican como ver la TDT en la Nexus 7, eso siempre y cuando tengamos el mismo kernel para el que están compilados los módulos que pone para descarga (Puedes comprobar el kernel en Ajustes/Información del tablet/Versión del kernel).

En mi caso, el kernel que tengo en la Nexus no es el mismo para el que han sido compilado los módulos del post de xda, sino que tengo el kernel 3.1.10-g009b6d1). Por lo tanto, para hacerlo funcionar será necesario compilar un kernel personalizado para la Nexus 7, en donde le demos soporte para los dispositivos de TDT (en inglés DVB-T) y compilar el módulo para el dispositivo que quiero probar desde fuera del kernel ya que no está incluido en el kernel. Lo primero que haré es compilar el módulo desde fuera del kernel y contra el kernel que se usa en la Nexus:

 

  • Descargamos el módulo del RTL2832U: «git clone https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0.git»
  • Editamos el Makefile: Cambiamos la variable KDIR, y la dejamos para que apunte a nuestro directorio del kernel, en mi caso se ve así: KDIR = /home/rex2k1/Proyectos/Nexus7/android_kernel_grouper
  • Compilamos: make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- EXTRA_CFLAGS=-fno-pic
  • Si todo sale bien y tenías configurado el Android NDK y en el path, tendrás el módulo compilado: dvb-usb-rtl2832u.ko

 

Después de tener el módulo compilado, compilamos el kernel, y habrá que activar algunas opciones necesarias para darle soporte al kernel de dvb-t.

[wp_ad_camp_1]

Necesitamos activar como módulo (al final los he metido dentro del kernel porque me daban un error, si consigo arreglar el _GLOBAL_OFFSET_TABLE_ subieré los módulos):

  • dvb-core

Opción DVBCORE para ver DVB-T en Nexus 7

  • dvb-usb

Opción DVBUSB para ver DVB-T en Nexus 7

  • dvb-pll

Opción DVBPLL para ver DVB-T en Nexus 7

  • rc-core

Opción RCCORE para ver DVB-T en Nexus 7

Con estas opciones, si el kernel nos compila sin problema, tendremos los módulos para poder insertarlos en la nexus desde el terminal una vez lancemos nuestro kernel.

Por si alguien quiere probar el módulo que sí que he podido compilar y que en teoría ha cargado sin problemas, lo pongo para descarga:

Módulo para RTL2832U

 [wp_ad_camp_4]

 

 

 

nexus-7

Compilación Kernel Nexus 7

Como ya he dicho antes de la Nexus, Google pone al alcance de la gente todas las herramientas necesarias para poder manipular sus dispositivos, algunas de las cosas las pone por obligación (por temas de licencias como la GPL) y otras por interés propio ya que siempre acaban saliendo cosas mas que interesantes para sus dispositivos y seguramente ellos puedan nutrir futuras versiones de esas apariciones. Una de las cosas que he conseguido hacer es la compilación del kernel de linux para la Nexus, no aportaba nada nuevo, solo el hecho de que estaba compilado por mi. Por si hay algún interesado y para que no se me pasen los pasos para volverlo a hacer, esto es lo que he hecho:

[wp_ad_camp_4]

  • Descargamos el NDK de Android y lo descomprimimos en /opt/ y mete en el path la carpeta con las herramientas, en mi casó añadí: /opt/android-ndk-r8d/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/
  • Descarga del repositorio del kernel del Nexus: «git clone https://github.com/drewis/android_kernel_grouper» y entramos en la carpeta creada.
  • Conectamos la Nexus al pc (estando encendida) y le cogemos el fichero de configuración: «adb pull /proc/config.gz» y lo descomprimimos «gunzip config.gz«
  • Movemos el config para que lo coja el make: «mv config arch/arm/configs/nexus7_defconfig«
  • Ahora pasamos a establecer la configuración de nuestra Nexus al kernel: «make nexus7_defconfig ARCH=arm CROSS_COMPILE=arm-linux-androideabi-«
  • Ahora vamos a modificar lo que queramos del kernel: «make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-androideabi-«
  • Y por último, compilamos el kernel: «make -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi-» La j4 indica que use los 4 cores de la CPU (si los tiene), si no tienes claro si tienes o no mas de 1 core, no lo pongas.
  • Si todo ha salido bien, tendremos nuestro kernel modificado en arch/arm/boot, el fichero zImage.
  • Ahora toca descargarse la imagen de fábrica de nuestra Nexus: https://developers.google.com/android/nexus/images#nakasijop40d para así poder extraer el boot.img que contiene el kernel y el ramdisk.
  • Una vez bajada y descomprimida, veremos un zip, pues dentro tenemos varias imagenes que son las que se grabarán (recovery, boot, userdata y system). Sacamos el boot.img y lo reservamos
  • Ahora necesitamos una herramienta para separar el kernel del ramdisk, yo usé el split_bootimg.pl
  • Ahora lo separamos, llevamos el script donde hemos dejado el boot.img y lanzamos: «./split_bootimg.pl boot.img» y el script nos sacara 2 ficheros: boot.img-kernel y boot.img-ramdisk.gz
  • Ahora necesitaremos crear nuevamente el boot.img, pero en vez de usar el kernel que viene de serie pondremos nuestro nuevo y flamante kernel, para eso, necesitamos el mkbootimg.
  • Una vez tengamos el mkbootimg lanzamos la linea: «mkbootimg –kernel zImage –ramdisk boot.img-ramdisk.gz –cmdline «no_console_suspend=1 console=null» -o nuevoboot.img«
  • Y ya tendremos el fichero nuevoboot.img que podremos lanzar directamente en la tablet por medio del fastboot o bien, lo renombramos como boot.img y lo metemos en el fichero oficial de Google para flashearlo como si de una ROM oficial se tratara. Yo mostraré como lo hice sin tener que flashear, para evitar, si nos hemos colado en alguna configuración, que no arranque la tablet.
  • Nos vamos al directorio donde descomprimimos el fastboot cuando desbloqueamos el bootloader , y nos copiamos alli el nuevoboot.img que hemos generado.
  • Apagamos la Nexus, arrancamos en modo bootloader (Vol – y power) y conectamos USB.
  • Lanzamos: «fastboot boot newboot.img» . En unos segundos, el fastboot le lanza la imagen nueva de arranque por el usb y la ejecuta para que se inicie y arranque con el nuevo kernel, así, al no flashear, si falla, basta con apagar y volver a encender la Nexus.

[wp_ad_camp_1]

Y si vamos a ajustes veremos nuestro nuevo kernel:

rps20130127_001408_904

nexus 7 root

Desbloqueo del bootloader de la Nexus 7

Hace poco que ha caído en mis manos una tablet de la gran G, la Nexus 7, es una pasada…todo un alarde de potencia y he de reconocer la suavidad frente a las tablets de los chinos, por buenas que puedan parecer, no hay color. Aunque de todo, lo mejor de los productos de Google son las actualizaciones y la entrega de prácticamente todo el sistema para que se le pueda meter mano y ampliar el ecosistema Android (en el fondo les interesa). Es como comprar un dispositivo de desarrolladores, te ofrecen todas las herramientas para programar, modificar, etc etc. Entre otras cosas, te ofrecen el repositorio del kernel y de la propia tablet te puedes sacar el config que hará funcionar un nuevo kernel en el dispositivo.

[wp_ad_camp_1]

Una de las primeras cosas que le hice a la Nexus fué abrir el bootloader, que permite trabajar por medio del fastboot con la tablet, para abrir el bootloader estos son los pasos (OJO se hará borrado completo de la tablet):

  • Revisar que la batería esté, como poco al 80%.
  • Descargar el sdk de android y descomprimirlo.
  • Activamos depuración usb, dentro de opciones de desarrollador. Por cierto, si tenemos actualizada la tablet a 4.2, las opciones de desarrollador han sido ocultadas, pero para activarlas, solo hay que ir ajustes / Información del tablet y pulsamos repetidas veces en «Numero de compilación», tras casi 10 veces, pondrá algo del tipo «Ahora eres desarrollador» y podrás activar la depuración usb.
  • Apagamos la tablet
  • Encendemos la tablet manteniendo pulsados a la vez «Volumen -» y el «power», tras varios segundos aparecerá el bootloader con el que trabajaremos.
  • Ahora nos vamos a la consola (doy por hecho que ya casi no quedará gente usando Windows xD) y buscamos la carpeta donde descomprimimos el sdk y nos metemos a la carpeta platform-tools, donde dentro veremos el fastboot
  • Ejecutamos: «./fastboot oem unlock» y en pantalla aceptamos.
  • Ahora se borrará por completo la tablet y lo normal es que se reinicie automáticamente, después de eso, veremos que tendremos un candado debajo del logo de Google al arrancar, eso es que ya está la tablet abierta para ser manipulada.

Una vez que tengamos hecho eso, cuando volvamos a arrancar en el fastboot podremos lanzarle muchos comandos para flashear, leer, etc etc.

[wp_ad_camp_4]

android

Modificación Baru X6-S (II)

Seguimos con el Baru TV BOX Android. Después de llevármelo un día a las reuniones semanales de Linux Albacete, decidí empezar a meterle mano al cacharro e hice la prueba para ver si conseguía algo mas que arrancarlo. Lo lógico parecía ir por la parte de del «RECOVER» que había en la placa (como se vio en el post primero de la modificación Baru X6-S), por lo que puse un clip entre los dos pines, apagué y encendí y ¡Bingo!:

Herramienta «recover-clip»:

rps20130120_212329

Y una vez arrancado (un par de segundos) quitamos el clip (yo al principio no lo quitaba y aunque aparece el dispositivo, no funciona) y con un lsusb podemos ver:

lsusbcaptura

Arriba aparece una linea en blanco, que buscando en Google, es el modo flash del chip RK2918 (Dispositivo 2207:290a). Una vez detectado, me decidí a empezar a realizar las lecturas con el software rk2918tools y todo funcionó a la perfección:

rkflashtools

En las primeras direcciones de memoria podemos extraer el mtd, que es ni mas ni menos que la tabla de particiones de la nand flash (en mi caso 4GB).

El mtd contiene un bloque de informacion en el que indica el inicio de la partición y el tamaño de ésta, suele venir de la manera : 0x0000200@0x000a0240(boot), en el que el primer número es el tamaño (200) en el ejemplo y el otro número la dirección del inicio (a0240) en este ejemplo. Luego, entre paréntesis indica la partición a la que corresponde, en este caso el boot.

Como se verá mas adelante, el mtd se puede modificar para poder probar roms de otros tamaños ya que a veces las roms tienen systems mucho mayores que el que trae por defecto.

De momento, lo que hice fue hacer una copia de cada una de las particiones que habia para evitar futuros desastres y para permitirme recuperar si flasheaba mal en algún caso (que lo hice en muchas ocasiones).

Para el backup use el rkflashtool de la siguiente manera:

rkflashtool r 0x000a0240 0x0000200 > boot.img

Ojo! Esto es solo un ejemplo y las direcciones cambiaran, para saber exactamente las direcciones del vuestro, podéis extraer el parameter que es lo primero que va en la memoria con:

rkflashtool r 0x00000000 0x00000200 > parameter

[wp_ad_camp_1]

Al acabar tendréis en el fichero parameter toda la información del mtd, ahora podéis leer el fichero con un editor hexadecimal, yo usé en la ubuntu el bless.

bless