Modding dispositivos Rockchip

Contaré como hice el Modding poco a poco (con algo de tiempo). Como soy novato intento explicarlo todo lo mejor posible, intentaré no confundirme, pero es probable que en algún concepto lo haga..;(

Quiero comenzar diciendo que en principio todas las roms similares a la nuestra (Rk3066), en principio, son adaptables a la nuestra, es decir, se podrían abrir y
modificar para que funcionase en nuestra tablet. Ya otra cosa es conseguirlo, que tiene su trabajo. Cuanto mas parecida en características sea, mejor y si
es de la misma casa también.

Mucha información la he sacado de otros dispositivos que son similares a los nuestros (Rk3066) y he usado esa información para adaptala a nuestra tablet,
también esta información podría valer a otros dispositivos similares.

Deberíamos saber que, por lo que he googleado por ahi, podríamos decir que actualmente hay 2 formas de montar android en las tablets (en general):

1- Se crea una partición donde va todo (no es nuestro caso). Esta es la tendecia de Google y yo creo que finalmente acabaremos todos así. Se empezó
a implementar desde android ICS y es actualmente característica de los Nexus.
2- Se crean varias particiones, una para cada “funcion” de android (nuestro caso). Este sistema es el mas “antiguo” y el que actualmente sigue usando en las Samsung y las nuestras.

Desempaquetando la rom!!!!!! (BAJO TU RESPONSABILIDAD)

Para destripar nuestras rom necesitamos el RK3066/2918 Image Unpack/Repack Tool que es una herramienta hecha por Wendal. Yuandao nos da las actualizaciones en formato xxxx.img, dentro de este archivo se encuentran:
-boot (sistema de arranque)
-kernel (sistema que enlaza hardware con software)
-misc (dentro hay instrucciones que dicen al sistema que hacer cuando estamos en recovery)
-recovery (sistema alternativo de inicio al boot)
-system (sistema operativo)
Cuando destripemos el archivo de actualización nos encontraremos en estos archivos, ¿como lo hacemos? Pues nos bajamos la aplicación del siguiente enlace:

https://drive.google.com/file/d/0B8hUXYDeoy_hNTc1YTVkYTMtNTNjZS00YjI2LTgyNDYtYjRjZjFmODdiZTQ1/view?pref=2&pli=1

Descomprimimos la carpeta y metemos dentro el archivo xxxx.img que nos da yuandao o nuestro proovedor y lo renombramos como wendal.img. Ejecutamos runme.bat. Nos da 3 opciones: 1-unpack
2-pack 3-exit. Le damos al 1 y en unos minutos tenemos nuestra rom destripada. ¿Donde? se crea una carpeta llamada /temp/image.
Ahí estan los 5 archivos (o debería decir particiones?¿?)

Estos 5 archivos también tiene extensión xxx.img pero (por lo que se) en realidad no se pueden tratar todos de igual forma.
Vamos a empezar con el archivo system.img (que es el sistema en si). Para ello necesitamos trabajar con Linux (en mi caso usé el Ubuntu 12.04). Podeis usar el virtual box bajo Windows ó instalarlo con Windows (al principio os sale un menú para escoger el sistema) ó utilizar otro ordenador con Linux.
Aconsejo los 2 últimos métodos ya que con el virtualbox me daba problemas (por lo menos a mi).
Andaremos de Windows a Linux y viceversa.
Aconsejo utilizar un pendrive, allí metes todo y si tienes dos ordenadores es cambiar el pendrive y ya estás en el otro pc. Si tienes una instalación dual (Windows-Linux) también es mas fácil con un pendrive ya que tienes a mano los archivos.
Una vez instalado Ubuntu hace falta tener Java, esto es fácil ya que a la izquierda tenemos un icono con una bolsa de la compra que digamos que es la market de Ubuntu. Lo abres y en buscar pones java y escojes java6 (o el ultimo que haya).
Con esto ya estamos listos para empezar con system.img.
Copiamos el archivo en el escritorio de Ubuntu y con el botón derecho del ratón creamos una carpeta llamada “mnt” (sin comillas)
abrimos el terminal (arriba de todo a la izquierda hay un icono circular, pones terminal y te sale y lo ejecutas)
Dentro del terminal (es parecido a ms-dos) subimos de carpeta para llegar al archivo system.img:

cd “nombre de tu máquina”
cd Escritorio

Tener en cuenta que en Linux las mayúsculas y las minúsculas importan.
Ahora vamos a abrir y montar el archivo system.img en la carpeta “mnt”.

sudo mount -t ext4 system.img mnt -o loop

Te va a pedir contraseña (que es la que pusiste al instalar Ubuntu).
Ahora tenemos una copia de system.img en la carpeta mnt. Todo lo que modifiquemos en ella acabará modificando el system.img
Para modificar usaremos el siguiente comando.

sudo gksudo nautilus

Nos aparecerá una carpeta y a través de ella iremos a la carpeta mnt y allí tendremos varías carpetas, la que nos interesa es la carpeta “app”. En ella están las aplicaciones que queremos quitar, pero con cuidado que muchas de ellas son necesarias para que funcione el sistema. Utilizar Shift para borrar las apk, en caso contrario el archivo se guardará en otra carpeta y ocupará espacio.

Las App que insertéis en la carpeta app tienen que ser archivos con los nombres contiguos (no puede haber espacios) sinó no va.
También nos vamos a encontrar con un problema de espacio que voy a comentar mas adelante.
Antes de hablar del problema de espacio, quiero acabar con el tema de las aplicaciones y editar el build.prop. Si al poner muchas aplicaciones os dice que no hay espacio, no os preocupéis que después os cuento como solucionarlo.
Una vez instaladas las apps ir a carpeta app con el “terminal de Ubuntu” y escribir:

sudo chown xxx.apk –reference KeyChain.apk (atento a las mayúsculas)
sudo chmod xxx.apk –reference KeyChain.apk

Donde xxx.apk son todas y cada una de las aplicaciones que hemos copiado en la carpeta app. ¿Qué estamos haciendo? modificando las características de los archivos que hemos puesto y copiando las características del archivo KeyChain.apk que es una app que no se suele tocar, y así de esta forma nos aseguramos de que no nos van a dar problemas las aplicaciones. Se que es un coñazo hacerlo aplicación por aplicación, pero es lo que hay.
Hay una opción que es escribir *.apk en vez de xxx.apk pero en este caso estás modificando todos los archivos de la carpeta y no es muy aconsejable (yo lo probé y no me dio problemas).
Escribimos:

ls -l

Con esto podemos ver que las características de los archivos están modificadas.
Ya podemos ir a la carpeta donde se encuentra build.prop y modificar las características que nos interese (siempre con sentido). Hay muchos ejemplos por internet y también de otras tablets.

Para desmontar escribimos:

sudo umount mnt

Ya tenemos nuestro archivo img modificado.

PROBLEMA DE ESPACIO AL AÑADIR APLICACIONES.
Si intentas meter demasiadas aplicaciones en la carpeta App te vas a encontrar con el problema de que te va a decir que no hay espacio. Si tienes un archivo system.img con un tamaño de 470mb y le borras 2 apk de 5mb pero le metes 4 apk de 30mb la cosa no cuadra (no va a haber espacio). Solución, redimensionar el archivo system.img (debe estar montado system.img).Escribimos:

sudo fsck.ext3 -f system.img
sudo resize2fs -p system.img 500M

Donde 500M son 500 megas, si quieres mas pones mas…550, 600.

Si editas algún archivo y tienes problemas para poder guardarlo, puede ser que haya algún problema con el espacio de la imagen system.img. Montamos system.img y escribiomos:

sudo e2fsck -f system.img

y después

sudo resize2fs -p system.img 1000M (un número mucho mayor al archivo original)

Con respecto al bootlogo puedo decir que hay 3 y les llaman y arrancan en el siguiente orden:

1) G1: Initial Logo, Manufacter Logo, Splash Screen. Es el primero que aparece, normalmente con el logo de la marca. Está en el kernel, está en binario y no es facil editarlo. Digamos que es el logo de los símbolos chinos.
2) G2: Boot Logo. Aparece despues del G1. Está en el boot.img desempaquetado podemos ver en la raiz el archivo initlogo.rle, si no está se puede añadir. Nuestra Tablet no lo tiene.
3) G3: Boot Animation. Es el último en aparecer y si quieres es animado. Está en system.img /media. También se puede anular borrando los archivos que contiene ó modificando en build.prop debug.sf.nobootanimation=0

MODIFICANDO ARCHIVOS YA DESEMPAQUETADOS

Tenemos varias carpetas: boot, kernel, recovery, misc, y system. Primero vamos a tratar system que es la mas importante. Dentro de ella tenemos:

-Un archivo llamado build.prop. Este archivo es el encargado de dar la identificación y configuración de nuestra tablet. Hay que tener cuidado ya que si ponemos algo mal nuestra tablet no funcionará ó consumirá demasiada batería ó cualquier otra cosa. Tambíen aquí es donde cambiamos el idioma y la zona horaria además de muchas mas cosas.
-Una carpeta llamada app. Aquí van todas las carpetas que son del sistema (estas carpetas no se pueden modificar ya una vez en la tablet). Digamos que aquí van las app básicas y necesarias para el equipo. Aquí es donde añadimos las app que creemos que más necesitamos.
-Una carpeta llamada etc, aquí tenemos archivos encargados de la configuración usb, bluetooth, y wifi. Concretamente en la carpeta wifi hay un archivo llamado wpa_supplicant.conf en donde podemos añadir todas las redes wifis que querramos (casa, trabajo, amigos, nuestro teléfono (compartiendo wifi)).
Muchas veces tenemos problemas con que una unidad exterior no se nos monta y en la carpeta etc seguramente esté la solución.
-Una carpeta llamada usr, dentro está la carpeta keylayout y a su vez el archivo rk29-keypad.kl (en otras tablets puede ser otro archivo) que es el encargado de determinar lo que hacen los botones de nuestra tablet.
-Una carpeta llamada media donde va el bootanimation.zip (que se puede modificar o eleminar a gusto), y una carpeta audio donde están todos los sonidos del sistema.
-Una carpeta lib donde van todos los “drivers” del sistema.
-Una carpeta framework que determina el fondo de pantalla, reloj y batería.

Edición Build.prop
Páginas Relacionadas:
http://www.jeffmixon.com/examining-b…-guide-part-1/
http://www.jeffmixon.com/examining-b…-guide-part-2/

Instalar Xubuntu 14.04 en EEE PC 1005HA

Mil problemas, es lo que me ha dado el instalar todas las distros de Ubuntu en mi EEE PC 1005HA. Como casi siempre, al final vi la luz.

Decir que este tutorial en principio es válido para todos los EEE PCs. He puesto en ROJO lo básico que hay que hacer para instalar Xubuntu (evitando las explicaciones)

Lo primero que hay que hacer es descargar la distribución de Ubuntu que nos interesa. En este caso, como mi 1005ha está limitado de recursos, poca potencia y poca RAM (en mi caso 1GB), me decidí por Xubuntu 14.04 Desktop 32bits por ser mas ligera ( y la verdad es que si se nota comparado con Ubuntu 14.04).

http://xubuntu.org/getxubuntu/

Una vez descargada debemos crear un usb de arranque descargando el programa YUMI.

http://www.pendrivelinux.com/yumi-multiboot-usb-creator/

Ejecutamos Yumi, seleccionamos nuestro pendrive (mira mas abajo para escoger el tipo de formato FAT32) y en el tipo de distribución escogemos Xubuntu, buscamos la ubicación del archivo de Xubuntu descargado y procedemos a crear el pendrive.

Y aquí es donde vienen las 2 cosas mas importantes:

1º-Yo tenía un pendrive con varios sistemas opertivos para instalar Windows, Xubuntu y algunas utilidades y aplicaciones…error.

Al parecer, como nuestro EEE PC se ha quedado muy viejo y el sistema de instalación Ubuntu (y sus distros) necesitan para nuestro PCs obligatoriamente que el pendrive esté formateado en FAT32. Ponerlo en NTFS puede suponer con muchísimas probabilidades que la instalación acabe siendo fallida o en cuelgue.

O sea, para que quede claro, Pendrive solo y únicamente en formato FAT32.

2º- Debemos ir a la BIOS de nuestro EEE PC (pulsando F2 al principio del arranque) e ir a Advanced, CPU Configuration y selecionamos Max CPUID Value Limit en Enabled.

¿Por que? Porque tenemos un hardware antiguo y al parecer hay problemas de Kernels de Ubuntu y esto crea que muy posiblemente nuestro EEE PC no arranque y se quede con el indicador de  Caps Lock (Capital Lock Indicator) blinqueando, linkeando o parpadeando. Esta opción una vez acabada todas las instalaciones podemos volver a cambiarla, aunque recomiendo ya no hacerlo.

Una vez hecho todo esto, podemos instalar Xubuntu. Colocamos el pendrive en nuestro EEE PC, damos al botón power y pulsamos ESC. Nos saldrá un menú en el que tenemos que determinar con que unidad arranca el ordenador, normalmente son el disco duro y el/los pendrives que tengamos conectados. Seleccionamos el pendrive y nos saldrá el menú de YUMI para así escoger el sistema de Linux Distributions y Xubuntu 14.04.

Escogemos Instalar Xubuntu o Probar Xubuntu (lo que tu quieras). Una vez en el escritorio de Xubuntu podemos:

1º-Configurar las particiones con Gparted (avanzado  y Opcional). Lo dejaríamos así (como pongo mas abajo) para una instalación solo de Xubuntu (sin Windows). Eliminaríamos todas las particiones y generaríamos las siguientes (con Gparted ó después en la instalación de Xubuntu):

1- SWAP               3000M             PRIMARIA             AREA DE INTERCAMBIO

2-SISTEMA         30000M           PRIMARIA             EXT4 TRANSICIONAL                  /

3-DATOS             EL RESTO        LÓGICA                   EXT4 TRANSICIONAL                    /HOME

(El tamaño es orientativo).

ó

2º-Directamente seleccionar instalar Xubuntu (Recomendado para no expertos).

Nos saldrá el menú de “Red Inalámbrica” y seleccionamos nuestra red con la contraseña. Continuar.

Nos saldrá un menú en el que tenemos que seleccionar “Descargar actualizaciones mientras se instala”. Continuar.

Nos saldrá el menú “Tipo de instalación”.

Si eres Avanzado selecciona “Mas Opciones” y configura según opción 1 de mas arriba.

Si no eres Experto y quieres quedarte solo con Xubuntu selecciona “Borrar disco e instalar Ubuntu 14.04”.

Si no eres Experto y quieres quedarte con Windows y Xubuntu (doble arranque) selecciona “Instalar Windows junto a Ubuntu 14.04”.

Si ya tienes una distro de Ubuntu y quieres eliminar la anterior selecciona “Eliminar Ubuntu 1x.xx y reinstalar”

Continuar.

Nos saldrá el menú de “Localización” que normalmente no hay que tocar. Continuar.

Nos saldrá el menú de “Tipo de Teclado” que normalmente no hay que tocar. Continuar.

Nos saldrá el menú de “Usuario”. Pones tu Nombre, iniciar sesión automáticamente y contraseña.

Se instalará Xubuntu y se actualizará.

Una vez instalado y en el escritorio debemos hacer 2 últimas cosas para optimizar el EEE PC.

Una regular el funcionamiento del ventilador y otra instalar los drivers de la tarjeta grafica GMA 930 todo esto abriendo el “Terminal Emulator “ y escribiendo los siguientes comandos:

sudo apt-get install gedit

sudo apt-get install gksu

gksudo gedit /etc/default/grub

Nos saldrá un  editor de texto y cambiamos la línea:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

por

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

Cerramos y guardamos.

Volvemos al “Terminal Emulator” y escribimos: 

sudo update-grub

sudo add-apt-repository ppa:xorg-edgers/ppa

sudo apt-get update

Una vez hecho esto ya tenemos nuestro EEE PC con Xubuntu funcionando perfectamente.

Adicionalmente disponemos de “Ubuntu Software Center” donde podremos bajar las aplicaciones que consideremos necesarias. En mi caso volví a instalar Gparted, Java y Nautilus.

Podemos volver a la BIOS y poner Max CPUID Value Limit en Disabled, aunque no recomiendo hacerlo, ya que aunque puede que aceleremos un poco el eee pc, también se vuelve mas inestable y es posible algún cuelgue cuando la cpu tenga mucha actividad de calculo.

Espero que sirva a alguien.

Saludos.


Resetear Tarjeta Sim

Hace ya bastante tiempo tuve un problema con mi iPhone. Este al actualizar el firmware me freía mi tarjeta SIM. La solución que te da tu compañía telefónica es cambiar de tarjeta, solución que según que compañía significaba dinero, además del inconveniente de tener que moverte al la tienda a que te hagan la copia.

Buscando por internet, me encontré con un documento que explicaba muy bien como funcionaban estas tarjetas SIM y los tipos de tarjetas que hay:

Dentro de este mismo documento me encontré con el siguiente cuadro:

Cuadro conectores

Como veis, está resaltado RESET que es el pin 2. ¿Qué pasa si juntas el pin 2 con el pin 4?

Bingo!! Reseteas la tarjeta SIM y si, vuelve a la vida!!!!

No siempre funciona, pero en la mayoría de los casos recuperas tu tarjeta SIM….y tus contactos, si tenias alguno ahí.

Espero que esto le sirva a alguien.

Saludos!!

 

Ejecutar presentación Adobe Flash Player en Android

Por motivos personales y comodidad, decidí pasar una presentación de un curso que está en formato HTML y funcionando con Adobe Flash, a mi tablet de Android.

Dispongo de 2 tablets Android 4.1 y Android 4.4.4 y lo normal es que una vez instalado el Flash Player de turno e instalado un navegador que acepte flash, como puede ser Firefox, Flashfox o Dolphin, todo fuese rodando….pero no fue así.

Para que funcione bien el Flash en nuestras tablets es muy importante seguir al pie de la letra las siguientes instrucciones:

1- Instalar del Play Store el Mozilla Firefox.

2- Desinstalar cualquier Flash Player instalado anteriormente.

3- Reiniciar Tablet o Smartphone.

4- Instalar este Flash Player de aquí:

Adobe Flash Player

5- Reiniciar Tablet o Smartphone.

6- Ir a la aplicación de Flash Player “Flash Player Settings” y ejecutarla y te preguntará con que navegador quieres abrirla. Elige Mozilla Firefox (esta acción generará unas carpetas en la Tablet necesarias para después).

Una vez abierto el navegador e insertado la dirección donde estaba almacenada mi presentación (dentro de la sd interna de la tablet), se abrió la pagina principal de la presentación y pude clickear uno de los temas, abriendo otra pestaña con el capítulo correspondiente.

Mi problema vino que una vez abierta esta nueva pestaña, el  capitulo Flash no se ejecutaba quedando con una imagen de “Loading….”.

Como soy muy cabezudo, busqué y busqué y me enteré de que flash player funciona con unos archivos (mms.cfg, settings.sol y una carpeta que debes de crear) que son los encargados de dar permisos y considerar unos archivos o carpetas “seguros o de confianza” y permite que estos archivos se ejecuten.

En Pc todo es mucho mas fácil, ya que procediendo a los ajustes de Flash player puedes ir a la pestaña de “Avanzado” y allí configuras las ubicaciones de confianza. ¿Pero en Android?

En Android con Flash tienes dos puñeteras opciones que te permiten decidir poca cosa o nada.

Como soy root, empecé a buscar dentro del enjambre de carpetas que tiene mi tablet buscando cual de ellas sería la encargada de dar permiso a mi tablet para poder ejecutar mi deseado curso de estudio.

Los archivos del flash player está instalados en /data/data y en mi caso dentro de la carpeta com.isses.flashplayer. Pero en este caso, lo que me interesa es ir a la carpeta donde está instalado el navegador: org.mozilla.firefox y dentro seguimos la siguiente ruta: app_plugins/com.adobe.flashplayer/Macromedia/Flash_Player/adobe.com/flashplayer.

Esta carpeta no se genera si no realizamos el paso 6 mencionado anteriormente.

Dentro de todo esto nos encontramos con un archivo que se llama settings.sol que es el archivo encargado de dar permiso a los archivos o carpetas.

Una vez editado el archivo con la dirección donde se encuentra nuestros archivos en flash ya está resuelto el problema.

Espero que sirva de ayuda a alguien.

Saludos.