Problemas de i2c en OpenSuSE Tumbleweed

Una distro peligrosa

Oscar M. Seoane

1/14/20253 min read

El subtítulo de esta entrada del blog puede resultar algo llamativo, ya que la palabra "peligrosa" así lo sugiere. Esto es debido a que la versión Tumbleweed de OpenSuSE ya me ha dado problemas con anterioridad, sobre todo en una ocasión en la que, tras un simple update que, en apariencia, debería de transcurrir de forma limpia, provocó un kernel panic que impidió iniciar el sistema y del cual no quiero ni acordarme. Pero bueno, eso es otra historia.

Como todo el mundo sabe, Tumbleweed es una rolling release y, además, ofrece las versiones más recientes del software que está disponible para linux. La ventaja es que deberíamos de poder actualizarnos sin problemas y, además, podemos disfrutar de las últimas funcionalidades de los diferentes programas. Desgraciadamente, esto solamente sirve en la teoría, ya que en la práctica no es así. En cualquier caso, creo que Tumbleweed es interesante para aprender a resolver problemas. En mi caso, decidí instalarlo en una laptop china sobre la que escribí hace unas semanas, a la que tuve que cambiarle la batería y a la que le añadí un disco duro adicional. Al final, en uno de los discos implementé el boot, swap y raíz y en el otro le asigné todo el espacio al /home de usuario. Windows ha desaparecido de mi vida. Para el trabajo, utilizo MacOS y para mis experimentos y alguna que otra diversión técnica, este recién llegado OpenSuSE Tumbleweed.

Una de estas cuestiones "divertidas" corresponde a un error durante el inicio del sistema (en el proceso de arranque), el cual marcaba lo siguiente en la pantalla:

[1.692242][T425] i2c_hid_acpi i2c-PNP0C50:07: i2c_hid_get_input: imcomplete report (27/261)

[1.693199][T425] i2c_hid_acpi i2c-PNP0C50:07: i2c_hid_get_input: imcomplete report (27/380)

[1.694146][T425] i2c_hid_acpi i2c-PNP0C50:07: i2c_hid_get_input: imcomplete report (27/1157)

[1.696051][T425] i2c_hid_acpi i2c-PNP0C50:07: i2c_hid_get_input: imcomplete report (27/4052)

Los mensajes anteriores indican problemas con dispositivos conectados a través del bus i2c, como un touchpad o pantalla táctil. Estos mensajes generalmente no afectan el funcionamiento del sistema, pero pueden ser molestos. Mi laptop no tiene pantalla táctil, así que, le voy más al tema relacionado con el touchpad. La solución fue editar grub y modificar la línea...

GRUB_CMDLINE_LINUX_DEFAULT="splash=silent resume=/dev/disk/by-uuid/6acba19d-d5a1-488d-a9f3-36bb19a46f90 mitigations=auto quiet security=apparmor"

por ...

GRUB_CMDLINE_LINUX_DEFAULT="splash=silent resume=/dev/disk/by-uuid/6acba19d-d5a1-488d-a9f3-36bb19a46f90 mitigations=auto quiet loglevel=3 security=apparmor".

Es decir, le añadí "loglevel=3". Con esto simplemente omito los mensajes durante el boot, los cuáles son molestos y además, no afectan el funcionamiento, ni siquiera en el touchpad. Realizado lo anterior, simplemente actualicé el GRUB:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Al hilo de lo anterior y, por si alguien está leyendo este post y se encuentra bajo la misma circunstancia, existe un Plan B en caso de que lo anterior no funcione. La documentación indica que algunos problemas con dispositivos i2c están relacionados con la compatibilidad del firmware del sistema. Recomiendan verificar si hay actualizaciones disponibles para la BIOS/UEFI del equipo e instalarlas. No es mi caso, como ya indiqué, además de que, tratándose de un equipo chino, los asuntos relacionados con la actualización del firmware de la BIOS suponen un milagro. No obstante, considérese lo siguiente:

Revisar configuraciones ACPI en BIOS/UEFI:

En algunos casos, deshabilitar configuraciones como "Fast Boot" o ajustar las opciones relacionadas con ACPI en la BIOS puede ayudar a resolver el problema.

Cargar manualmente el módulo correcto:

Si necesitas que el dispositivo funcione, intenta recargar manualmente el módulo después del arranque:

sudo modprobe i2c-hid-acpi

Si esto soluciona el problema, hacerlo permanente añadiendo el módulo a /etc/modules-load.d/modules.conf.

Si bien ocultar los mensajes, como en mi caso, puede mejorar la experiencia visual durante el arranque, lo recomendable es intentar resolver el problema subyacente si afecta al hardware (como un touchpad). Si ninguna de las soluciones funciona, lo mejor es considerar buscar soporte adicional en foros de openSUSE o reportar un bug si crees que se trata de un problema del kernel o firmware.