Listando informações sobre o hardware com o comando dmidecode através da tabela DMI.

Publicado por Perfil removido em 26/03/2015

[ Hits: 20.773 ]

 


Listando informações sobre o hardware com o comando dmidecode através da tabela DMI.



Nesta minha primeira dica, mostrarei como listar algumas informações do hardware através do comando dmidecode, utilitário que decodifica tabelas DMI.

Antes de tudo, precisamos entender o que é DMI.

O DMI, ou Desktop Management Interface, ou ainda Direct Media Interface, é uma interface de programação que permite que programas coletem informações à respeito do computador. A tabela DMI fica na BIOS e contém informações sobre o hardware, dispostas de maneira padrão.

Bom, chega de enrolação e vamos lá:

Antes do comando, é bom ter a tabela padrão do DMI. É a que segue abaixo:

Tipo	Informação
0	BIOS
1	System
2	Base Board
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 Device

Esta pequena tabelinha vocês encontram no man page do dmidecode (man dmidecode). Além de vários outros comandos. Bom, mãos à obra.

Para executar o dmidecode é necessário estar como root. Vamos listar as informações do processador. Para isto, façam:

# dmidecode -t 4
SMBIOS 2.6 present.

Handle 0x0012, DMI type 4, 42 bytes
Processor Information
        Socket Designation: CPU
        Type: Central Processor
        Family: Pentium M
        Manufacturer: Intel(R) Corporation
        ID: 7A 06 01 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 23, Stepping 10
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Pentium(R) Dual-Core CPU       T4500  @ 2.30GHz
        Voltage: 1.6 V
        External Clock: 800 MHz
        Max Speed: 2300 MHz
        Current Speed: 2300 MHz
        Status: Populated, Enabled
        Upgrade: <OUT OF SPEC>
        L1 Cache Handle: 0x0015
        L2 Cache Handle: 0x0013
        L3 Cache Handle: Not Provided
        Serial Number: Not Specified
        Asset Tag: FFFF
        Part Number: Not Specified
        Characteristics: None
        
Estas informações são do meu note velho de guerra. Mas o comando gera uma saída bem detalhada.

A flag usada -t é de type e identificamos com o número 4 da tabela. Se for utilizado sem nenhuma opção, ele vai listar todas as informações da tabela.

Outro jeito que podemos usar é fornecendo palavras chave, como da tabelinha abaixo:

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

Pegando o primeiro exemplo, porque 0,13? Lembrando da primeira tabela, o número 0 lê informações da BIOS. Enquanto que o número 13 lê informações sobre a linguagem em que a BIOS está configurada. Muito simples não?

Agora quero ver a capacidade da minha máquina a nível de memória RAM. Tranquilo:

# dmidecode -t 16
SMBIOS 2.6 present.

Handle 0x0016, DMI type 16, 15 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 8 GB
        Error Information Handle: Not Provided
        Number Of Devices: 2

Mais fácil que andar pra frente :D

Bom, acho que é isso. Espero que seja de utilidade para alguém. Não se esqueçam de lerem minuciosamente a man page deste utilitário.

Abraços.

Outras dicas deste autor

Vídeo aula: Trabalhando no Inkscape

Tentando melhorar o sistema de memória da sua máquina com Linux

Backup dos favoritos do Firefox - simples e prático

Compartilhando a conexão no Mandriva One

Lendo registros formatados de arquivo de texto em bash

Leitura recomendada

Como configurar programas para usar a saída de áudio HDMI sob o ALSA

Controlando o brilho pelo teclado em notebook no GNU/Linux

Instalando o modem Motorola SM56 no Linux

Loop na placa de rede

Drivers wireless binários para Slackware kernel 2.6.18

  

Comentários
[1] Comentário enviado por albfneto em 26/03/2015 - 15:08h

Dica ótima! Conheço o comando, meu uso, é poderoso e funciona bem. Parabéns pela Dica, porque é comando pouco conhecido da maioria
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux,Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva.

[2] Comentário enviado por gustavovalerio em 09/04/2015 - 00:46h

Simplesmente ótimo!
Lembro que quando usava o "Janelas", usava "systeminfo" ou "dxdiag" mas nunca retornava exatamente o que eu queria, sendo necessário a instalação de programas de terceiros!
Mas eis um comando que coloca o nosso Tux á frente do "Janelas"!!!

Ninguém é sábio o suficiente que não possa aprender,
nem ignorante o suficiente que não possa ensinar. -- Autor Desconhecido

[3] Comentário enviado por lanjos em 06/08/2019 - 13:36h

no Debian 10 XFCE Não funfa...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts