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)