Listar informações de hardware com o lshw

O lshw é uma pequena ferramenta para fornecer informações detalhadas da configuração de hardware da máquina. Pode relatar a configuração exata de memória, versão de firmware, configuração de placa-mãe, versão e velocidade de CPU, configuração de cache, velocidade de barramento, etc. em sistemas x86 com suporte a DMI, em algumas máquinas PowerPC (sabe-se que funciona com o PowerMac G4) e em máquinas AMD64.

Atualmente ele suporta DMI (x86 e IA-64 apenas), OpenFirmware árvore de dispositivos (PowerPC somente), PCI/AGP, CPUID (x86), IDE/ATA/ATAPI, PCMCIA (somente testado em x86), SCSI e USB.

Bug

  • lshw atualmente não detectar dispositivos Firewire (IEEE1394).
  • Nem todas as arquiteturas suportadas pelo GNU/Linux são totalmente suportados (por exemplo, detecção de CPU).
  • “Virtuais” interfaces SCSI usados para emulação SCSI mais de IDE ainda não são reportados corretamente.

Listar Informações de hardware com o lshw

Nessa dica vamos usar o Debian 9 Stretch mas o lshw pode ser instalado também em inúmeras distribuições como Arch, CentOS, Fedora, Gentoo, Mageia, Manjaro, openSUSE etc.

As dependências necessárias para instalação são: libc6, libgcc1, libgdk-pixbuf2, libglib2, libgtk2 e libstdc++6.

Para ver as dependências dos pacotes execute o comando abaixo:

apt depends lshw
Saída:
lshw
Depende: libc6 (>= 2.14)
Depende: libgcc1 (>= 1:3.0)
Depende: libstdc++6 (>= 5.2)
Recomenda: pciutils
pciutils:i386
Recomenda: usbutils
usbutils:i386
apt depends lshw-gtk
Saída:
lshw-gtk
Depende: libc6 (>= 2.14)
Depende: libgcc1 (>= 1:3.0)
Depende: libgdk-pixbuf2.0-0 (>= 2.22.0)
Depende: libglib2.0-0 (>= 2.12.0)
Depende: libgtk2.0-0 (>= 2.12.0)
Depende: libstdc++6 (>= 5.2)
Recomenda: menu
menu:i386
Recomenda: pciutils
pciutils:i386
Recomenda: usbutils
usbutils:i386

1. Instalar o lshw e lshw-gtk

OBS: Para fazer qualquer mudança no sistema como instalação de pacotes ou algum tipo de configuração, deverá ter privilégio de root.

Para a instalação do lshw e lshw-gtk execute o comando abaixo:

apt install lshw lshw-gtk
Saída:
Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Os NOVOS pacotes a seguir serão instalados:
lshw lshw-gtk
0 pacotes atualizados, 2 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 524 kB de arquivos.
Depois desta operação, 2.229 kB adicionais de espaço em disco serão usados.
Obter:1 http://deb.debian.org/debian stable/main amd64 lshw amd64 02.18-0.1 [224 kB]
Obter:2 http://deb.debian.org/debian stable/main amd64 lshw-gtk amd64 02.18-0.1 [300 kB]
Baixados 524 kB em 1s (461 kB/s)
A seleccionar pacote anteriormente não seleccionado lshw.
(Lendo banco de dados … 226313 ficheiros e directórios actualmente instalados.)
A preparar para desempacotar …/lshw_02.18-0.1_amd64.deb …
A descompactar lshw (02.18-0.1) …
A seleccionar pacote anteriormente não seleccionado lshw-gtk.
A preparar para desempacotar …/lshw-gtk_02.18-0.1_amd64.deb …
A descompactar lshw-gtk (02.18-0.1) …
A processar ‘triggers’ para mime-support (3.60) …
A processar ‘triggers’ para desktop-file-utils (0.23-1) …
A processar ‘triggers’ para menu (2.1.47+b1) …
Configurando lshw (02.18-0.1) …
A processar ‘triggers’ para man-db (2.7.6.1-2) …
Configurando lshw-gtk (02.18-0.1) …
A processar ‘triggers’ para menu (2.1.47+b1) …

Após a instalação você pode abrir um terminal e usar o comando lshw ou ir em Menu > Sistema > Hardware Lister para abrir a interface GTK.

2. Usar o lshw pelo terminal

OBS: lshw deve ser executado como superusuário ou ele só relatará informações parciais.

Para usar o lshw é fácil. Caso use somente o comando puro sem complementos, terá a lista completa de todos os hardwares no próprio terminal. Usando os complementos da lista abaixo você poderá abrir a interface gtk ou filtrar a lista de hardware, gerar relatório etc.

  • Inicia a interface X11 GUI (se disponível o lshw-gtk).
lshw -X
lshw – Janela inicial
  • Gera as saídas da árvore de dispositivos como texto simples, HTML, XML ou JSON.
lshw > relatório_jan2019.txt
lshw -html > relatório_jan2019.html
lshw -xml > relatório_jan2019.xml
lshw – Diretório com os relatórios gerados
  • Produz os caminhos da árvore de dispositivos que mostram os hardwares, muito parecido com a saída do HP-UX de ioscan.
lshw -short
Saída:
H/W path Device Class Description
===================================================
system System Product Name (To Be Filled By O.E.M.)
/0 bus M5A78L-M/USB3
/0/0 memory 64KiB BIOS
/0/4 processor AMD FX(tm)-8350 Eight-Core Processor
/0/4/5 memory 384KiB L1 cache
/0/4/6 memory 8MiB L2 cache
/0/4/7 memory 8MiB L3 cache
/0/32 memory 16GiB System Memory
/0/32/0 memory 8GiB DIMM Synchronous 667 MHz (1,5 ns)
/0/32/1 memory 8GiB DIMM Synchronous 667 MHz (1,5 ns)
/0/32/2 memory DIMM [empty]
/0/32/3 memory DIMM [empty]
/0/100 bridge RS780 Host Bridge
/0/100/2 bridge RS780 PCI to PCI bridge (ext gfx port 0)
/0/100/2/0 display GP107 [GeForce GTX 1050 Ti]
/0/100/2/0.1 multimedia NVIDIA Corporation
/0/100/7 bridge RS780/RS880 PCI to PCI bridge (PCIE port 3)
/0/100/7/0 bus ASM1042A USB 3.0 Host Controller
/0/100/7/0/0 usb2 bus xHCI Host Controller
/0/100/7/0/1 usb5 bus xHCI Host Controller
/0/100/a bridge RS780/RS880 PCI to PCI bridge (PCIE port 5)
/0/100/a/0 enp3s0 network RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
/0/100/11 storage SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
/0/100/12 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
/0/100/12/1 usb4 bus OHCI PCI host controller
/0/100/12.1 bus SB7x0 USB OHCI1 Controller
/0/100/12.1/1 usb6 bus OHCI PCI host controller
/0/100/12.1/1/3 input USB Receiver
/0/100/12.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
/0/100/12.2/1 usb1 bus EHCI Host Controller
/0/100/13 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
/0/100/13/1 usb7 bus OHCI PCI host controller
/0/100/13.1 bus SB7x0 USB OHCI1 Controller
/0/100/13.1/1 usb8 bus OHCI PCI host controller
/0/100/13.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
/0/100/13.2/1 usb3 bus EHCI Host Controller
/0/100/14 bus SBx00 SMBus Controller
/0/100/14.1 storage SB7x0/SB8x0/SB9x0 IDE Controller
/0/100/14.2 multimedia SBx00 Azalia (Intel HDA)
/0/100/14.3 bridge SB7x0/SB8x0/SB9x0 LPC host controller
/0/100/14.4 bridge SBx00 PCI to PCI Bridge
/0/100/14.4/6 wlp4s6 network RT2561/RT61 rev B 802.11g
/0/100/14.5 bus SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
/0/100/14.5/1 usb9 bus OHCI PCI host controller
/0/101 bridge Family 15h Processor Function 0
/0/102 bridge Family 15h Processor Function 1
/0/103 bridge Family 15h Processor Function 2
/0/104 bridge Family 15h Processor Function 3
/0/105 bridge Family 15h Processor Function 4
/0/106 bridge Family 15h Processor Function 5
/0/1 scsi1 storage
/0/1/0.1.0 /dev/sda disk 160GB WDC WD1600BEVT-2
/0/1/0.1.0/1 /dev/sda1 volume 500MiB Windows NTFS volume
/0/1/0.1.0/2 /dev/sda2 volume 148GiB Windows NTFS volume
/0/1/0.1.0/3 /dev/sda3 volume 472MiB Windows NTFS volume
/0/2 scsi2 storage
/0/2/0.0.0 /dev/sdb disk 500GB SAMSUNG HD502HI
/0/2/0.0.0/1 /dev/sdb1 volume 200GiB EXT4 volume
/0/2/0.0.0/2 /dev/sdb2 volume 100GiB EXT4 volume
/0/2/0.0.0/3 /dev/sdb3 volume 165GiB EXT4 volume
/0/3 scsi3 storage
/0/3/0.0.0 /dev/sdc disk 160GB SAMSUNG HD161GJ
/0/3/0.0.0/1 /dev/sdc1 volume 149GiB FreeBSD partition
/0/5 scsi4 storage
/0/5/0.0.0 /dev/sdd disk 1TB ST1000VM002-1ET1
/0/5/0.0.0/1 /dev/sdd1 volume 931GiB Windows NTFS volume
  • Lista as saídas de dispositivos mostrando informações, detalhando os endereços SCSI, USB, PCI e IDE.
