¿Problemas con el hardware tras la última actualización del kernel?

Tux Linux con brillo

A veces, cuando se instalan nuevos kernels en nuestro equipo con las respectivas actualizaciones de nuestra distribución algún dispositivo de hardware puede dejar de funcionar o funcionar de forma inadecuada. ¿Por qué ocurre? Pues es simple, porque los controladores de hardware se han alterado con la actualización del núcleo. Los kernels genéricos que suelen instalar las distribuciones están configurados para funcionar con la mayoría de equipos, pero no están optimizados.

A veces, si dispones de un controlador específico para algún dispositivo, éste puede cambiar con la nueva versión del kernel y puede que veas como tu webcam, tu tarjeta de red, tu tarjeta de sonido o cualquier otro dispositivo ha dejado de funcionar de repente cuando antes funcionaba adecuadamente, pues bien, lo más seguro es que se haya desechado el módulo correspondiente al controlador de ese dispositivo porque se consideraba obsoleto o por cualquier otro motivo, tal vez simplemente sea un dispositivo raro y no se haya configurado el kernel genérico para cargarlo.

No te preocupes, si con la versión anterior del kernel funcionaba tu dispositivo, tiene fácil arreglo. Por ejemplo, imagina que tu tarjeta de red, tu tarjeta de sonido, webcam o cualquier otro dispositivo ha dejado de funcionar de repente y antes funcionaba. Si esto sucedió tras una actualización del kernel, quizás te encuentres con que el módulo ya no está presente en la nueva versión. Puedes comprobarlo con (por ejemplo, suponiendo que lo que no funciona es la tarjeta de red cuyo controlador es ath5k):


sudo modprobe ath5k && dmseg | grep ath

Si nos aparece que no existe el módulo, querrá decir que no está presente en nuestro kernel. Luego comprueba que el kernel detecta tu dispositivo, porque tal vez no funcione y esa sea la causa. Por ejemplo:


lsmod

Y busca en la lista el dispositivo concreto que buscas, por ejemplo si es la tarjeta de red busca algo como Ethernet, WiFi, Wireless o en nuestro caso Atheros… Si se lista ha sido detectada, por tanto haremos lo siguiente, que es borrar o eliminar la última versión del kernel y sus cabeceras.


dpkg --get-selections | grep linux-image

Con eso se listan los kernels que tenemos instalados. Vamos a imaginar que nuestra versión problemática es la 4.10.0-28 que aparece en esa lista, pero que con la anterior versión 4.10.0-2-generic funcionaba adecuadamente el controlador, pues vamos a eliminarlo:


sudo apt-get remove --purge linux-image-4.10.0-28-generic linux-image-extra-4.10.0-28-generic

Luego hacemos lo mismo para las cabeceras del kernel, buscamos y de la lista eliminamos las correspondientes al kernel molesto, para eso:


dpkg --get-selections | grep linux-headers

sudo apt-get remove --purge linux-headers-4.10.0-28 linux-headers-4.10.0-28-generic

sudo update-grub2

Finalmente indícale a GRUB que inicie el sistema usando la versión previa del kernel que no te daba problemas:


sudo nano /etc/default/grup

Dentro de ese fichero cambia la línea GRUB_DEFAULT=0 por GRUB_DEFAULT=saved. Después ve al final del fichero y agrega otra nueva línea que contenga GRUB_SAVEDEFAULT=true. Guarda los cambios y sal. Ahora volvemos a actualizar para que surtan efecto los cambios:


sudo update-grub2

Reinicia y listo… Ahora debería funcionar todo. Evidentemente esto solo es válido para las distros que tengan varios kernels disponibles, si solo tienes uno no puedes hacer esto, es lógico… Por eso es siempre bueno no desechar los antiguos kernels tras las actualizaciones, pueden servirte de respaldo en un momento dado.

Eso te evitará descargar, configurar y compilar un nuevo kernel a mano para instalarlo en tu distro. No olvides dejar tus comentarios con dudas o casos concretos en los que hayas tenido problemas tras actualizar a un nuevo kernel…


3 comentarios

  1.   Mikel dijo

    Buen artículo y muy oportuno para mí, ya que me ha pasado y justo con el driver de una wifi con Atheros 5k… Suponía que mi problema se daba por la razón que apuntas en el post, ya que, no ha sido la primera vez que me ocurre este contratiempo. Al final, debido a que quería probar la última versión de Ubuntu, he decidido hacer una nueva instalación despues de casi 3 años con la lts que tenía puesta.

  2.   mlpbcn dijo

    Ya estamos con lo mismo de siempre, lo explicas en el articulo solo sirve para debian, ubuntu y derivadas, pero no para demás distros, como si solo existieran esas distros y luego nos vanagloriamos de que en GNU/Linux hay mucha variedad, pero solo hablamos de unas cuantas distros, yo uso Manjaro y va de maravilla y segun Distrowatch es la tercera mas descargada, por encima de Ubuntu y entre otras vondades, detecta el hardware he instala los drivers sin tener que hacer nada y que decir del kernel, se instala en modo grafio, te sale una lista y con un solo click escojes el que quieras y listo, pero es que si lo haces desde el terminal es solo una linea supercorta y no tres o cuatro como Ubuntu. Lo unico que pido es que si solo se va a hablar de una distro en concreto se especifique en el titulo.

  3.   Guillermo dijo

    Me pasó con mi único rígido sata, o sea me quedé sin boot en KDE Neon, aunque no estoy seguro de a quien culpar porque me parece que no lo reconocía el bios.
    Lo conecté a otro puerto del mather y arrancó

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *