LCD Alphacool funcionando en Linux

Alphacool LCDMi última adquisición es un LCD Alphacool de 240×128 que va a servir para mostrar y monitorizar información relativa al estado de mi próximo servidor. Este howto está probado en Debian Squeeze (actual testing) pero debería funcionar en Lenny (actual estable), Ubuntu, y cualquier tipo de Linux, tal cual está planteado. Además, debería ser válido tanto para el módulo grande de 240×128 como es mi caso, como para el pequeño de 200×64.

Para no repetir cosas ya mencionadas anteriormente en este blog, referenciaré al artículo que publiqué hace unos meses «LCD4Linux con soporte para serdisplib» para tener funcionando en nuestra máquina lcd4linux y serdisplib (ambas en versión SVN), ya que éste LCD también funciona con el driver serdisplib explicado en dicho artículo. Sólamente voy a aplicar una serie de matizaciones que voy a detallar a continuación:

Al conectar el LCD a un puerto USB no ocurre absolutamente nada: ni aparece ningún texto de ejemplo en la pantalla ni se activa la retroiluminación. Todo esto es totalmente normal, sólamente se activa cuando ejecutamos lcd4linux ya configurado.

Configurando y compilando serdisplib

En mi caso, al compilar serdisplib, por defecto no lo hace incluyendo el módulo acoolsdcm, que es el que otorga el soporte para éste tipo de LCD concreto. En principio la última versión SVN de serdisplib no necesita libusb para funcionar, pero el módulo acoolsdcm no se compila sin esa opción, así que antes de compilar serdisplib, lo configuraremos de la siguiente manera:

./configure --with-drivers="all" --enable-libusb

Una vez instalado serdisplib ya podemos empezar a probar la pantalla sin esperar a tener lcd4linux configurado. Para hacer un test sólo tenemos que ejecutar en un terminal lo siguiente:

testserdisp -n alphacool -p 'USB:060C/04EB'

He marcado en negrita la parte correspondiente a la dirección USB del LCD porque si bien teóricamente todos los LCD fabricados de este modelo tienen la misma dirección, no hay que caer en confusiones. Si ves una imagen como la de la foto siguiente, puede saltar al siguiente paso.

Pero si este paso te da algún problema, comprueba que la dirección sea la misma ejecutando en un terminal el comando lsusb para obtener algo parecido a ésto:

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 008: ID 0603:00f2 Novatek Microelectronics Corp.
Bus 001 Device 007: ID 046d:c044 Logitech, Inc. LX3 Optical Mouse
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp. Hi-Speed 21-in-1 Flash Card Reader/Writer (Internal/External)
Bus 001 Device 004: ID 04b4:6830 Cypress Semiconductor Corp. CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI
Bus 001 Device 003: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub [ednet]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 04b4:0100 Cypress Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 060c:04eb EEH Datalink GmbH
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Éste comando muestra una lista de todos los dispositivos USB conectados al sistema. He marcado en negrita la línea correspondiente a nuestro LCD y he subrayado la parte referida a la dirección de hardware que posee. Ésta es la dirección que tiene que figurar en el comando que hemos usado para probar la pantalla.

Configurando LCD4Linux

Una vez hemos instalado lcd4linux tras haberlo configurado y compilado, sólo tenemos que editar el archivo de configuración /etc/lcd4linux.conf. Para que funcione con éste módulo sólo hay que dejar la sección Display tal y como aparece abajo:

Display Alphacool {         Driver 'serdisplib'         Port 'USB:060C/04EB'         Model 'ALPHACOOL' }

El resto de la configuración es exactamente igual que para cualquier otro módulo LCD. En la misma página de lcd4linux puedes ver un archivo de configuración de ejemplo para empezar a rellenar la pantalla con información diversa.

Dicha sección puede afinarse aún más especificando un tamaño para la fuente con el parámetro Font, seleccionando si activar o no la retroiluminación con el parámetro Backlight y activando o desactivando la rotación con el parámetro Rotate (útil si quieres colocar el LCD en posición vertical):

Display Alphacool {         Driver 'serdisplib'         Port 'USB:060C/04EB'         Model 'ALPHACOOL'         Font       '6x8'         Backlight  '1'         Rotate     '0' }

Aquí dejo como muestra mi LCD configurado más o menos a la mitad, donde de arriba a abajo e izquierda a derecha se muestra: fecha, nombre de mi servidor, hora, carga del procesador, carga del sistema, temperatura del disco duro, memoria RAM total, memoria RAM libre, gráfico de carga del procesador, espacio libre de tres particiones distintas (/, A y B), gráfico de actividad en red, tráfico entrante y saliente de la red en KBytes, uptime e IP local.

LCD Alphacool funcionando con lcd4linux

Previous Post Next Post

5 Comments

  • Reply Yorus 23 enero, 2010 at 20:04

    Interesante como siempre. Vas haciendo las cosas tomándote tu tiempo pero pensándolo todo muy bien y con el detalle que merece.

    Por cierto… felicidades con un día de retraso ;)

  • Reply Tristan Grimaux 18 septiembre, 2017 at 03:45

    estoy siguiendo tu post desde un ubuntu 16.04 y cuando pongo esto

    testserdisp -n alphacool -p ‘USB:060C/04EB’

    me da este error…
    Error: Unable to open USB:060C/04EB, additional info: SDCONNusb_open(): libusb is not loaded.

    qué estará pasando? Están instalados los paquetes de libusb

    • Reply Fran Alburquerque 18 septiembre, 2017 at 11:14

      Francamente, no sé a qué se puede deber ese error, quizás sea necesario ejecutar el comando como root, pero no sabría qué decirte.

      • Reply Tristan Grimaux 18 septiembre, 2017 at 15:15

        estoy ejecutando el comando como root, sigues usando ese display?

      • Reply Tristan Grimaux 18 septiembre, 2017 at 15:19

        Te aclaro que enía este display andando con la versión 14.04 de Ubuntu y me quedó así después de actualizar

    Leave a Reply

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.