lshw -businfo
Saída:
Bus info Device Class Description
====================================================
system System Product Name (To Be Filled By O.E.M.)
bus M5A78L-M/USB3
memory 64KiB BIOS
cpu@0 processor AMD FX(tm)-8350 Eight-Core Processor
memory 384KiB L1 cache
memory 8MiB L2 cache
memory 8MiB L3 cache
memory 16GiB System Memory
memory 8GiB DIMM Synchronous 667 MHz (1,5 ns)
memory 8GiB DIMM Synchronous 667 MHz (1,5 ns)
memory DIMM [empty]
memory DIMM [empty]
pci@0000:00:00.0 bridge RS780 Host Bridge
pci@0000:00:02.0 bridge RS780 PCI to PCI bridge (ext gfx port 0)
pci@0000:01:00.0 display GP107 [GeForce GTX 1050 Ti]
pci@0000:01:00.1 multimedia NVIDIA Corporation
pci@0000:00:07.0 bridge RS780/RS880 PCI to PCI bridge (PCIE port 3)
pci@0000:02:00.0 bus ASM1042A USB 3.0 Host Controller
usb@2 usb2 bus xHCI Host Controller
usb@5 usb5 bus xHCI Host Controller
pci@0000:00:0a.0 bridge RS780/RS880 PCI to PCI bridge (PCIE port 5)
pci@0000:03:00.0 enp3s0 network RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
pci@0000:00:11.0 storage SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
pci@0000:00:12.0 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
usb@4 usb4 bus OHCI PCI host controller
pci@0000:00:12.1 bus SB7x0 USB OHCI1 Controller
usb@6 usb6 bus OHCI PCI host controller
usb@6:3 input USB Receiver
pci@0000:00:12.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
usb@1 usb1 bus EHCI Host Controller
pci@0000:00:13.0 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
usb@7 usb7 bus OHCI PCI host controller
pci@0000:00:13.1 bus SB7x0 USB OHCI1 Controller
usb@8 usb8 bus OHCI PCI host controller
pci@0000:00:13.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
usb@3 usb3 bus EHCI Host Controller
pci@0000:00:14.0 bus SBx00 SMBus Controller
pci@0000:00:14.1 storage SB7x0/SB8x0/SB9x0 IDE Controller
pci@0000:00:14.2 multimedia SBx00 Azalia (Intel HDA)
pci@0000:00:14.3 bridge SB7x0/SB8x0/SB9x0 LPC host controller
pci@0000:00:14.4 bridge SBx00 PCI to PCI Bridge
pci@0000:04:06.0 wlp4s6 network RT2561/RT61 rev B 802.11g
pci@0000:00:14.5 bus SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
usb@9 usb9 bus OHCI PCI host controller
pci@0000:00:18.0 bridge Family 15h Processor Function 0
pci@0000:00:18.1 bridge Family 15h Processor Function 1
pci@0000:00:18.2 bridge Family 15h Processor Function 2
pci@0000:00:18.3 bridge Family 15h Processor Function 3
pci@0000:00:18.4 bridge Family 15h Processor Function 4
pci@0000:00:18.5 bridge Family 15h Processor Function 5
scsi1 storage
scsi@1:0.1.0 /dev/sda disk 160GB WDC WD1600BEVT-2
scsi@1:0.1.0,1 /dev/sda1 volume 500MiB Windows NTFS volume
scsi@1:0.1.0,2 /dev/sda2 volume 148GiB Windows NTFS volume
scsi@1:0.1.0,3 /dev/sda3 volume 472MiB Windows NTFS volume
scsi2 storage
scsi@2:0.0.0 /dev/sdb disk 500GB SAMSUNG HD502HI
scsi@2:0.0.0,1 /dev/sdb1 volume 200GiB EXT4 volume
scsi@2:0.0.0,2 /dev/sdb2 volume 100GiB EXT4 volume
scsi@2:0.0.0,3 /dev/sdb3 volume 165GiB EXT4 volume
scsi3 storage
scsi@3:0.0.0 /dev/sdc disk 160GB SAMSUNG HD161GJ
scsi@3:0.0.0,1 /dev/sdc1 volume 149GiB FreeBSD partition
scsi4 storage
scsi@4:0.0.0 /dev/sdd disk 1TB ST1000VM002-1ET1
scsi@4:0.0.0,1 /dev/sdd1 volume 931GiB Windows NTFS volume
  • Mostra apenas uma dada classe de hardware. Classe pode ser encontrado usando lshw -short ou lshw -businfo. No comando abaixo vamos, por exemplo, usar a classe network.
