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
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
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
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
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
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! 🙂