Retomando el tema de los drivers Wi-Fi. Compilaste el driver wifi para el kernel, OK. Funciona, OK. Te has preguntado que pasaría si actualizas el kernel???
Actualizando el kernel, deja de funcionar el driver o los drivers que hayas compilado, pero… Y si quisiera instalar el driver de alguna manera que, aún actualizando, se mantenga activo y funcionando.
Ahí es donde entra DKMS
Investigando un poco, casi todos los drivers actuales, vienen con DKMS, sólo hay que leerse las instrucciones y seguirlas al pie de la letra, para que todo funcione como se espera.
Antes de proseguir debemos instalar dkms:
apt install dkms
Tomando como ejemplo el post anterior seguimos adelante. Descargándonos el código fuente del controlador RTL8812AU:
# cd /home/koratsuki/Downloads/ # git clone https://github.com/gordboy/rtl8812au.git # mv rtl8812au-master /home/koratsuki/Temp/compile # cd /home/koratsuki/Temp/compile/rtl8812au-master # cat README.md
Debemos leer las instrucciones que hay en el archivo README.md. Y siguiendo esas líneas:
root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# mkdir -p /usr/src/rtl8812au-5.2.20 root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# cp * /usr/src/rtl8812au-5.2.20 root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# dkms add -m rtl8812au -v 5.2.20 Creating symlink /var/lib/dkms/rtl8812au/5.2.20/source -> /usr/src/rtl8812au-5.2.20 DKMS: add completed. root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# dkms build -m rtl8812au -v 5.2.20 Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... 'make' -j4 KVER=4.15.0-29deepin-generic KSRC=/lib/modules/4.15.0-29deepin-generic/build.................. cleaning build area... DKMS: build completed. root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# dkms install -m rtl8812au -v 5.2.20 8812au: Running module version sanity check. Good news! Module version v5.2.20.2_28373.20180619 for 8812au.ko exactly matches what is already found in kernel 4.15.0-29deepin-generic. DKMS will not replace this module. You may override by specifying --force. depmod..... DKMS: install completed.
Como podemos ver, DKMS crea una estructura con la cual, guardando el driver en /usr/src, compila el driver y prepara el sistema para que ante actualizaciones, sólo compile automaticamente el driver sin necesidad de intervencion por parte del usuario.
Nada difícil, como podemos ver… Y buscando en /lib/modules/4.15.0-29deepin-generic/kernel/drivers/net/wireless, vemos nuestro driver recién compilado.
Ahora con:
# modinfo 8812au
Podemos ver todas las propiedades del driver.
Hasta aquí el post. Espero les haya sido de ayuda.
Dejar una contestacion