Hlavní navigace

Zjištění informací o hardware počítače pomocí utility dmidecode

Nejeden majitel počítače už stál před otázkou, jak ze svého stroje vylákat podrobné informace o hardware. Chcete například vyměnit kus hardware za lepší, ale potřebujete k tomu znát nějaké podrobnosti.
Petr Krčmář 20. 1. 2020
Doba čtení: 4 minuty

Sdílet

Utilita dmidecode (Desktop Management Interface table decoder) umí přeložit informace poskytované základní deskou do lidsky čitelné podoby. Ty jsou uloženy v tabulce DMI (někdy SMBIOS) a týkají se mnoha různých oblasti: výrobce, procesoru, pamětí, verze firmware desky či sériových čísel.

Dozvědět se ale můžete nejen o aktuálním hardware, ale třeba i o různých omezeních. Kolik paměti maximálně bude moje deska podporovat? Jaký procesor do ní můžu dát? Pokud jste si někdy kladli takové informace, pak potřebujete jediné: utilitu  dmidecode.

Upozornění na začátek: utilita ve skutečnosti neskenuje hardware, jen překládá to, co jí nahlásí základní deska. Záleží tedy na výrobci, jak je v poskytování informací poctivý.

Instalace je snadná

Utilita dmidecode se obvykle nachází ve stejnojmenném balíčku. Do systému ji tedy můžete doinstalovat běžným balíčkovacím nástrojem. Pozor na to, že pro její správnou funkci budete muset mít práva roota.

Přihlaste se tedy jako root nebo použijte sudo, dle svých zvyků či distribuce. Příklady budou předpokládat, že je takto spouštíte. Na začátku tedy bude stačit něco jako

# apt install dmidecode

Formát výstupu

Každý záznam, který dmidecode vypíše, má pevně stanovený formát. Ten se skládá z unikátního identifikátoru (Handle), typu DMI záznamu, velikosti a poté už následují samotná data získaná z tabulky.

Nás bude nejvíce zajímat druhá část, tedy typ záznamu. Ten umožňuje dotázat se pouze na určitou část tabulky, abychom nebyli přehlceni informacemi. Typ můžeme vybrat pomocí parametru -t následovaného některou z kategorií. Pokud ji neuvedeme, utilita nám je vypíše.

# dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
  bios
  system
  baseboard
  chassis
  processor
  memory
  cache
  connector
  slot

Všechny typy DMI záznamů jsou součástí manuálové stránky a jsou očíslovány, počínaje nulou. První čtyři desítky mají pevně daný účel a týkají se konkrétní oblasti hardware.

Každý výrobce si ještě může přidávat vlastní informace jako typy 128 až 255. Utilita je umí vypsat, ale jen pokud konkrétní výrobce dodal k těmto datům specifikaci a programátoři je mohli použít.

Výše uvedená klíčová slova pak utilita používá, aby sdružila některá čísla záznamů pro pohodlnější zobrazení informací z jedné kategorie. Vazby shrnuje následující tabulka:

Keyword Types
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

Volba výstupu

Informace o typu záznamu můžeme zapsat několika způsoby: slovně, číselně, samostatně či zřetězeně. Všechny následující zápisy jsou ekvivalentní:

# dmidecode --type 0 --type 13
# dmidecode --type 0,13
# dmidecode --type bios
# dmidecode --type BIOS

Druhou možností omezení výstupu je vyhledání klíčového slova v tabulce. To se provádí pomocí parametru -s a použít lze následující možnosti: bios-vendor, bios-version, bios-release-date, system-manufacturer, system-product-name, system-version, system-serial-number, system-uuid, system-family, baseboard-manufacturer, baseboard-product-name, baseboard-version, baseboard-serial-number, baseboard-asset-tag, chassis-manufacturer, chassis-type, chassis-version, chassis-serial-number, chassis-asset-tag, processor-family, processor-manufacturer, processor-version, processor-frequency.

Zobrazení informace o paměti

Konkrétní příklad, který se vám může hodit. Zjistíme si informace o paměti, kterou disponuje náš počítač:

# dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.

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

Handle 0x0042, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0041
    Error Information Handle: Not Provided
    Total Width: Unknown
    Data Width: Unknown
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: Not Specified
    Type: Unknown
    Type Detail: None
    Speed: Unknown
    Manufacturer: Not Specified
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    Rank: Unknown
    Configured Memory Speed: Unknown
    Minimum Voltage: Unknown
    Maximum Voltage: Unknown
    Configured Voltage: Unknown

Handle 0x0043, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0041
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 8192 MB
    Form Factor: SODIMM
    Set: None
    Locator: DIMM B
    Bank Locator: Not Specified
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MT/s
    Manufacturer: 80AD000080AD
    Serial Number: 5252DB26
    Asset Tag: 01181600
    Part Number: HMA81GS6MFR8N-UH
    Rank: 1
    Configured Memory Speed: 2400 MT/s
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V

Zjistíme, že tento konkrétní počítač má 8 GB paměti instalované v jednom slotu, druhý je zatím nepoužitý. Dozvíme se tu, jaké přesně paměti stroj používá a že jí pojme nejvýše 32 GB.

Užitečné tipy

Tabulka DMI obsahuje spoustu užitečných podrobností, o některých z nich si teď řekneme. Můžeme například zjistit, jakou verzi firmware má naše deska. Na webu výrobce se pak můžeme podívat, zda není dostupná aktualizace:

# dmidecode -s bios-version
1.10.0

Podobně můžeme zjistit, kdy byl náš firmware výrobcem vytvořen:

# dmidecode -s bios-release-date
07/11/2019

Každá deska má také svůj unikátní identifikátor vytvořený podle standardu UUID:

# dmidecode -s system-uuid
384a0876-15b0-413b-9039-03cd1d85bd97

Podobně dokážeme získat informace o výrobci naší základní desky:

# dmidecode -s chassis-manufacturer
Dell Inc.

Samozřejmě se můžeme zeptat také na použitý procesor:

# dmidecode -s processor-version
Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz

Více podrobností pak získáme pomocí plného dotazu na správný typ:

# dmidecode -t processor
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.

Handle 0x0048, DMI type 4, 48 bytes
Processor Information
    Socket Designation: U3E1
    Type: Central Processor
    Family: Core i5
    Manufacturer: Intel(R) Corporation
…(zkráceno)

Můžete se také zeptat na typ počítače. Dozvíte se třeba, že jde o notebook:

# dmidecode -t chassis
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.

Handle 0x0003, DMI type 3, 22 bytes
Chassis Information
    Manufacturer: Dell Inc.
    Type: Notebook
… (zkráceno)

Odkazy