dmidecode, Exibindo Informações de Hadware no Linux

O que é dmidecode?

 

  • dmidecode: é uma ferramenta para exibe informações sobre a tabela de conteúdo  DMI de uma forma  que fique fácil o entendimento e leitura do usuário
  • DMI: Significa Desktop Management Interface ou Interface de Gerenciamento de Desktop. Desenvolvido pela DMTF(Força tarefa  de Gerenciamento de Desktop)
  • SMBIOS: Significa Sistema de Gerenciamento da bios. Também desenvolvido pela DMTF(Força tarefa  de Gerenciamento de Desktop)

 

Instalando dmidecode

Geralmente a ferramenta dmidecode já vem instalada por padrão. Se não estiver, basta

executar no CentOS

sudo yum install dmidecode - y

No Ubuntu

sudo apt install dmidecode -y

Como Funciona a Ferramenta dmidecode?

Ao executar dmidecode irá exibir na tela não somente as descrições do hardware do seu computador mas também o que o hardware suportaria, por exemplo, se computador possui 4GB de memória ram a dmidecode poderá informar que você poderá expandir para até  8GB.

dmidecode ao ser executado irá tentar localizar a tabela DMI, se encontrado dmidecode irá então exibir o conteúdo dessa tabela mais ou menos com a seguinte estrutura:

Handle 0x0002, DMI type 2, 8 bytes. Base Board Information
Manufacturer: Intel
Product Name: C440GX+
Version: 727281-001
Serial Number: INCY92700942

 

Opções da Ferramenta dmidecode

 

  • -q ou –quiet = Faz com que dmidecode seja mais silencioso, não exibindo algumas informações na tela que são específicas ao hardware(OEM), inativas ou ainda informações desconhecidas.
  • -s ou –string digiteTextoAqui = digiteTextoAqui é um dos seguintes valores:
    bios-vendor, bios-version, bios-release-date, sys-
    tem-manufacturer, system-product-name, system-version, system-serial-number, system-
    uuid, baseboard-manufacturer, baseboard-product-name, baseboard-version, baseboard-
    serial-number, baseboard-asset-tag, chassis-manufacturer, chassis-type, chassis-ver-
    sion, chassis-serial-number, chassis-asset-tag, processor-family, processor-manufac-
    turer, processor-version, processor-frequencydmidecode só irá retornar informações referente à uma dessas opções que dermos
  • -t ou –type digiteTipoAqui = digiteTipoAqui é um valor passado por nós ao comando. Pode ser um dos seguintes valores:bios,system, baseboard, chassis, processor, memory, cache, connector, slot.Na verdade, o valor para –type(-t) pode ser tanto os acima quanto um número dmi.
  • -u ou –dump = as  informações irão aparecer na tela em formato hexadecimal. É importante mais para debug. Além de -dump, temos –dump-bin arquivo_bin.txt   onde gera um  arquivo com o nome arquivo_bin.txt  e contendo valores em binário. Também temos –from-dump arquivo_bin.txt onde exibirá na tela o conteúdo de arquivo_bin.txt
  • Quase sempre, talvez por ser algo lógico e comum a todos os comandos, não mostro as opções -h ou -v  para termos, respectivamente, ajuda e a versão da ferramenta dmidecode.

 

Todos os Tipos e Números para dmidecode -type

 

Abaixo temos todos os números que podemos usar juntamente com dmidecode –type 

Tipos DMI

Tipo Informação
——————————————–
0 BIOS
1 System
2 Baseboard
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Devices Extended Information
42 Management Controller Host Interface

Ao invés dos números, conforme falado acima, podemos usar as palavras-chaves abaixo.

Obs.: palavras-chaves podem ser digitadas tanto minúsculas quanto maiúsculas. a ferramente dmidecode não diferencia.

 

Palavra-chave  Tipos
——————————
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10, 41
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9

Por exemplo, dmidecode –type bios exibiria na tela informações referente à bios e é seria a mesma coisa que dmidecode –type 0 13  ou seja, o tipo bios exibe(é equivalente)  na tela os valores de 0 e 13

