Mateus Müller

O carinha do Linux

23 jan. 2019

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

Em complementação ao nosso artigo sobre o comando lspci, hoje, vamos explorar um pouco mais sobre os comandos lsusb e lsmod. Este conteúdo é extremamente importante para as provas de certificação Linux, bem como para o gerenciamento do Linux no dia a dia.

O que é lsmod e lsusb?

lsmod: Este comando é utilizando para listar os módulos (também conhecido por drivers) que estão na memória no momento. Seria a mesma coisa que entrar no Gerenciador de Dispositivos do Windows pela linha de comando, podemos ver quais estão sendo utilizados. Isso é bastante útil para ver se o sua placa de vídeo está utilizando o driver open-source ou está utilizando o driver que a própria empresa desenvolveu.

lsusb: Este comando é utilizando para analisar o barramento USB do equipamento e quais dispositivos estão enviando dados por ali. Isso é bastante útil para identificar se um dispositivo USB está sendo reconhecido ou não pelo nosso sistema, caracterizando um problema de hardware e não de módulos.

lsusb: Listando dispositivos USB

Vamos explorar um pouco mais afundo sobre o comando lsusb.

$ lsusb

lsusb: Listando dispositivos USB

lsusb: Listando dispositivos USB

Veja que são mostrados no primeiro campo as informações do bus e o número do device, assim como são mostrados no lspci. Lembre-se que o bus é onde as informações trafegam para serem entregues a outro componente interno de hardware.

Na segunda parte temos o ID do vendor e ao lado o número do device. O vendor seria uma outra palavra para “fabricante”.

Na terceira coluna temos a descrição do dispositivo.

Assim como o lspci, podemos utilizar as opções -s e -d para filtrar determinados dispositivos.

$ lsusb -s 003:003

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

Executamos uma listagem USB no bus 003 no device 003.

Também, poderíamos executar pegando todos os dispositivos de somente um _bus.

$ lsusb -s 003:

A outra forma de filtro seria utilizar o identificador do vendor junto com o id do dispositivo.

$ lsusb -d 058f:6387

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

Neste caso utilizamos o vendor 058f e o device 6387.

Se quisermos informações extremamente detalhadas sobre um determinado dispositivo, usamos a opção -v.

Veja no exemplo abaixo que é possível usar dois parâmetros em um só, combinando os mesmos.

$ lsusb -vs 003:002
lsusb & lsmod: Listando MÓDULOS e dispositivos USB
lsusb & lsmod: Listando MÓDULOS e dispositivos USB

Desta forma, consigo listar diversas informações sobre um dispositivo apenas, e não ter um acúmulo de informações indesejadas.

OBS: Essas informações do parâmetro -v não são tão úteis a nível de usuário, mas se você pensar como um desenvolvedor, pode auxiliar bastante.

A última opção que eu gostaria de mostrar é a -t utilizada para mostrar em forma de árvore, bem como o pstree.

$ lsusb -t

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

lsusb & lsmod: Listando MÓDULOS e dispositivos USB

lsmod: Listando MÓDULOS do sistema

Vamos explorar um pouco mais afundo sobre o comando lsmod.

$ lsmod

Você pode notar que este comando também é separado em colunas. Todos estes dados são extraídos do diretório /proc/modules. Se você não conhece o diretório /proc, sugiro que leita este artigo:

Na foto acima, podemos ver na coluna da esquerda o nome do módulo que está sendo utilizado no momento. Como falei lá no começo, no caso da NVIDIA, é interessante para saber se estás utilizando o módulo de código fechado ou open-source.

Na coluna do meio, temos o tamanho de cada módulo.

Na última coluna, temos os módulos que dependem do módulo da coluna da esquerda, ou seja, ela é uma dependência.

Um exemplo prático seria esse:

ath10k_core 360448 1 ath10k_pci

O módulo ath10k_pci só vai funcionar e estar apto a executar as suas funções se o módulo ath10k_core já estiver carregado na memória. É uma dependência.

Bom pessoal, este foi o artigo de hoje, até a próxima!

Espero que tenham gostado desta dica!

Não esqueça de nos seguir noInstagrampara receber os últimos conteúdos!

Participe dos nossos grupos no Telegram e Facebook! 🙂

Veja também:

Comentários Disqus