Colocar um módulo na lista negra apenas para versões específicas do kernel?

Colocar um módulo na lista negra apenas para versões específicas do kernel?

Quando inicializo um kernel 4.4.x, quero ter certeza de que o driver de teste com bugs r8723auestá na lista negra, em favor da linha principal muito melhoradartl8xxxu.

No entanto, ao inicializar um kernel 4.2.x mais antigo, ainda precisarei usar o r8723audriver antigo.

Existe alguma maneira de colocar um módulo na lista negraapenaspara uma versão específica do kernel? (ATUALIZAR:Eu quero colocar na lista negra ovelhomódulo, r8723au, donovokernel, para evitar que ele assuma o controle do novo driver.)

Ideias que tive:

  • /etc/modprobe.d/blacklist-r8723au.conf- não é possível especificar a lista negra apenas para uma versão do kernel, até onde eu sei
  • /etc/default/grub-- não há como especificar modprobe.blacklist=r8723aua linha de comando do kernel para algumas versões e não para outras

A solução rápida e suja que tenho é editar manualmente /boot/grub/grub.cfge adicionar o parâmetro de lista negra relevante para versões específicas do kernel… mas é claro que isso será substituído automaticamente na próxima vez que eu executar update-grub(talvez ao instalar um kernel Xenial/16.04 atualizado) .

Responder1

O módulo rtl8xxxu não existe na versão 4.2.0-xx do kernel, até onde eu sei, então inicializar em um kernel 4.2.0-xx deve funcionar bem.

Não estou ciente de que os dois drivers cobrem os mesmos usb.ids, no entanto, você pode evitar que o r8723au carregue no 4.4.0-xx renomeando os módulos. Por exemplo:

sudo mv /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.ko  /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.bak

sudo mv /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.ko  /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.bak

Você precisará repetir o processo quando uma versão atualizada do kernel, talvez -23, for instalada pelo Update Manager.

informação relacionada