Algo que me había quedado pendiente de resolver (por motivos de vagancia) luego de instalar Devuan en mi notebook era habilitar la iluminación del teclado. Se trata de las luces de led traseras (backlights) del teclado, las cuales permiten ver correctamente las teclas durante la noche. Estas luces se activan automáticamente al presionar cualquier tecla y se apagan luego de unos segundos de inactividad.

Este artículo explica cómo habilitar las luces de las teclas de una notebook o laptop Sony en cualquier distribución de GNU/Linux.

El kernel Linux dispone de un módulo sony-laptop, el cual provee controladores para dispositivos presentes en notebooks Sony. Es posible comprobar algunas de las características soportadas en la interfase /sys/devices:

root@vaio:/home/emi# ls -l /sys/devices/platform/sony-laptop/
total 0
-r--r--r-- 1 root root 4096 Jun 17 19:29 battery_care_health
-rw-r--r-- 1 root root 4096 Jun 17 19:29 battery_care_limiter
lrwxrwxrwx 1 root root    0 Jun 17 19:29 driver -> ../../../bus/platform/drivers/sony-laptop
-rw-r--r-- 1 root root 4096 Jun 17 19:29 driver_override
-rw-r--r-- 1 root root 4096 Jun 17 19:29 fan_forced
-r--r--r-- 1 root root 4096 Jun 17 19:29 fanspeed
-rw-r--r-- 1 root root 4096 Jun 17 19:29 kbd_backlight
-rw-r--r-- 1 root root 4096 Jun 17 19:29 lid_resume_S5
-r--r--r-- 1 root root 4096 Jun 17 19:29 modalias
drwxr-xr-x 2 root root    0 Jun 17 19:29 power
lrwxrwxrwx 1 root root    0 Jun 17 19:29 subsystem -> ../../../bus/platform
-rw-r--r-- 1 root root 4096 Jun 17 19:29 touchpad
-rw-r--r-- 1 root root 4096 Jun 17 19:29 uevent
-rw-r--r-- 1 root root 4096 Jun 17 19:29 usb_charge

Se observa que existe un archivo kbd_backlight, el cual corresponde a las luces del teclado. Sin embargo, por defecto la configuración de esta característica se encuentra indefinida:

emi@vaio:~$ cat /sys/devices/platform/sony-laptop/kbd_backlight 
-1

De acuerdo a la información del módulo, esta configuración puede tomar el valor 0 (luces siempre apagadas), 1 (luces con control automático) y 2 (luces siempre encendidas):

root@vaio:/home/emi# modinfo sony-laptop | grep kbd_backlight
parm:           kbd_backlight:set this to 0 to disable keyboard backlight, 1 to enable it with automatic control and 2 to have it always on (default: no change from current value) (int)
parm:           kbd_backlight_timeout:meaningful values vary from 0 to 3 and their meaning depends on the model (default: no change from current value) (int)

Por otro lado, el parámetro kbd_backlight_timeout permite configurar el timeout para el apagado automático. Puede tomar un valor desde 0 a 3, aunque su interpretación depende de cada modelo.

Como se trata de parámetros del módulo del kernel Linux sony-laptop, no es posible cambiarlos en tiempo de ejecución. Si se intenta escribir un nuevo valor en el archivo /sys/module/sony_laptop/parameters/kbd_backlight a través de la interfaz /sys/module, retorna "permiso denegado":

root@vaio:/home/emi# echo 1 > /sys/module/sony_laptop/parameters/kbd_backlight
bash: /sys/module/sony_laptop/parameters/kbd_backlight: Permission denied
root@vaio:/home/emi# cat /sys/module/sony_laptop/parameters/kbd_backlight
-1

Para habilitar las luces del teclado entonces se debe cambiar la configuración para el módulo sony-laptop durante el inicio (boot time). El directorio /etc/modprobe.d/ permite definir configuraciones específicas para módulos del kernel. De esta forma es posible modificar los parámetros con que se cargan los módulos. Primero pasar a superusuario:

$ sudo su

Luego crear el archivo /etc/modprobe.d/sony-laptop.conf con el siguiente contenido:

options sony-laptop kbd_backlight=1

Hacerlo fácilmente de la siguiente forma:

# echo "options sony-laptop kbd_backlight=1" > /etc/modprobe.d/sony-laptop.conf

Luego reiniciar el sistema:

# reboot

Ahora se observa que el parámetro kbd_backlight está seteado en 1:

emi@vaio:~$ cat /sys/devices/platform/sony-laptop/kbd_backlight 
1

En mi notebook Sony Vaio (modelo SVE14125CLB) las luces se apagan automáticamente luego de 15 segundos (el valor del parámetro kbd_backlight_timeout no está definido y es igual a -1). Lógicamente se vuelven a encender al presionar una tecla. Aún no hice pruebas con este parámetro para ver cómo cambia el tiempo de apagado, pero habría que definirlo en el mismo archivo /etc/modprobe.d/sony-laptop.conf con algún valor desde 0 hasta 3.

Referencias

Compartí este artículo