lshw -class network
Saída:
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 09
serial: 38:d5:47:7d:7e:cd
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full ip=192.168.0.101 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:27 ioport:e800(size=256) memory:fbfff000-fbffffff memory:fbff8000-fbffbfff
*-network
description: Wireless interface
product: RT2561/RT61 rev B 802.11g
vendor: Ralink corp.
physical id: 6
bus info: pci@0000:04:06.0
logical name: wlp4s6
version: 00
serial: 00:1c:f0:13:d4:e3
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=rt61pci driverversion=4.9.0-8-amd64 firmware=0.8 ip=192.168.0.102 latency=64 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:21 memory:febf8000-febfffff
  • Alias para classe. No comando abaixo vamos, por exemplo, usar a classe display.
lshw -C display
Saída:
*-display
description: VGA compatible controller
product: GP107 [GeForce GTX 1050 Ti]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:36 memory:fd000000-fdffffff memory:d0000000-dfffffff memory:ce000000-cfffffff ioport:dc00(size=128) memory:c0000-dffff
  • Ativa ou desativa um teste. Teste pode ser dmi (para DMI/SMBIOS extensões), device-tree (para OpenFirmware dispositivo de árvore), spd (para a memória Serial Presence Detect), memory (para adivinhar memória de tamanho heurística), cpuinfo (para detecção CPU relatar-kernel), cpuid (para detecção da CPU), pci (por PCI/AGP access), isapnp (por extensões ISA PNP), pcmcia (para PCMCIA/PCCARD), ide (por IDE/ATAPI), usb (para dispositivos USB), scsi (para SCSI) ou network (para detecção de interfaces de rede).