Praticando o uso da Ferramente dmidecode

Obs.: Às vezes, quando o resultado for extenso e para economizar espaço nessa página, postarei apenas o comando sem o resultado. 

  1. Exibindo todas as informações que dmidecode pode retornar sobre meu hardware
    elder@ti:~$ sudo dmidecode
  2. Exibir quase todas as informações disponíveis; menos as informações desconhecidas, ou específicas da fabricante(OEM) do hardware ou ainda as informações inativas.
    elder@ti:~$ sudo dmidecode -q
  3. Família do processador
    elder@ti:~$ sudo dmidecode -s processor-family
    Core 2 Quad
  4. Exibir a fabricante do processador
    elder@ti:~$ sudo dmidecode -s processor-manufacturer
    Intel
  5. Exibir dados/versão do meu processador
    elder@ti:~$ sudo dmidecode -s processor-version
    Intel(R) Core(TM)2 Quad  CPU   Q9550  @ 2.83GHz
  6. Exibir informações sobre a memória ram
    elder@ti:~$ sudo dmidecode -t 19
    # dmidecode 3.1
    Getting SMBIOS data from sysfs.
    SMBIOS 2.5 present.
    
    Handle 0x000E, DMI type 19, 15 bytes
    Memory Array Mapped Address
    	Starting Address: 0x00000000000
    	Ending Address: 0x001FFFFFFFF
    	Range Size: 8 GB
    	Physical Array Handle: 0x000D
    	Partition Width: 4
    

    Podemos ver, dentre as informações, que estou com 8 Giga Bytes de ram em meu pc

  7. Ver informações de memória ram, só que dessa vez informações separadas por pente. Como tenho 2 pentes, cada com 4 GB, surge na tela informações referentes a cada um.
    elder@ti:~$ sudo dmidecode -t 20
    # dmidecode 3.1
    Getting SMBIOS data from sysfs.
    SMBIOS 2.5 present.
    
    Handle 0x0010, DMI type 20, 19 bytes
    Memory Device Mapped Address
    	Starting Address: 0x00000000000
    	Ending Address: 0x000FFFFFFFF
    	Range Size: 4 GB
    	Physical Device Handle: 0x000F
    	Memory Array Mapped Address Handle: 0x000E
    	Partition Row Position: 1
    	Interleaved Data Depth: 1
    
    Handle 0x0012, DMI type 20, 19 bytes
    Memory Device Mapped Address
    	Starting Address: 0x00100000000
    	Ending Address: 0x001FFFFFFFF
    	Range Size: 4 GB
    	Physical Device Handle: 0x0011
    	Memory Array Mapped Address Handle: 0x000E
    	Partition Row Position: 1
    	Interleaved Data Depth: 1
  8. Informações sobre a BIOS da placa mãe
    elder@ti:~$ sudo dmidecode -t bios
  9. Mais Informações sobre bios
    elder@ti:~$ sudo dmidecode -t 0 -t 13

    ou

    elder@ti:~$ sudo dmidecode --type 0 --type 13

    ou ainda

    elder@ti:~$ sudo dmidecode --type BIOS
  10. Gravando as informações em um arquivo binário
    elder@ti:~$ sudo dmidecode --dump-bin meuHardware.bin
    # dmidecode 3.1
    Getting SMBIOS data from sysfs.
    SMBIOS 2.5 present.
    21 structures occupying 1128 bytes.
    Table at 0x000FB620.
    
    # Writing 1128 bytes to meuHardware.bin.
    # Writing 31 bytes to meuHardware.bin.
  11. lendo o arquivo binário que foi criado acima
    elder@ti:~$ sudo dmidecode --from-dump  meuHardware.bin

Conclusão

A ferramenta dmidecode é ótima e de fácil usabilidade. tem como autores Alan Cox, Jean Delvare.

No manual da ferramenta é deixado claro que bugs(erros)  da ferramenta é frenquente e que informações contidas na tabela DMI não são exatas.

Mas não podemos deixar de admirar a forma simples de exibição na tela das descrições de nosso hardware

Espero que gostem!

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *