miércoles, 14 de diciembre de 2011

RIL, Baseband. Qué son y cómo cambiarlas

Empecemos por los conceptos:
  • Baseband / Radio: Es el software encargado de controlar las funciones de teléfono y el acceso a Internet del móvil. En la mayoría de dispositivos también afecta a la funcionalidad de la cámara. Para cambiarlo es necesario flashear una nueva versión sobre la actual.
  • RIL: Son las iniciales de Radio Layer Interface. Es la capa de abstracción que se encuentra entre el baseband y los servicios de telefonía de Android. Puede instalarse sin necesidad de flashear nada.

Cambiando el Baseband del LG Optimus 2X

Antes que nada, ¿necesito cambiarlo? Pues depende de la versión que tengas, y las ventajas que puedan ofrecerte otras Baseband.

Para ver qué baseband tenéis, id a Ajustes > Acerca del teléfono.

Acerca del teléfono (en mi caso sale con la interfaz tuneada de MIUI, que es la ROM que uso actualmente)

Normalmente, cada Baseband mejora la anterior, excepto en algunas pocas ocasiones en las que (por poner un ejemplo) la nueva pueda consumir un poco más de batería a cambio de ganar más cobertura, lo cual ocurrió con alguna de las anteriores.

Personalmente, tras probar varias, creo que la mejor de todas es la más actualizada (lo cual como digo, suele ser lo normal), que en este caso, a día de hoy, es la versión 1035.21_20110725 (V20l version).

Pasos para cambiar el Baseband
1. Hacer backup de toda nuestra información. Al hacer un cambio de baseband es altamente recomendable flashear de nuevo una ROM, para evitar comportamientos inestables.

ADVERTENCIA: Al flashear con smartflash se borrará absolutamente todo, incluyendo la memoria interna del teléfono. Si tenéis una SD externa, permanecerá intacta, pero recomiendo que si vuestra ROM deposita carpetas en ella como ".android_secure, Android, etc." las eliminéis también., para evitar comportamientos extraños de la ROM que instaléis después.

2. Descargar los archivos siguientes:
- SmartFlash driver
- SmartFlash P990
- Baseband 1035.21_20110725 (V20l version)

3. Descomprimir e instalar el driver.
4. Descomprimir y ejecutar como administrador (clic derecho > ejecutar como Administrador, en Windows Vista y Windows 7) "SmartFlashTool_P990.exe". Dejamos abierta la aplicación.

5. Con el teléfono desconectado, llevar a cabo los siguientes pasos:

  • Apagar el teléfono
  • Quitar la batería
  • Mientras se mantiene pulsada la tecla "Volumen menos" enchufamos el teléfono al ordenador. Si aún no está reconocido vuestro dispositivo, lo detectará e instalará automáticamente.
  • Debería rellenarse el campo "COM Port" de la aplicación SmartFlash automáticamente. Si no se rellena, tened paciencia unos minutos, que detecte vuestro teléfono, y si aun así no se rellena probad desconectar el teléfono y volver a repetir el procedimiento de conectarlo pulsando "Volumen menos".

6. Una vez se rellene el campo "COM Port" automáticamente, id a la pestaña ROM Copy D/L y verificad estos campos (que por defecto deben estar así):
  • Normal mode: Debe estar activado
  • Erase cal: Debe estar desactivado

7. Ahora tenemos que especificar qué baseband queremos flashear. Haced clic en Browse (está al lado de CP Bin) y buscad el archivo del baseband que habéis descargado antes.

8. Haced clic en el botón Start y tened paciencia hasta que el proceso finalice totalmente, sólo tarda un par de minutos.

9. Arrancar en recovery y flashear la ROM que deseéis utilizar. En este post indiqué en su día algunas de las mejores.

10. (Omitir este paso si utilizáis la ROM MIUI por un bug que tiene esta ROM de pérdida de cobertura si actualizáis el RIL. Más info aquí.) Descargar la aplicación GetRIL del Android Market (es necesario tener root para utilizarla). Abrid la aplicación y la aplicación os dirá si vuestro Baseband y RIL coinciden, que es lo ideal. Si no es así, dadle a actualizar y se descargará el RIL correcto para vuestro Baseband. Una vez descargado e instalado (es casi instantáneo) debería salir un mensaje en verde indicando que vuestro Baseband y RIL coinciden.

11. Reiniciad el terminal.

Referencia:

Corrección de algunos errores en la ROM MIUI

He detectado algunos errores en la ROM MIUI, que aunque no demasiado importantes (al menos los dos primeros), no dejan de ser molestos.

Para los dos primeros errores es necesario que seamos root, y tener un explorador de archivos que permita montar el sistema de archivos como lectura/escritura (por defecto está como sólo lectura). Lo ideal y más cómodo es tener Root Explorer, pero si no lo tenéis o no queréis comprarlo, podéis usar ES File Explorer.

Para habilitar permisos de escritura en los archivos de sistema:
- Root Explorer: Darle al botón Mount R/W de la esquina superior derecha.
- ES File Explorer: Entrad en configuración y al final de todo podéis habilitar las dos casillas de Root para modificar archivos del sistema.

Importantísimo: Acordáos de volver a desactivar estas opciones tanto en uno como en otro caso, para evitar modificar archivos importantes del sistema por error (que en caso de hacerlo, en el peor de los casos tendríais que reflashear la ROM encima).

Error 1: No funciona Youtube
(Actualización: Solucionado en la versión 1.12.16 de MIUI.es)

Para hacerlo funcionar, una vez habilitados los permisos de escritura, tenemos que editar el archivo /system/build.prop y añadir al final de todo la siguiente línea:
ro.build.lge.version.release=LGP990-V20l

(por si hay dudas, el último carácter es una "ele" minúscula)

Y reiniciar el teléfono.

Este problema está presente en todas las últimas versiones de la ROM. Y está probado con las últimas versiones, incluida la más actual a fecha de hoy (MIUI Optimus 2X v1.12.9).

Error 2: El GPS tarda en fijar la posición
(ActualizaciónSolucionado en la versión 1.12.16 de MIUI.es)


Básicamente esto ocurre porque no es capaz de conectarse a los servidores correspondientes y por tanto es como si no tuviésemos A-GPS. De esta forma se comporta lento como los antiguos GPSs, al no poder descargar la posición exacta de los satélites.

La solución es, una vez habilitados los permisos de escritura, descargar el archivo gps.conf y sustituir el archivo existente en nuestro teléfono ubicado en la ruta /etc/gps.conf.

Error 3: Pérdida de cobertura
Parece ser que en algunos casos, la cobertura se pierde, y si entramos en las opciones vemos que el modo Avión está habilitado (aunque no salga el avión arriba). En este caso la única solución parece ser reiniciar el teléfono, ya que no hay forma de recuperarla.

He comprobado, aunque igual es simple casualidad, que desde que he activado la "Itinerancia de datos" no me ha vuelto a ocurrir. Si me ocurre desde que posteo esto, lo actualizaré. Vuelve a ocurrir aunque actives la itinerancia, por lo que si no la necesitáis, por precaución si viajáis al extranjero, desactivadla otra vez.

Solucionado: Comprobado, en 2 terminales con el Baseband 1035.21_20110725, y la última versión de MIUI si tras flashear la ROM, no actualizas el RIL a su versión "correcta", este problema desaparece. Básicamente parece que es un problema debido a que "oficialmente" la ROM MIUI para Optimus 2X no contempla la existencia del Baseband más actualizado.
Por tanto, no actualicéis el RIL aunque GetRIL os diga que es incorrecto.

Intentaré comentar estos fixes en los foros "oficiales" de MIUI.es, a ver si los incluyen en próximas versiones.

martes, 13 de diciembre de 2011

¿Qué es una ROM? ¿Cómo cambiar la ROM al Optimus 2X?

(Actualizado 13/12/2011)

Antes que nada... ¿qué es una ROM?
ROM viene del acrónimo inglés "Read Only Memory", y se refiere a las memorias de "sólo lectura"  que contienen ordenadores y demás dispositivos electrónicos, y en nuestro caso particular, un teléfono.

La pregunta del millón: Si es memoria de sólo lectura... ¿por qué hablamos de modificarla? El nombre de "memoria de sólo lectura" lo reciben desde sus inicios, en los que sólo podían escribirse una vez (generalmente antes de salir de fábrica). Desde hace unos años, estas memorias pueden volver a modificarse sin problema, utilizando herramientas que nos permitan hacerlo, y al proceso de escribir en una de estas memorias es lo que llamamos "flashear".

Tras la pequeña reseña teórica, una de las grandes ventajas de un móvil Android, es que ya es altamente personalizable según nos llega a nuestras manos. Pero para los más enredas, para los que aún necesitan llegar más allá probando nuevas personalizaciones, mejoras y optimizaciones; para esto y mucho más, existen lo que conocemos como ROMs.

Realmente el nombre que deben recibir es "Custom ROMs" (o ROMs personalizadas), ya que al fin y al cabo son ROMs creadas por comunidades de usuarios en lugar del propio fabricante.
En la ROM está el sistema operativo, Android en nuestro caso, y al estar creadas por la comunidad, se tiende a eliminar (o no incluir) todo lo innecesario que meten los fabricantes (aplicaciones Vodafone y LG en mi caso), optimizar el rendimiento del teléfono, desbloquear funciones capadas por los fabricantes, y ante todo, disponer de un Android más puro (más como nace de Google), sin más intermediarios que los propios "cocineros" de la ROM. Además de todo esto, cada cocinero, y al igual que ocurre en la cocina, modifica partes de la "receta", personalizando el sistema y haciéndolo más atractivo para los usuarios.

Y por fin, entrando ya en materia, paso a detallar algunas de las ROMs más destacadas para este gran terminal, las cuales he podido probar personalmente. Comento ventajas y desventajas muy básicas de cada una. Si alguien tiene una duda concreta y puedo solucionársela lo haré encantado.

CyanogenMod 7.1 (CM7.1)
Cyanogen quizás sea el cocinero de ROMs para Android más conocido, y su CyanogenMod junto con la enorme comunidad que hay detrás, está extendida a prácticamente todos los dispositivos Android (y algunos que no son Android) que existen.

En el Optimus 2X empecé probando la versión RC1, que salío hace unas semanas, y tras eso me lancé a probar las Nightlies (las versiones que van sacando cada noche) en las que seguían añadiendo funcionalidades y corrigiendo pequeños errores.

Ventajas:
- Android 2.3.5
- Muy estable
- Personalizable
- En constante desarrollo (actualmente están desarrollando CM9 con Ice Cream Sandwich - Android 4.0)

Desventajas:
- Pequeños cortes al reproducir video por HDMI en una pantalla externa (al menos hasta la última nightly que he probado)
- No funciona la radio FM (aunque yo personalmente no la uso).

SuperOSR V2
Es un proyecto del Superte@m, un grupo al que le tengo bastante cariño, y cuyas ROMs para mi antiguo HTC Magic, fueron (y son) las que más tiempo han estado instaladas en él (SuperFroyo, SuperBler, SuperAOSP...). Será la próxima ROM que instale en mi móvil.

Ventajas:
- Kernel propio
- Android 2.3.5
- Muy optimizada

Desventajas:
- No funciona la radio FM


Modaco FR19
Esta ROM básicamente es la ROM de LG muy optimizada y en la que se corrigen algunos de los fallos que traía de serie.

Ventajas:
- Es la ROM oficial de LG corregida y mejorada en rendimiento.

Desventajas:
- Android 2.2.2 (ROM de LG)



MIUI
Mi ROM actual desde hace aproximadamente un par de semanas. Y he de decir que estoy encantado con ella.

Ventajas:
- Kernel CyanogenMod
- Totalmente personalizada y personalizable, desde el laucher hasta el locskcreen, bootscreen...
- Repositorio local y online de temas aplicables con un clic

Desventajas:
- Oficialmente sólo disponible en chino e inglés para Optimus 2X. Ya está en castellano
- Pequeños cortes reproduciendo vídeos por HDMI
- No funciona la radio FM
- Algunos errores pendientes (aquí se explica cómo solucionarlos)

¿Cómo instalar cualquiera de estas ROMs?

Generalmente, el procedimiento es similar para todas estas ROMs.

Paso 1. Descargar los archivos de la ROM que queremos:
CM 7.1
Última nightly que he probado (gran ROM, muy estable). (Link oficial)
- Google Apps (en CM se instalan por separado). (Link oficial)

Fuente: CyanogenMod for Optimus 2X

Modaco FR19
Ojo, para esta ROM es imprescindible actualizar el Baseband a la última versión (aquí se indica cómo hacerlo).
- Post oficial

MIUI
- MIUI en castellano
MIUI en inglés

Siempre encontraréis la última versión para vuestro terminal en este mismo enlace

SuperOSR V2
- Desde Movilzona (donde se da soporte a esta ROM por parte de sus geniales cocineros).

Antes que nada, hay que copiar el/los archivo/s de la ROM elegida en la raíz de la tarjeta microSD (sí, hace falta tarjeta microSD, y no en la memoria interna)

Paso 2:
1. Rootear
2. Instalar recovery
3. Entrar en recovery (si no sabes cómo moverte por el recovery, mira aqui)
4. Realizar un backup (por si tenemos que volver a la ROM anterior), siempre antes de cambiar de ROM.
5. Seleccionar Wipe data/factory reset (esto borrará todos los datos del teléfono, asegúrate de haber hecho antes un backup!)
6. Seleccionar Wipe cache partition
7. Install zip from SD card y Choose zip from sdcard.
8. Seleccionamos el archivo de la ROM deseada (sólo el de la ROM que queremos obviamente):
- CM 7.1: En este caso tenemos que instalar los dos que hemos descargado. Primero la ROM, y después las Google Apps repitiendo el mismo proceso (choose zip from sdcard...)
- MIUI: El zip de la versión descargada, cuyo nombre suele ser miuiandroid_Optimus2x-X.X.XX.zip.
- SuperOSR: El archivo SuperOSR-ST@-p990-X.X.X.zip
- ModacoFR19: El archivo previamente descargado Fr19-vanilla-update-modacocustomrom-2x-kitchen-unsigned.zip

9. Damos a OK y "empezará la fiesta".
10. Tras unos instantes la ROM estará instalada en nuestro teléfono. Basta con dar a ++++Go Back++++ y Reboot system y arrancaremos con ella.

El primer arranque tras instalar una nueva ROM siempre tarda algo más, pero ya veréis que en los siguientes no es así.

Tras instalar una nueva ROM, y dependiendo de cuál sea, es fácil que los primeros días consuma la batería más rápido, ya que digamos que está "asentándose en su nuevo hogar" y también que solemos enredar más con ella.

Recomiendo darle un poco de uso, instalar algunas aplicaciones, y reiniciarla de nuevo. He comprobado que algunas de las ROMs realizan algunos pre-ajustes en el segundo reinicio (como me ha ocurrido con alguna versión de MIUI). Además, con eso ya veréis que por ejemplo MIUI, SuperOSR y CM7.1 arrancan a la velocidad del rayo después del segundo reinicio.