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

0

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

Obrigado antecipadamente

    
por Josif 24.01.2013 / 08:42

2 respostas

0

Quando você (ou DKMS) constrói 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
    
por 24.01.2013 / 10:37
0

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

  1. (no seu caso) Adicione as fontes do PPA, atualize a lista de pacotes.
  2. Instale o pacote DKMS com o gerenciador de pacotes ( apt-get ), que começa copiando as origens e as instruções de instalação automática em um diretório padrão ( /usr/src/<module name>-<version> )
  3. O DKMS copia o arquivo para seu diretório privado.
  4. O DKMS compila o código-fonte do módulo do kernel em seu diretório privado.
  5. O DKMS copia o arquivo do módulo do kernel compilado para o diretório modules (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 de 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-6 são desfeitas quando a embalagem é purgada. O passo 7 não é desfeito automaticamente. Normalmente, um módulo permanece carregado após o carregamento, a menos que você o remova manualmente com sudo rmmod <modname> . Use lsmod para descobrir o nome do seu módulo, 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 ) .

    
por 24.01.2013 / 10:50