En esta última entrega nos introduciremos en apartados más técnicos que nos permitirán ajustar fragmentos del código del sistema operativo susceptibles al ahorro energético. Nos referimos a la modificación de la frecuencia en reposo del procesador, el voltaje, la sustitución del kernel del sistema por otro más optimizado y completo o lo más radical, el cambio de ROM.
Familiarizarse con la Scene Android y todos los conceptos básicos requiere tiempo, pero una vez dentro veremos las infinitas posibilidades de configuración de Android. Desde el root, la instalación de un recovery alternativo más funcional hasta el cambio de firmware por otro más personalizado y optimizado. Estas posibilidades reflejarán en el Samsung Galaxy S2 no solo, en la mayoría de casos, un mayor rendimiento, sino también una autonomía más prolongada.
Una vez conseguimos permisos de superusuario en el sistema e instalamos un recovery alternativo del tipo ClockWorkMod, estamos en condiciones de utilizar técnicas más agresivas para mejorar la batería del Samsung Galaxy S2.
Undervolt y underclock
La primera de todas es configurar manualmente la frecuencia del procesador (underclock y overclock) con aplicaciones específicas como setCPU o Voltage Control. De esta forma podremos forzar el procesador para que trabaje a una frecuencia más baja en momentos de mínimo estrés, como es el hecho de mantenerse en reposo. También podemos limitar la frecuencia máxima de trabajo, aunque de esta forma mermamos en cierto modo el rendimiento del sistema. De forma paralela también podemos modificar la intensidad de la corriente eléctrica o voltaje que necesita el procesador para economizar energía. Por defecto, el fabricante aplica valores estándar para evitar problemas de estabilidad, pero cada chip es especial y admite diferentes valores. El secreto reside en probar con la aplicación los valores umbrales más bajos que no producen congelaciones del sistema ni bloqueos. Este truco es especialmente interesante aplicado a las frecuencias a las que escala con mayor frecuencia el procesador, que suelen ser las más bajas y altas. Una buena forma de comprobar el porcentaje de uso de las frecuencias es mediante la aplicación CPU Spy.
Volviendo a la aplicación Voltage control, tenemos otros parámetros modificables igualmente interesantes. Uno de éstos es el tipo escalabilidad que deseamos para el procesador. Esta opción nos permite escoger diferentes modos predefinidos que repercuten en la escalabilidad de la frecuencia del procesador. La más habitual es OnDemand, que supedita la elección de la frecuencia del procesador a los requerimientos del sistema, pero podemos elegir otros para maximizar el rendimiento (performance) o el ahorro energético (conservative), aunque hay otros tantos más complejos. Del mismo modo, las técnicas explicadas para el procesador se pueden extrapolar para la GPU, de la cual podremos controlar su frecuencia y voltaje.
Sustitución del kernel
Damos por hecho que todo aquel dispuesto a aplicar estas optimizaciones está familiarizado con esta práctica. Si no es así os aconsejamos que estudiéis el tema en Internet o recurráis a los foros de ayuda, cuna de ingentes cantidades de información y sabiduría. Volviendo al tema principal, la elección de un kernel optimizado va a definir en gran parte el comportamiento del sistema operativo y del smartphone. Al ser el núcleo de Android, éste se encarga de gestionar entre otras cosas los recursos del hardware para ejecutar las aplicaciones así como todas las funciones nativas del teléfono. El núcleo que viene de serie no siempre tiene todas las mejoras o incluso funciones adicionales que nosotros quisiéramos, por lo que toma importancia el hecho de que podamos sustituir el original por otros más optimizados. Actualmente tenemos a nuestra disposición un buen número de kernel compatibles con el Samsung Galaxy S2, de entre los que destacan el SpeedMod, Ninphetamine, Abyss, Siyah y CD-Root entre otros muchos. Cada uno de estos kernel están optimizados de una manera diferente y va a condicionar el rendimiento del teléfono así como el gasto energético, por lo que la mejor forma de conseguir el adecuado al uso que apliquemos al teléfono sería probar el mayor número posible de estos y decidir cuál se ajusta mejor a nuestras necesidades. A modo de orientación personal nosotros hemos testeado más en profundidad el kernel Siyah, consiguiendo muy buenos resultados, tal como podréis apreciar en las capturas.
Localización por GPS afinada al máximo
Aunque no es el caso del Samsung Galaxy S2, en ocasiones nos podemos topar con smartphones que tardan demasiado en ubicar nuestra posición. Dejando de lado la sensibilidad del chip, queremos centrarnos en la configuración del GPS. Por defecto, Android incluye en la carpeta /etc un archivo llamado GPS.conf que en ocasiones es “universal”. Aquí se acumulan direcciones de servidores NTP para sincronizar la hora atómica con el GPS, que ayuda a identificar la zona aproximada donde te encuentras, de forma que el teléfono ya sabe qué satélites tiene a su alrededor, cuáles están más cerca. Si introducimos un GPS.conf que contenga los datos referentes a un país en concreto, ayudaremos al GPS a reducir el tiempo de espera para triangular. Podemos sustituir este archivo con la aplicación Root Explorer, que nos permite acceder a las carpetas del sistema además de leer y escribir archivos. No obstante, también hay archivos preparados para flashear desde el recovery que podéis encontrar desde este hilo del foro de XDA. Después, solo quedaría establecer la señal con la menos tres satélites para realizar la triangulación y posteriormente calcular el punto de la corteza sobre el que nos encontramos. Este “enfoque forzado” nos ahorra un tiempo en el que el GPS está gastando mucha energía a la par de que reduce el tiempo necesario para la geolocalización, por lo que conseguimos un doble efecto de autonomía y mejor experiencia de uso.
Fast Dormancy
Un término nuevo para muchos, aunque de momento de poca utilidad en España puesto que las operadoras no contemplan la posibilidad de habilitar esta funcionalidad de forma permanente. Tan solo sabemos que Vodafone la activa en ciertos puntos estratégicos, en momentos determinados como la celebración de eventos que agrupan a grandes cantidades de personas. No obstante, para entender este concepto debemos mencionar otros como el consumo y tráfico de señalización. Todo smartphone requiere de conexiones a la red del operador para dar funcionalidad a sus servicios y aplicaciones. Las continuas conexiones y desconexiones de los smartphone para ahorrar energía hace que las peticiones de conexión sean muy frecuentes y se produzca ruido de señalización, o lo que es lo mismo, la saturación de las redes por un número elevado de peticiones de conexión y desconexión de forma simultánea (y no por una problema de caudal de ancho de banda). Para evitar estas situaciones Nokia Siemens perfeccionó este sistema de desconexiones surgiendo así el Fast Dormancy con cinco estados RRC diferentes (Idle, Cell_FACH, Cell_PCH, URA_PCH y Cell_DCH) de forma que se genera un contexto PDP que queda establecido permanentemente entre la red y el teléfono, salvo ocasiones que lo requieran. Ese contexto va a permitir, si la red del operador tiene la funcionalidad estandarizada en Fast Dormancy 3GPP Release 8, que el smartphone decida cuándo pasa a estado “latente” (Cell_PCH) donde la red radio, que es la que permite las transmisiones de datos (y la que más energía requiere en estado activo) se mantenga prácticamente inactiva y no consuma apenas batería, sin que se desconecte del todo de la red Core del operador. De esta forma tenemos una fórmula que minimiza las saturaciones por problemas de señalización y también se encuentra el estado de letargo para que el smartphone, sin desconectarse de la red, consuma una mínima parte de energía.
El Samsung Galaxy S2 es compatible con esta funcionalidad (no todos los smartphone lo son). Sin embargo, parece que si el teléfono tiene la fuente activada, pero la red del operador no la soporta, el efecto en la batería del Galaxy S2 tiende a ser el contrario, por lo que si la desactivamos podríamos apreciar una pequeña ganancia en la autonomía. Para desactivar el Fast Dormancy en el Samsung Galaxy S2 tan solo tenemos que pulsar en el dialer la combinación * # 9900 # y nos aparecerá un menú oculto en el que tendremos que buscar el apartado correspondiente para desactivarla. El efecto es recíproco por lo que si volvemos a pulsar sobre el botón activamos de nuevo el servicio de nuevo.
Flasheo de ROMs personalizadas
Tal vez esta sea la solución generalizada más cómoda para el usuario a la hora de conseguir el equilibrio perfecto entre consumo y rendimiento pues en un archivo zip se condensa toda la sabiduría y experiencia del desarrollador, que vela por nuestros intereses buscando la fórmula perfecta para extraer toda la esencia del teléfono, con una experiencia de usuario igualmente gratificante. Las ROM “cocinadas” que podemos encontrar publicadas principalmente en los foros de XDA son muchas. Cada una de estas tienen diferentes temas visuales, tweaks, aplicaciones de personalización y herramientas adicionales que dan un valor añadido al sistema operativo. Nuevamente nos inclinamos por un testeo personal para encontrar la ROM que más se aproxime a nuestras exigencias y gusto. Del mismo modo nuestro equipo de desarrollo SuperTeam pone a vuestra disposición la ROM SuperOSR compilada por ellos mismos que está creada para ser rápida, muy rápida, a costa de penalizar la estética con una interfaz liviana, al estilo de CyanogenMod. También podéis probar la ROM Illusion-xT, mucho más estética e igualmente rápida y optimizada en infinidad de apartados gracias a la buena mano de su desarrollador NeoPhyTe.
Esperamos que alguna de las recomendaciones que hemos propuesto en cada una de las tres partes en las que hemos dividido este artículo os sea de utilidad y podáis extender la autonomía de vuestro Samsung Galaxy S2.