O driver desinstalado no Linux Mint ainda carrega quando o USB é conectado

O driver desinstalado no Linux Mint ainda carrega quando o USB é conectado

Instalei um driver DKMS para um dispositivo USB de um PPA. Estou fazendo alterações no código e tentando desinstalar o driver com apt-get --purge remove, mas quando conecto o dispositivo, os módulos do kernel ainda carregam... por que isso aconteceria? Onde eles estão se escondendo?

desde já, obrigado

Responder1

Quando você (ou o DKMS) cria um módulo do kernel e o instala, eles vão para /lib/modules/$(uname -r)/..., então verifique lá. Um exemplo do meu sistema:

/lib/modules/3.2.0-36-generic-pae/updates/dkms/nvidia_current_updates.ko

Responder2

Instalar e usar módulos do kernel instalados usando DKMS envolve várias etapas (principalmente automatizadas):

  1. (no seu caso) Adicione as fontes PPA, atualize a lista de pacotes.
  2. Instale o pacote DKMS com o gerenciador de pacotes ( apt-get) que começa copiando as fontes e as instruções de instalação automática para um diretório padrão ( /usr/src/<module name>-<version>)
  3. DKMS copia o arquivo para seu diretório privado.
  4. DKMS compila o código fonte do módulo do kernel em seu diretório privado.
  5. DKMS copia o arquivo do módulo do kernel compilado para o diretório de módulos (geralmente /lib/modules/<kernel version>/updates)
  6. O DKMS atualiza as dependências do módulo para que você possa usar modprobe <modname>em vez do insmod /lib/modules/<kernel version>/updates/<modname>.ko.
  7. Você carrega o módulo do kernel manualmente ( modprobe <modname>) ou um componente do sistema (udev) faz isso quando você conecta seu dispositivo USB.

As etapas 1 a 6 são desfeitas ao limpar o pacote. A etapa 7 não é desfeita automaticamente. Normalmente, um módulo permanece carregado após ser carregado, a menos que você o remova manualmente com sudo rmmod <modname>. Use lsmodpara descobrir qual nome seu módulo tem, geralmente é o mesmo que <modname>, mas pelo menos para drivers nvidia no Ubuntu, isso é feito de forma diferente (você usaria modprobe nvidia-current, mas usaria rmmod nvidia).

informação relacionada