miércoles, 25 de noviembre de 2015

RaspberryPi, overclock, overvolt. Primeros pasos con Raspbian Jessie (IV).

Antes que nada he de avisaros que las acciones que explico a continuación pueden dañar la Raspberry Pi hasta el punto de tener que comprar otra nueva. 

Hacer overclock en los primeros modelos de Raspberry Pi era necesario para aumentar su rendimiento, si queríamos transformarla en un centro multimedia o una consola de juegos, sin embargo creo que con la nueva Raspberry Pi 2, con un porcesador de 4 núcleos y una velocidad mayor, el overclock ya no será necesario para estos casos. 

Hay que tener en cuenta que el overclock es malo o poco recomendable, y el overvolt es peor, ya que disminuye de forma drástica la vida útil de la Raspberry Pi. Por otro lado el límite del overclock y el overvolt puede variar para cada dispositivo en función del proceso de fabricación, montaje y ensamblado de cada uno de ellos, de manera que no os fiéis de los parámetros que otros usuarios han podido usar en sus dispositivos, la misma configuración podría quemar vuestra Raspberry Pi.

Si pese a ello queréis hacer overclock y/o overvolt os recomiento que antes hagáis una copia de seguridad del fichero config.txt (por si las cosas se ponen feas), abrid una pantalla de terminal y usad la orden sudo cp /boot/config.txt /boot/config_bak.txt y presionamos Intro en el teclado, esto crea una copia del fichero config.txt con el nombre config_bak.txt, si por alguna razón tras las modificaciones de configuració o del fichero el, dispositivo se vuelve inestable o no arranca podemos poner la tarjeta SD en un PC eliminar el fichero config.txt y restaurar el nombre del fichero config_bak.txt con los valores por defecto.

1. Overclcock, aumentar el rendimiento


¿Qué es el overclock? ¿para qué sirve?. El overclock es la acción de aumentar la velocidad a la que trabaja el Chip por encima de la configuración estándar. 

En Raspberry Pi el chip se divide principalmente en dos partes, la GPU (procesador gráfico) y la CPU (procesador central) y podemos modificar su velocidad de trabajo de forma independiente asignando más o menos velocidad a cada módulo. 
Sin embargo esto tiene principalmente dos consecuencias. En primer lugar debemos saber que este aumento del rendimiento se traduce en un aumento de la temperatura en el chip, lo que provoca una disminución de su vida útil, y en algunos casos se puede llegar a quemar. Lo que me lleva a la segunda consecuencia, la garantía de Raspberry Pi queda invalidada al hacer un overclock en nuestro dispositivo. 
Así pues el overclock debe realizarse con conocimiento de causa, y si decidimos hacerlo os recomiendo usar métodos de disipación del calor para evitar quemar el dispositivo, hay a la venta ventiladores para algunas cajas, disipadores de temperatura, etc. 

Con la nueva versión de Raspbian Jessie podemos modificar estos parámetros de tres formas diferentes, usando el programa de configuración a través del escritorio, usando el programa de configuración en la línea de comandos y finalmente editando directamente el fichero /boot/config.txt de forma manual.

1.1. Modificar el overclock con el programa de configuración desde el escritorio.

Desde el mismo escritoriovamos al botón Menú - Preferencias - Raspberry Pi Configuration



Se abrirá la pantalla de configuración y haremos click en la pestaña Performance



aquí podemos ver la opción Overclock con un desplegable que contiene cinco opciones, y la opción GPU Memory, con un control que permite aumentar o disminuir la memoria dedicada al procesador gráfico. Sencillamente hay que seleccionar los valores deseados y hacer click  en el botón OK. Es posible que tengáis que reiniciar el dispositivo para que se apliquen los cambios.

Esta acción modifica el archivo /boot/config.txt según las especificaciones indicadas y tras reiniciar la Raspberry Pi se aplicarán. Como ya os he explicado es posible dañar la Raspberry Pi, o puede volverse inestable y bloquearse, obligando a reiniciar el dispositivo (en el peor de los casos puede no arrancar).


1.2. Modificar el overclock con el programa de configuración desde línea de comandos.

Primero abrid una pantalla de línea de comandos. Los pasos a seguir son los siguientes, en primer lugar en la linea de comandos de Raspberry Pi introduciremos la orden sudo raspi-config esto abrirá la pantalla de configuración de Raspberry Pi como se muestra debajo




Seleccionaremos la opción 8 overclock y accederemos a ella, nos parecerá una pantalla de aviso como la que se muestra a continuación, aceptaremos.


Seguidamente aparece la pantalla en la que podremos seleccionar diferentes configuraciones de overclcok, fijaos que la última para Pi2 (si no tenéis este modelo no la escojáis). Por defecto la configuración seleccionada es None. Seleccionaremos la configuración deseada y aceptaremos.


Esta acción modifica el archivo /boot/config.txt según las especificaciones indicadas y tras reiniciar la Raspberry Pi se aplicarán. Como ya os he explicado es posible dañar la Raspberry Pi, o puede volverse inestable y bloquearse, obligando a reiniciar el dispositivo (en el peor de los casos puede no arrancar).


