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.
Co se dozvíte v článku
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)