lshw -enable test
lshw -disable test
  • Não exibir status.
lshw -quiet
  • Remover informações potencialmente sensível de saída (endereços IP, números de série, etc.). No comando abaixo vamos, por exemplo, usar a classe system que será gerado sem o número serial e sem o uuid.
lshw -C system -sanitize
Saída:
computer
description: Desktop Computer
product: System Product Name (To Be Filled By O.E.M.)
vendor: System manufacturer
version: System Version
serial: [REMOVED]
width: 64 bits
capabilities: smbios-2.5 dmi-2.5 smp vsyscall32
configuration: boot=normal chassis=desktop family=To Be Filled By O.E.M. sku=To Be Filled By O.E.M. uuid=[REMOVED]
  • Exibir também IDs numéricos (para dispositivos PCI e USB). No comando abaixo vamos, por exemplo, usar a classe storage.
lshw -C storage -numeric
Saída:
*-storage
description: SATA controller
product: SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] [1002:4391]
vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
physical id: 11
bus info: pci@0000:00:11.0
version: 00
width: 32 bits
clock: 66MHz
capabilities: storage pm ahci_1.0 bus_master cap_list
configuration: driver=ahci latency=64
resources: irq:22 ioport:c000(size=8) ioport:b000(size=4) ioport:a000(size=8) ioport:9000(size=4) ioport:8000(size=16) memory:fcfffc00-fcffffff
*-ide
description: IDE interface
product: SB7x0/SB8x0/SB9x0 IDE Controller [1002:439C]
vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
physical id: 14.1
bus info: pci@0000:00:14.1
version: 00
width: 32 bits
clock: 66MHz
capabilities: ide msi bus_master cap_list
configuration: driver=pata_atiixp latency=64
resources: irq:16 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:ff00(size=16)
*-scsi:0
physical id: 1
logical name: scsi1
capabilities: emulated
*-scsi:1
physical id: 2
logical name: scsi2
capabilities: emulated
*-scsi:2
physical id: 3
logical name: scsi3
capabilities: emulated
*-scsi:3
physical id: 5
logical name: scsi4
capabilities: emulated

3. Usar o lshw por interface GTK

Para usar o lshw por interface gráfica, basta executar o comando lshw -X ou ir em Menu > Sistema > Hardware Lister, assim abrir a janela GTK.

Após a janela inicial se abrir, basta clicar no botão Refresh para ser gerado a lista de hardware.

lshw – Relatório gerado ao clicar em Refresh

Assim, já gerado a lista, basta clicar duas vezes no item da primeira coluna para navegar, assim na coluna seguinte abrir outro item ou informação pertinente ao hardware.

lshw – Coluna com a informação da VGA

A interface lshw-gtk é bem intuitiva e dispensa mais explicações.

Caso queira salvar a lista, basta ir no botão Save, escolher o diretório e na parte inferior escolher a extensão desejada.

lshw – Salvar relatório gerado.

Pronto! Lista de hardware gerado com o lshw ou lshw-gtk para ser analisado as informações de cada hardware do seu computador.

Se gostou do tutorial, compartilhe.

Para receber atualizações de nosso blog, siga-nos no Twitter.

Caso queira comentar, tem alguma dúvida ou algum tipo de problema, faça parte do nosso grupo no Telegram, lá temos todos os tipos de usuário.

Até a próxima.

Share This Article
Usuário do GNU/Linux desde 2004, graduado em Sistemas de Informação, entusiasta na cultura DevOps.
Sair da versão mobile