De la misma forma que para modificar la configuración de la pantalla, podemos editar el fichero /boot/config.txt, o bien podemos usar el programa de configuración de Raspberry Pi, para hacer el overclock. 
Explicaré primero este segundo método ya que un error en los valores introducidos de forma manual podría destruir la Raspberry Pi. Usando el programa de configuración minimizaremos el riesgo.

1.3. Modificar manualmente el overclcock

De la misma forma que hemos modificado la configuración de la pantalla, podemos editar el fichero /boot/config.txt, para modificar el overclock. 
Para ello abriremos una pantalla de líinea de comados y intorduciremos la siguiente orden sudo nano /boot/config.txt, esto nos mostrará una pantalla similar a la que se ve debajo


Los principales parámetros que podemos modificar son:
  • arm_freq : modifica la frecuencia principal del reloj de la CPU aumentando el rendimiento general del dispositivo. La velocidad predeterminada es 700 MHz.
  • gpu_freq : modifica la frecuencia del reloj de la GPU, aumentando en rendimiento gráfico. La velocidad predeterminada es 250 MHz. Además podemos modificar de forma individual las diferentes partes de la GPU con estas opciones:
  • core_freq : modifica la frecuencia principal del reloj de la GPU dejando el resto igual. Aumenta el rendimiento general de la GPU. Por defecto el valor es 250 MHz.
  • h264_freq : modifica el reloj del decodificador de video de la GPU mejorando la reproducción de video H.264. Por defecto el valor es de 250 MHz.
  • isp_freq : modifica la frecuencia del reloj del ISP (Image Sensor Pipeline), mejorando la velocidad de captura de video. Por defecto es 250 MHz.
  • v3d_freq : modifica la frecuencia del reloj del renderizado de 3D de la GPU, mejorando el rendimiento de los juegos y su visualización. Por defecto es 250 MHz.
  • sdram_freq : modifica la velocidad del chip de la memoria RAM, proporcionando un aumento general del rendimiento. Por defecto es 400 MHz.
  • init_uart_clock : modifica la velocidad del Receptor/Transmisor Asíncrono Universal (UART) que controla la consola serie. Por defecto es 3000000 (3 MHz). La modificación de este valor lo único que puede provocar es corromper la salida de la consola serie.
  • init_emmc_clock : modifica la velocidad del controlador de la tarjeta SD. por defecto es 80000000 (80 MHz). Aumentar el valor hará que la velocidad de lectura/escritura en la tarjeta SD incremente pero puede provocar la corrupción de los datos.
Por ejemplo para cambiar la configuración del overclock de la CPU a 800 MHz, la GPU a 280 MHz y la RAM a 420 MHz añadiríamos en el fichero las líneas siguientes:

arm_freq=800
gpu_freq=280
sdram_freq=420

Una vez modificado el fichero hacemos CTRL+O para guardar y presionaremos la tecla Intro del teclado, y CTRL+X para salir. Para aplicar los cambios solo tenemos que reiniciar la Raspberry Pi y cruzar los dedos para que se encienda.

Para más información podéis consultar el enlace que os muestro a continuación:



2. Overvolt, aumentar la tensión

¿Qué es el overvolt? ¿para qué sirve?. Generalmente el módulo de memoria trabaja a 1,2 voltios, sin embargo podemos forzar el funcionamiento a un voltaje superior para poder aumentar la velocidad de trabajo del Chip. Esto se traduce un un aumento de la temperatura del dispositivo, y la vida útil de este se reducirá de forma considerable, y de la misma manera que el overclock invalida la garantía de la Raspberry Pi.

Para modificar la configuración del overvolt solamente lo podemos hacer modificando el fichero /boot/config.txt de forma manual. Para ello seguiremos estos pasos. En la línea de comandos introducimos la orden sudo nano /boot/config.txt. Esto abrirá una pantalla similar a la que tenemos debajo.


Los principales parámetros que podemos modificar son los siguientes: 
  • over_voltage : modifica el voltaje principal del chip que por defecto es 0. Los valores van de -16 a 8 (solo con valores enteros no acepta decimales), cada unidad aumenta o reduce el voltaje por defecto en 0,025 V.
  • over_voltage_sdram : modifica el voltaje suministrado al chip de memoria que por defecto es 0. Los valores van de -16 a 8 (solo con valores enteros no acepta decimales), cada unidad aumenta o reduce el voltaje por defecto en 0,025 V. Además podemos modificar de forma individual el voltaje para sus diferentes componentes:
  • over_voltage_sdram_c : modifica el voltaje al controlador de memoria. Los valores funcionan como en el parámetro over_voltage_sdram.
  • over_voltage_sdram_i : modifica el voltaje al sistema de entrada/salida (E/S) de la memoria. Los valores funcionan como en el parámetro over_voltage_sdram.
  • over_voltage_sdram_p : modifica el voltaje a los componentes de la capa física de la memoria (PHY). Los valores funcionan como en el parámetro over_voltage_sdram.
Podemos introducir las líneas con los valores deseados. Haremos CTRL+O y presionamos la tecla Intro del teclado para guardar los cambios en el archivo, seguidamente haremos CTRL+X para cerrarlo, y después reiniciaremos la Raspberry Pi para aplicar los cambios (y cruzad los dedos para que se encienda).
Para más información podéis consultar el enlace que os muestro a continuación: