0 positivos 0 negativos
1 visita
por Principiante (230 puntos) en Instalación

Me ocurrió antes en un HP y ahora en un Lenovo. Cuando se actualiza el kernel se elimina el controlador de wifi. Descargué un paquete, rtw89 que lo repara con make. Quisiera saber como ponerlo automático en el repositorio, para que se actualice solo.

2 Respuestas

1 positivo 0 negativos
por Magis magister (3.7K puntos)
seleccionada por
 
Mejor respuesta

Una búsqueda rápida en internet, encuentra un post de un foro de Linux Mint en el que se recomienda actualizar a la última versión del kernel. La respuesta no es demasiado antigua agosto 2024 por lo que podría ser la que buscas.

Básicamente es hacer:

sudo apt install -t bookworm-backports linux-image-amd64 

pero para que la solución sea optima, sería necesario conocer qué versión de kernel usas.

¡Saludos!.

1 positivo 0 negativos
por Magis magister (3.7K puntos)

El problema que describes ocurre porque el controlador rtw89 (común para tarjetas WiFi como las de Realtek) no está incluido oficialmente en el kernel de Linux o porque el módulo no se reconstruye correctamente después de una actualización del kernel. Aquí te explico cómo automatizar la reinstalación del controlador después de cada actualización del kernel.


Solución 1: Usar DKMS (Dynamic Kernel Module Support)

DKMS permite recompilar automáticamente módulos del kernel cuando este se actualiza. Si el controlador rtw89 no está incluido en el repositorio de tu distribución, puedes configurarlo manualmente con DKMS.

Pasos para configurar DKMS:

  1. Instala DKMS (si no lo tienes):

    sudo apt update
    sudo apt install dkms
  2. Descarga el código fuente del controlador rtw89:

    • Si ya lo descargaste antes, ubica la carpeta donde está el código (normalmente incluye un archivo Makefile y dkms.conf).
    • Si no, descárgalo desde el repositorio oficial (ejemplo para Realtek rtw89):
      git clone https://github.com/lwfinger/rtw89.git
      cd rtw89
  3. Crea un archivo dkms.conf (si no existe):

    • Si el repositorio no incluye dkms.conf, créalo manualmente dentro de la carpeta del controlador:
      PACKAGE_NAME="rtw89"
      PACKAGE_VERSION="1.0.0"
      BUILT_MODULE_NAME[0]="rtw89core"
      BUILT_MODULE_NAME[1]="rtw89pci"
      DEST_MODULE_LOCATION[0]="/updates/dkms"
      DEST_MODULE_LOCATION[1]="/updates/dkms"
      AUTOINSTALL="YES"
  4. Registra el módulo en DKMS:

    sudo dkms add .
    sudo dkms install rtw89/1.0.0  # Ajusta la versión según dkms.conf
  5. Verifica que esté correctamente instalado:

    sudo dkms status

    Deberías ver algo como:

    rtw89, 1.0.0, <kernel-version>, <arch>: installed
  6. Actualiza el initramfs (por si acaso):

    sudo update-initramfs -u

Ahora, cada vez que se actualice el kernel, DKMS recompilará automáticamente el controlador.


Solución 2: Crear un script en /etc/kernel/postinst.d/

Si DKMS no funciona o prefieres una solución más manual, puedes crear un script que se ejecute después de cada actualización del kernel.

  1. Crea un script en /etc/kernel/postinst.d/:

    sudo nano /etc/kernel/postinst.d/rtw89-setup

    Contenido del script:

    #!/bin/bash
    cd /ruta/a/rtw89  # Cambia esto a la ruta donde está el código del controlador
    make clean
    make
    sudo make install
    sudo modprobe rtw89pci
  2. Hazlo ejecutable:

    sudo chmod +x /etc/kernel/postinst.d/rtw89-setup

Solución 3: Usar un paquete .deb personalizado

Si el controlador está disponible como .deb (por ejemplo, desde un PPA o un repositorio externo), puedes instalarlo y configurar apt para que lo mantenga actualizado:

sudo apt install ./rtw89.deb  # Reemplaza con el nombre del paquete
sudo apt-mark hold rtw89      # Opcional: evita que se actualice sin tu consentimiento

Notas importantes:

  • Verifica si el controlador ya está incluido en el kernel más reciente (ejecuta modinfo rtw89pci para ver si el módulo existe).
  • Si usas Ubuntu o Debian, busca si hay un paquete oficial o un PPA con soporte para rtw89:
    sudo add-apt-repository ppa:nombre/repositorio
    sudo apt update
    sudo apt install rtw89-dkms

Con DKMS deberías resolver el problema de forma permanente. Si necesitas ayuda adicional, dime tu distribución y versión del kernel (uname -a) para ajustar mejor la solución.

Bienvenido a Q&A Soporte GNU/Linux Vuela, donde puedes hacer preguntas y recibir respuestas de otros miembros de la comunidad.
...