Using dmidecode to inspect hardware and firmware information

A practical reference for the Linux dmidecode command, including all documented `-s` keywords and `-t` DMI types with space for recording real machine output.

dmidecode is a Linux command for reading and decoding the DMI/SMBIOS tables provided by a computer’s firmware.

These tables describe hardware and platform information such as:

  • system manufacturer and model
  • serial numbers
  • BIOS or UEFI version
  • motherboard information
  • CPU information
  • installed and supported memory
  • chassis information
  • system slots
  • power supplies
  • temperature and voltage probes
  • management interfaces

Unlike tools that actively probe hardware, dmidecode primarily reports what the system firmware has published in its SMBIOS tables. This makes querying the information relatively simple, but it also means that the information can be incomplete or incorrect if the firmware contains inaccurate data.

A complete dump can usually be obtained with:

dmidecode

On Linux, dmidecode first attempts to read the DMI tables through sysfs. If that fails, it can fall back to reading physical memory. Consequently, root privileges are often required.

This can be especially relevant inside virtual machines or containers. For example, an LXC container may not have access to:

/sys/firmware/dmi/tables/

or:

/dev/mem

In that situation dmidecode may fail even when executed as root inside the container.

The -s and -t options

Two particularly useful ways of restricting the otherwise extensive output are:

dmidecode -s KEYWORD

and:

dmidecode -t TYPE

They serve different purposes.

dmidecode -s

The -s option means string:

dmidecode -s KEYWORD

It extracts one specific value from the DMI tables.

For example:

dmidecode -s system-product-name

could return:

ProLiant DL380 Gen10

This is convenient for scripts because the command normally returns just the requested value instead of the complete DMI structure.

The available keywords can also be queried on newer versions of dmidecode with:

dmidecode --list-strings

The currently documented keywords are listed below.

dmidecode -t

The -t option means type:

dmidecode -t TYPE

Instead of extracting one individual value, it selects one or several complete SMBIOS/DMI record types.

For example:

dmidecode -t processor

returns the complete processor-related DMI records.

TYPE can either be:

  • a predefined keyword such as processor
  • a numeric DMI type such as 4
  • a comma-separated list such as 16,17

The available symbolic type names can be displayed with:

dmidecode --list-types

Multiple -t options can also be combined:

dmidecode -t 16 -t 17

The symbolic -t keywords are essentially shortcuts for particular numeric DMI types.


-s: BIOS and platform firmware strings

All the following example outputs come from my tiny Fujitsu Esprimo Q956 Proxmox host.

bios-vendor

Command:

dmidecode -s bios-vendor

Returns the vendor of the system’s platform firmware, historically referred to as the BIOS even on modern UEFI systems.

Typical information:

  • American Megatrends
  • Phoenix Technologies
  • Dell
  • HP
  • Lenovo

Output:

FUJITSU // American Megatrends Inc.

bios-version

Command:

dmidecode -s bios-version

Returns the version string of the BIOS or UEFI firmware.

This is particularly useful when checking whether a firmware update has already been installed.

Output:

V5.0.0.11 R1.33.0 for D3413-A1x

bios-release-date

Command:

dmidecode -s bios-release-date

Returns the release date recorded for the currently installed platform firmware.

Output:

09/29/2021

bios-revision

Command:

dmidecode -s bios-revision

Returns the BIOS revision encoded in the corresponding SMBIOS structure.

This may differ from the human-readable value returned by bios-version.

Output:

1.33

firmware-revision

Command:

dmidecode -s firmware-revision

Returns the revision of the system’s embedded-controller firmware, if the platform provides this information.

In dmidecode terminology, bios refers to the platform firmware while firmware in this particular keyword refers to embedded-controller firmware.

Output:

<nothing>

-s: System strings

system-manufacturer

Command:

dmidecode -s system-manufacturer

Returns the manufacturer of the complete computer.

Examples might include Dell, HP, Lenovo, Fujitsu or the manufacturer of a server platform.

Output:

FUJITSU

system-product-name

Command:

dmidecode -s system-product-name

Returns the manufacturer’s product or model name for the computer.

This is often one of the quickest ways to identify the exact server or PC model.

Output:

ESPRIMO Q956

system-version

Command:

dmidecode -s system-version

Returns the system version field supplied by the manufacturer.

Depending on the hardware, this may contain a useful revision or merely a generic placeholder.

Output:

<nothing>

system-serial-number

Command:

dmidecode -s system-serial-number

Returns the serial number assigned to the complete computer.

This can be useful for inventory management or identifying hardware in vendor support portals.

Output:

YM5G007746

system-uuid

Command:

dmidecode -s system-uuid

Returns the SMBIOS system UUID.

The value is commonly used by management software and inventory systems to uniquely identify a machine.

Output:

90237683-e111-e611-84ed-901b0e9e13f8

system-sku-number

Command:

dmidecode -s system-sku-number

Returns the system SKU supplied by the manufacturer.

The SKU may identify a particular hardware configuration within a product family.

Output:

S26361-Kxxx-Vyyy

system-family

Command:

dmidecode -s system-family

Returns the product family to which the system belongs.

For example, a vendor may use the field for a server or workstation product series.

Output:

ESPRIMO-FTS

-s: Baseboard strings

The baseboard normally represents the motherboard or system board.

baseboard-manufacturer

Command:

dmidecode -s baseboard-manufacturer

Returns the manufacturer of the motherboard or system board.

Output:

FUJITSU

baseboard-product-name

Command:

dmidecode -s baseboard-product-name

Returns the product or model name of the motherboard.

Output:

D3413-A1

baseboard-version

Command:

dmidecode -s baseboard-version

Returns the hardware version or revision of the motherboard.

Output:

S26361-D3413-A1

baseboard-serial-number

Command:

dmidecode -s baseboard-serial-number

Returns the serial number of the motherboard or system board.

Output:

49907599

baseboard-asset-tag

Command:

dmidecode -s baseboard-asset-tag

Returns the asset tag associated with the motherboard.

Whether this contains useful information depends heavily on the manufacturer and system configuration.

Output:

<nothing>

-s: Chassis strings

chassis-manufacturer

Command:

dmidecode -s chassis-manufacturer

Returns the manufacturer associated with the computer chassis.

Output:

FUJITSU

chassis-type

Command:

dmidecode -s chassis-type

Returns the general physical type of the computer enclosure.

Possible decoded values include categories such as:

  • Desktop
  • Tower
  • Rack Mount Chassis
  • Notebook
  • Laptop
  • Mini PC

Output:

Lunch Box

That’s funny ๐Ÿ˜‚

chassis-version

Command:

dmidecode -s chassis-version

Returns the chassis version or hardware revision supplied by the manufacturer.

Output:

chassis-serial-number

Command:

dmidecode -s chassis-serial-number

Returns the chassis serial number.

Depending on the manufacturer, this may be identical to or different from system-serial-number.

Output:

<nothing>

chassis-asset-tag

Command:

dmidecode -s chassis-asset-tag

Returns an asset tag associated with the chassis.

Organizations can sometimes configure this field as part of their hardware inventory process.

Output:

<nothing>

-s: Processor strings

processor-family

Command:

dmidecode -s processor-family

Returns the processor family reported by SMBIOS.

On multi-socket systems more than one result may be returned.

Output:

Core i5

processor-manufacturer

Command:

dmidecode -s processor-manufacturer

Returns the CPU manufacturer, typically something such as Intel or AMD.

Output:

Intel(R) Corporation

processor-version

Command:

dmidecode -s processor-version

Returns the processor identification or model string.

On a system with several physical processors, the command may produce several lines because -s can match multiple DMI structures.

Output:

Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz

processor-frequency

Command:

dmidecode -s processor-frequency

Returns the processor frequency stored in SMBIOS.

This is firmware-provided information and should not necessarily be interpreted as the CPU’s instantaneous operating frequency.

Output:

2800 MHz

-t: Symbolic type names

There are nine documented symbolic keywords for dmidecode -t.

-t bios

Command:

dmidecode -t bios

Equivalent DMI types:

0, 13

The bios shortcut displays information about the platform firmware and its supported languages.

It is equivalent to:

dmidecode -t 0,13

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: FUJITSU // American Megatrends Inc.
        Version: V5.0.0.11 R1.33.0 for D3413-A1x                   
        Release Date: 09/29/2021
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.33

Handle 0x004E, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 2
                en|US|iso8859-1
                ja|JP|unicode
        Currently Installed Language: en|US|iso8859-1

-t system

Command:

dmidecode -t system

Equivalent DMI types:

1, 12, 15, 23, 32

This combines several structures describing the computer as a complete system, including:

  • general system identification
  • system configuration options
  • system event log
  • reset capabilities
  • boot information

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0020, DMI type 12, 5 bytes
System Configuration Options
        Option 1: Default string

Handle 0x0022, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

Handle 0x0043, DMI type 1, 27 bytes
System Information
        Manufacturer: FUJITSU
        Product Name: ESPRIMO Q956
        Version:                       
        Serial Number: YM5G007746
        UUID: 90237683-e111-e611-84ed-901b0e9e13f8
        Wake-up Type: Other
        SKU Number: S26361-Kxxx-Vyyy
        Family: ESPRIMO-FTS

Handle 0x0045, DMI type 15, 77 bytes
System Event Log
        Area Length: 16383 bytes
        Header Start Offset: 0x0000
        Header Length: 16 bytes
        Data Start Offset: 0x0010
        Access Method: Memory-mapped physical 32-bit address
        Access Address: 0xFF860000
        Status: Valid, Not Full
        Change Token: 0x0000004C
        Header Format: Type 1
        Supported Log Type Descriptors: 27
        Descriptor 1: Single-bit ECC memory error
        Data Format 1: Multiple-event handle
        Descriptor 2: Multi-bit ECC memory error
        Data Format 2: Multiple-event handle
        Descriptor 3: Parity memory error
        Data Format 3: None
        Descriptor 4: Bus timeout
        Data Format 4: None
        Descriptor 5: I/O channel block
        Data Format 5: None
        Descriptor 6: Software NMI
        Data Format 6: None
        Descriptor 7: POST memory resize
        Data Format 7: None
        Descriptor 8: POST error
        Data Format 8: POST results bitmap
        Descriptor 9: PCI parity error
        Data Format 9: Multiple-event handle
        Descriptor 10: PCI system error
        Data Format 10: Multiple-event handle
        Descriptor 11: CPU failure
        Data Format 11: None
        Descriptor 12: EISA failsafe timer timeout
        Data Format 12: None
        Descriptor 13: Correctable memory log disabled
        Data Format 13: None
        Descriptor 14: Logging disabled
        Data Format 14: None
        Descriptor 15: System limit exceeded
        Data Format 15: None
        Descriptor 16: Asynchronous hardware timer expired
        Data Format 16: None
        Descriptor 17: System configuration information
        Data Format 17: None
        Descriptor 18: Hard disk information
        Data Format 18: None
        Descriptor 19: System reconfigured
        Data Format 19: None
        Descriptor 20: Uncorrectable CPU-complex error
        Data Format 20: None
        Descriptor 21: Log area reset/cleared
        Data Format 21: None
        Descriptor 22: System boot
        Data Format 22: None
        Descriptor 23: End of log
        Data Format 23: None
        Descriptor 24: OEM-specific
        Data Format 24: OEM-specific
        Descriptor 25: OEM-specific
        Data Format 25: OEM-specific
        Descriptor 26: OEM-specific
        Data Format 26: OEM-specific
        Descriptor 27: OEM-specific
        Data Format 27: OEM-specific

-t baseboard

Command:

dmidecode -t baseboard

Equivalent DMI types:

2, 10, 41

Displays information associated with the motherboard and onboard devices.

Output:

-t chassis

Command:

dmidecode -t chassis

Equivalent DMI type:

3

Displays information describing the physical enclosure of the machine.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x001E, DMI type 10, 6 bytes
On Board Device Information
        Type: Video
        Status: Enabled
        Description:  Not defined see Type 41.

Handle 0x0028, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Nuvoton NCT6792 Super I/O
        Type: Other
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x0029, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Realtek ALC671
        Type: Sound
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x002A, DMI type 41, 11 bytes
Onboard Device
        Reference Designation:  PCH Q170
        Type: Video
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x002B, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Teutates
        Type: Other
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x002C, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel I219LM
        Type: Ethernet
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x0040, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: FUJITSU
        Product Name: D3413-A1
        Version: S26361-D3413-A1            
        Serial Number: 49907599
        Asset Tag:                       
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis:                       
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

-t processor

Command:

dmidecode -t processor

Equivalent DMI type:

4

Displays processor structures, potentially including:

  • socket
  • CPU family
  • manufacturer
  • CPU model
  • voltage
  • maximum speed
  • current speed
  • core count
  • thread count
  • cache references

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0031, DMI type 4, 48 bytes
Processor Information
        Socket Designation: CPU1
        Type: Central Processor
        Family: Core i5
        Manufacturer: Intel(R) Corporation
        ID: E3 06 05 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 94, Stepping 3
        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: Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz
        Voltage: 1.0 V
        External Clock: 100 MHz
        Max Speed: 8300 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: Other
        L1 Cache Handle: 0x002E
        L2 Cache Handle: 0x002F
        L3 Cache Handle: 0x0030
        Serial Number:  
        Asset Tag:  
        Part Number:  
        Core Count: 4
        Core Enabled: 4
        Thread Count: 4
        Characteristics:
                64-bit capable
                Multi-Core
                Execute Protection
                Enhanced Virtualization
                Power/Performance Control

-t memory

Command:

dmidecode -t memory

Equivalent DMI types:

5, 6, 16, 17

Displays memory-related structures.

Particularly useful are types 16 and 17, which describe the memory array and individual DIMMs respectively.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

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

Handle 0x0033, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8 GB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM CHA3
        Bank Locator: BANK 0
        Type: DDR4
        Type Detail: Synchronous
        Speed: 2133 MT/s
        Manufacturer: SK Hynix
        Serial Number: 25F3E2BD
        Asset Tag: 1605
        Part Number: HMA41GS6AFR8N-TF    
        Rank: 2
        Configured Memory Speed: 2133 MT/s
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: 1.2 V

Handle 0x0034, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: Unknown
        Set: None
        Locator: DIMM CHA1
        Bank Locator: BANK 1
        Type: Unknown
        Type Detail: None

Handle 0x0035, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8 GB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM CHB4
        Bank Locator: BANK 2
        Type: DDR4
        Type Detail: Synchronous
        Speed: 2133 MT/s
        Manufacturer: SK Hynix
        Serial Number: 25F3E2B6
        Asset Tag: 1605
        Part Number: HMA41GS6AFR8N-TF    
        Rank: 2
        Configured Memory Speed: 2133 MT/s
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: 1.2 V

Handle 0x0036, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: Unknown
        Set: None
        Locator: DIMM CHB2
        Bank Locator: BANK 3
        Type: Unknown
        Type Detail: None

-t cache

Command:

dmidecode -t cache

Equivalent DMI type:

7

Displays CPU cache structures such as L1, L2 and L3 caches when exposed through SMBIOS.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x002D, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1 Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 128 kB
        Maximum Size: 128 kB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Unknown
        System Type: Data
        Associativity: 8-way Set-associative

Handle 0x002E, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1 Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 128 kB
        Maximum Size: 128 kB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Unknown
        System Type: Instruction
        Associativity: 8-way Set-associative

Handle 0x002F, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L2 Cache
        Configuration: Enabled, Not Socketed, Level 2
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 1 MB
        Maximum Size: 1 MB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Unified
        Associativity: 4-way Set-associative

Handle 0x0030, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L3 Cache
        Configuration: Enabled, Not Socketed, Level 3
        Operational Mode: Write Back
        Location: Internal
        Installed Size: 6 MB
        Maximum Size: 6 MB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Unified
        Associativity: 12-way Set-associative

-t connector

Command:

dmidecode -t connector

Equivalent DMI type:

8

Displays information about physical port connectors provided by the machine.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0004, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Nuvoton
        Internal Connector Type: None
        External Reference Designator: PS/2 Mouse
        External Connector Type: PS/2
        Port Type: Mouse Port

Handle 0x0005, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Nuvoton
        Internal Connector Type: None
        External Reference Designator: PS/2 Keyboard
        External Connector Type: PS/2
        Port Type: Keyboard Port

Handle 0x0006, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Nuvoton
        Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
        External Reference Designator: Serial-1
        External Connector Type: None
        Port Type: Serial Port 16550 Compatible

Handle 0x0007, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: LAN I219LM
        Internal Connector Type: None
        External Reference Designator: LAN 0
        External Connector Type: RJ-45
        Port Type: Network Port

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB Q170
        Internal Connector Type: Proprietary
        External Reference Designator: USB
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB-0
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB-1
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-2
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000C, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-3
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-4
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-5
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-6
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-7
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB INTERN
        Internal Connector Type: Proprietary
        External Reference Designator: Intern: USB-9
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB 1
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB 2
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 3
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0015, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 4
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0016, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 7
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0017, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 8
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0018, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: PCH Q170
        Internal Connector Type: SAS/SATA Plug Receptacle
        External Reference Designator: SATA-0
        External Connector Type: None
        Port Type: None

Handle 0x0019, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: PCH Q170
        Internal Connector Type: SAS/SATA Plug Receptacle
        External Reference Designator: SATA-1
        External Connector Type: None
        Port Type: None

Handle 0x001A, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Intel
        Internal Connector Type: None
        External Reference Designator: DP 1.2
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Intel
        Internal Connector Type: None
        External Reference Designator: DP 1.2
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Intel
        Internal Connector Type: None
        External Reference Designator: DVI-D
        External Connector Type: Other
        Port Type: Video Port

-t slot

Command:

dmidecode -t slot

Equivalent DMI type:

9

Displays information about system expansion slots such as PCI and PCI Express slots.

This can be particularly useful on servers for identifying:

  • slot designation
  • slot type
  • slot width
  • whether a slot is in use
  • bus address

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x001D, DMI type 9, 17 bytes
System Slot Information
        Designation: J6B2
        Type: Unknown
        Current Usage: In Use
        Length: Unknown
        Characteristics: Unknown
        Bus Address: 0000:00:01.0

Numeric DMI types

Instead of using symbolic keywords, dmidecode -t can query individual SMBIOS structure types directly.

For example:

dmidecode -t 17

is a particularly useful command because type 17 represents individual memory devices.

The standard types currently documented by dmidecode range from 0 through 42. Types 126 and 127 have special meanings, while 128 through 255 are reserved for OEM-specific data.

Type 0 โ€” Platform Firmware

Command:

dmidecode -t 0

Contains information about the platform firmware, historically referred to as BIOS information.

Typical fields include:

  • vendor
  • version
  • release date
  • ROM size
  • supported characteristics
  • firmware revisions

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: FUJITSU // American Megatrends Inc.
        Version: V5.0.0.11 R1.33.0 for D3413-A1x                   
        Release Date: 09/29/2021
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.33

Type 1 โ€” System

Command:

dmidecode -t 1

Describes the computer as a complete system.

Typical fields include:

  • manufacturer
  • product name
  • version
  • serial number
  • UUID
  • SKU
  • family

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0043, DMI type 1, 27 bytes
System Information
        Manufacturer: FUJITSU
        Product Name: ESPRIMO Q956
        Version:                       
        Serial Number: YM5G007746
        UUID: 90237683-e111-e611-84ed-901b0e9e13f8
        Wake-up Type: Other
        SKU Number: S26361-Kxxx-Vyyy
        Family: ESPRIMO-FTS

Type 2 โ€” Baseboard

Command:

dmidecode -t 2

Describes the motherboard or system board.

Typical fields include:

-Hi! manufacturer -Hi! product name -Hi! version -Hi! serial number -Hi! asset tag -Hi! board type

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0040, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: FUJITSU
        Product Name: D3413-A1
        Version: S26361-D3413-A1            
        Serial Number: 49907599
        Asset Tag:                       
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis:                       
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

Type 3 โ€” Chassis

Command:

dmidecode -t 3

Describes the system enclosure or chassis.

Typical information includes chassis type, manufacturer, serial number and asset information.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0041, DMI type 3, 22 bytes
Chassis Information
        Manufacturer: FUJITSU
        Type: Lunch Box
        Lock: Not Present
        Version:                       
        Serial Number: YM5G007746
        Asset Tag:                                         
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: None
        OEM Information: 0x00000000
        Height: Unspecified
        Number Of Power Cords: 1
        Contained Elements: 0
        SKU Number: Default string

Type 4 โ€” Processor

Command:

dmidecode -t 4

Contains information about installed processor sockets and processors.

This is one of the most useful DMI types for examining CPU information.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0031, DMI type 4, 48 bytes
Processor Information
        Socket Designation: CPU1
        Type: Central Processor
        Family: Core i5
        Manufacturer: Intel(R) Corporation
        ID: E3 06 05 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 94, Stepping 3
        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: Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz
        Voltage: 1.0 V
        External Clock: 100 MHz
        Max Speed: 8300 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: Other
        L1 Cache Handle: 0x002E
        L2 Cache Handle: 0x002F
        L3 Cache Handle: 0x0030
        Serial Number:  
        Asset Tag:  
        Part Number:  
        Core Count: 4
        Core Enabled: 4
        Thread Count: 4
        Characteristics:
                64-bit capable
                Multi-Core
                Execute Protection
                Enhanced Virtualization
                Power/Performance Control

Type 5 โ€” Memory Controller

Command:

dmidecode -t 5

Describes legacy memory-controller information.

This SMBIOS structure is mainly relevant to older systems.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 6 โ€” Memory Module

Command:

dmidecode -t 6

Describes legacy memory-module structures.

Modern systems generally expose memory through types 16 and 17 instead.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present

Type 7 โ€” Cache

Command:

dmidecode -t 7

Describes processor cache structures.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x002D, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1 Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 128 kB
        Maximum Size: 128 kB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Unknown
        System Type: Data
        Associativity: 8-way Set-associative

Handle 0x002E, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1 Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 128 kB
        Maximum Size: 128 kB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Unknown
        System Type: Instruction
        Associativity: 8-way Set-associative

Handle 0x002F, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L2 Cache
        Configuration: Enabled, Not Socketed, Level 2
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 1 MB
        Maximum Size: 1 MB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Unified
        Associativity: 4-way Set-associative

Handle 0x0030, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L3 Cache
        Configuration: Enabled, Not Socketed, Level 3
        Operational Mode: Write Back
        Location: Internal
        Installed Size: 6 MB
        Maximum Size: 6 MB
        Supported SRAM Types:
                Unknown
        Installed SRAM Type: Unknown
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Unified
        Associativity: 12-way Set-associative

Type 8 โ€” Port Connector

Command:

dmidecode -t 8

Describes internal and external physical connectors.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0004, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Nuvoton
        Internal Connector Type: None
        External Reference Designator: PS/2 Mouse
        External Connector Type: PS/2
        Port Type: Mouse Port

Handle 0x0005, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Nuvoton
        Internal Connector Type: None
        External Reference Designator: PS/2 Keyboard
        External Connector Type: PS/2
        Port Type: Keyboard Port

Handle 0x0006, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Nuvoton
        Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
        External Reference Designator: Serial-1
        External Connector Type: None
        Port Type: Serial Port 16550 Compatible

Handle 0x0007, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: LAN I219LM
        Internal Connector Type: None
        External Reference Designator: LAN 0
        External Connector Type: RJ-45
        Port Type: Network Port

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB Q170
        Internal Connector Type: Proprietary
        External Reference Designator: USB
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB-0
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB-1
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-2
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000C, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-3
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-4
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-5
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-6
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB-7
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB INTERN
        Internal Connector Type: Proprietary
        External Reference Designator: Intern: USB-9
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB 1
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 FRONT
        Internal Connector Type: Proprietary
        External Reference Designator: Front: USB 2
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 3
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0015, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 4
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0016, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 7
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0017, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: USB 3.0 REAR
        Internal Connector Type: Proprietary
        External Reference Designator: Rear: USB 8
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0018, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: PCH Q170
        Internal Connector Type: SAS/SATA Plug Receptacle
        External Reference Designator: SATA-0
        External Connector Type: None
        Port Type: None

Handle 0x0019, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: PCH Q170
        Internal Connector Type: SAS/SATA Plug Receptacle
        External Reference Designator: SATA-1
        External Connector Type: None
        Port Type: None

Handle 0x001A, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Intel
        Internal Connector Type: None
        External Reference Designator: DP 1.2
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Intel
        Internal Connector Type: None
        External Reference Designator: DP 1.2
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Intel
        Internal Connector Type: None
        External Reference Designator: DVI-D
        External Connector Type: Other
        Port Type: Video Port

Type 9 โ€” System Slots

Command:

dmidecode -t 9

Describes expansion slots such as PCI or PCI Express slots.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x001D, DMI type 9, 17 bytes
System Slot Information
        Designation: J6B2
        Type: Unknown
        Current Usage: In Use
        Length: Unknown
        Characteristics: Unknown
        Bus Address: 0000:00:01.0

Type 10 โ€” On Board Devices

Command:

dmidecode -t 10

Describes devices integrated directly onto the system board.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x001E, DMI type 10, 6 bytes
On Board Device Information
        Type: Video
        Status: Enabled
        Description:  Not defined see Type 41.

Type 11 โ€” OEM Strings

Command:

dmidecode -t 11

Contains arbitrary strings supplied by the system manufacturer.

Their interpretation is vendor-specific.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x001F, DMI type 11, 5 bytes
OEM Strings
        String 1: FUJITSU
        String 2: FUJITSU
        String 3: FUJITSU TECHNOLOGY SOLUTIONS

Type 12 โ€” System Configuration Options

Command:

dmidecode -t 12

Contains textual configuration information supplied by the system manufacturer.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0020, DMI type 12, 5 bytes
System Configuration Options
        Option 1: Default string

Type 13 โ€” Firmware Language

Command:

dmidecode -t 13

Describes languages supported by the platform firmware.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x004E, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 2
                en|US|iso8859-1
                ja|JP|unicode
        Currently Installed Language: en|US|iso8859-1

Type 14 โ€” Group Associations

Command:

dmidecode -t 14

Associates several SMBIOS structures with a logical group.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x004D, DMI type 14, 20 bytes
Group Associations
        Name: Firmware Version Info
        Items: 5
                0x0048 (OEM-specific)
                0x0049 (OEM-specific)
                0x004A (OEM-specific)
                0x004B (OEM-specific)
                0x004C (OEM-specific)

Handle 0x004F, DMI type 14, 8 bytes
Group Associations
        Name: $MEI
        Items: 1
                0x0000 (OEM-specific)

Type 15 โ€” System Event Log

Command:

dmidecode -t 15

Describes the firmware-provided system event log and its capabilities.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0045, DMI type 15, 77 bytes
System Event Log
        Area Length: 16383 bytes
        Header Start Offset: 0x0000
        Header Length: 16 bytes
        Data Start Offset: 0x0010
        Access Method: Memory-mapped physical 32-bit address
        Access Address: 0xFF860000
        Status: Valid, Not Full
        Change Token: 0x0000004C
        Header Format: Type 1
        Supported Log Type Descriptors: 27
        Descriptor 1: Single-bit ECC memory error
        Data Format 1: Multiple-event handle
        Descriptor 2: Multi-bit ECC memory error
        Data Format 2: Multiple-event handle
        Descriptor 3: Parity memory error
        Data Format 3: None
        Descriptor 4: Bus timeout
        Data Format 4: None
        Descriptor 5: I/O channel block
        Data Format 5: None
        Descriptor 6: Software NMI
        Data Format 6: None
        Descriptor 7: POST memory resize
        Data Format 7: None
        Descriptor 8: POST error
        Data Format 8: POST results bitmap
        Descriptor 9: PCI parity error
        Data Format 9: Multiple-event handle
        Descriptor 10: PCI system error
        Data Format 10: Multiple-event handle
        Descriptor 11: CPU failure
        Data Format 11: None
        Descriptor 12: EISA failsafe timer timeout
        Data Format 12: None
        Descriptor 13: Correctable memory log disabled
        Data Format 13: None
        Descriptor 14: Logging disabled
        Data Format 14: None
        Descriptor 15: System limit exceeded
        Data Format 15: None
        Descriptor 16: Asynchronous hardware timer expired
        Data Format 16: None
        Descriptor 17: System configuration information
        Data Format 17: None
        Descriptor 18: Hard disk information
        Data Format 18: None
        Descriptor 19: System reconfigured
        Data Format 19: None
        Descriptor 20: Uncorrectable CPU-complex error
        Data Format 20: None
        Descriptor 21: Log area reset/cleared
        Data Format 21: None
        Descriptor 22: System boot
        Data Format 22: None
        Descriptor 23: End of log
        Data Format 23: None
        Descriptor 24: OEM-specific
        Data Format 24: OEM-specific
        Descriptor 25: OEM-specific
        Data Format 25: OEM-specific
        Descriptor 26: OEM-specific
        Data Format 26: OEM-specific
        Descriptor 27: OEM-specific
        Data Format 27: OEM-specific

Type 16 โ€” Physical Memory Array

Command:

dmidecode -t 16

Describes a physical memory array.

This often contains particularly useful information such as:

  • location
  • intended use
  • error correction
  • maximum memory capacity
  • number of memory devices

For determining how much RAM a machine can theoretically support, this is one of the first types worth checking.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

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

Type 17 โ€” Memory Device

Command:

dmidecode -t 17

Describes individual memory devices or DIMM slots.

Typical information includes:

  • slot locator
  • installed size
  • memory type
  • speed
  • configured speed
  • manufacturer
  • serial number
  • part number
  • rank

For examining installed RAM, this is generally the most useful dmidecode type.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0033, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8 GB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM CHA3
        Bank Locator: BANK 0
        Type: DDR4
        Type Detail: Synchronous
        Speed: 2133 MT/s
        Manufacturer: SK Hynix
        Serial Number: 25F3E2BD
        Asset Tag: 1605
        Part Number: HMA41GS6AFR8N-TF    
        Rank: 2
        Configured Memory Speed: 2133 MT/s
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: 1.2 V

Handle 0x0034, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: Unknown
        Set: None
        Locator: DIMM CHA1
        Bank Locator: BANK 1
        Type: Unknown
        Type Detail: None

Handle 0x0035, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8 GB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM CHB4
        Bank Locator: BANK 2
        Type: DDR4
        Type Detail: Synchronous
        Speed: 2133 MT/s
        Manufacturer: SK Hynix
        Serial Number: 25F3E2B6
        Asset Tag: 1605
        Part Number: HMA41GS6AFR8N-TF    
        Rank: 2
        Configured Memory Speed: 2133 MT/s
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: 1.2 V

Handle 0x0036, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0032
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: Unknown
        Set: None
        Locator: DIMM CHB2
        Bank Locator: BANK 3
        Type: Unknown
        Type Detail: None

Type 18 โ€” 32-bit Memory Error

Command:

dmidecode -t 18

Contains information about 32-bit memory-error conditions.

This structure primarily exists for compatibility with older SMBIOS implementations.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 19 โ€” Memory Array Mapped Address

Command:

dmidecode -t 19

Describes the address range mapped to a physical memory array.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0037, DMI type 19, 31 bytes
Memory Array Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x003FFFFFFFF
        Range Size: 16 GB
        Physical Array Handle: 0x0032
        Partition Width: 2

Type 20 โ€” Memory Device Mapped Address

Command:

dmidecode -t 20

Maps an individual memory device to an address range.

It can connect information about a DIMM with the corresponding region in the system’s physical address space.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 21 โ€” Built-in Pointing Device

Command:

dmidecode -t 21

Describes an integrated pointing device such as a touchpad, trackball or similar device.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 22 โ€” Portable Battery

Command:

dmidecode -t 22

Describes a system’s built-in battery.

This is primarily relevant for laptops and other portable computers.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 23 โ€” System Reset

Command:

dmidecode -t 23

Describes hardware or firmware system-reset capabilities and watchdog-related settings.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.I'm 

Type 24 โ€” Hardware Security

Command:

dmidecode -t 24

Describes certain hardware-security settings reported by SMBIOS.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0021, DMI type 24, 5 bytes
Hardware Security
        Power-On Password Status: Disabled
        Keyboard Password Status: Not Implemented
        Administrator Password Status: Disabled
        Front Panel Reset Status: Not Implemented

Type 25 โ€” System Power Controls

Command:

dmidecode -t 25

Describes scheduled or firmware-controlled system power operations.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 26 โ€” Voltage Probe

Command:

dmidecode -t 26

Describes voltage monitoring probes known to the firmware.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0023, DMI type 26, 22 bytes
Voltage Probe
        Description: LM78A
        Location: Power Unit
        Status: OK
        Maximum Value: Unknown
        Minimum Value: Unknown
        Resolution: Unknown
        Tolerance: Unknown
        Accuracy: Unknown
        OEM-specific Information: 0x00000000
        Nominal Value: Unknown

Type 27 โ€” Cooling Device

Command:

dmidecode -t 27

Describes cooling devices such as system fans.

Output:

Cooling Device
        Temperature Probe Handle: 0x0024
        Type: Power Supply Fan
        Status: OK
        Cooling Unit Group: 1
        OEM-specific Information: 0x00000000
        Nominal Speed: Unknown Or Non-rotating
        Description: Cooling Dev 1

Type 28 โ€” Temperature Probe

Command:

dmidecode -t 28

Describes temperature sensors reported through SMBIOS.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0024, DMI type 28, 22 bytes
Temperature Probe
        Description: LM78A
        Location: Power Unit
        Status: OK
        Maximum Value: Unknown
        Minimum Value: Unknown
        Resolution: Unknown
        Tolerance: Unknown
        Accuracy: Unknown
        OEM-specific Information: 0x00000000
        Nominal Value: Unknown

Type 29 โ€” Electrical Current Probe

Command:

dmidecode -t 29

Describes electrical-current monitoring devices.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0026, DMI type 29, 22 bytes
Electrical Current Probe
        Description: ABC
        Location: Power Unit
        Status: OK
        Maximum Value: Unknown
        Minimum Value: Unknown
        Resolution: Unknown
        Tolerance: Unknown
        Accuracy: Unknown
        OEM-specific Information: 0x00000000
        Nominal Value: Unknown

Type 30 โ€” Out-of-band Remote Access

Command:

dmidecode -t 30

Describes firmware-supported out-of-band remote-access facilities.

This can be relevant on server-class hardware with dedicated management capabilities.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 31 โ€” Boot Integrity Services

Command:

dmidecode -t 31

Contains information related to SMBIOS Boot Integrity Services.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 32 โ€” System Boot

Command:

dmidecode -t 32

Describes the system’s boot status as reported by the firmware.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0022, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

Type 33 โ€” 64-bit Memory Error

Command:

dmidecode -t 33

Contains extended memory-error information using 64-bit address fields.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 34 โ€” Management Device

Command:

dmidecode -t 34

Describes a system management device.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 35 โ€” Management Device Component

Command:

dmidecode -t 35

Associates a management device with a particular hardware component.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 36 โ€” Management Device Threshold Data

Command:

dmidecode -t 36

Contains threshold information associated with system management devices.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 37 โ€” Memory Channel

Command:

dmidecode -t 37

Describes memory-channel organization and the devices belonging to a particular channel.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 38 โ€” IPMI Device

Command:

dmidecode -t 38

Describes an Intelligent Platform Management Interface (IPMI) controller.

This is particularly relevant for server hardware with a Baseboard Management Controller.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 39 โ€” Power Supply

Command:

dmidecode -t 39

Describes system power supplies.

On servers this may expose information about individual redundant power-supply units.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0027, DMI type 39, 22 bytes
System Power Supply
        Power Unit Group: 1
        Location: To Be Filled By O.E.M.
        Name: To Be Filled By O.E.M.
        Manufacturer: To Be Filled By O.E.M.
        Serial Number: To Be Filled By O.E.M.
        Asset Tag: To Be Filled By O.E.M.
        Model Part Number: To Be Filled By O.E.M.
        Revision: To Be Filled By O.E.M.
        Max Power Capacity: Unknown
        Status: Present, OK
        Type: Switching
        Input Voltage Range Switching: Auto-switch
        Plugged: Yes
        Hot Replaceable: No
        Input Voltage Probe Handle: 0x0023
        Cooling Device Handle: 0x0025
        Input Current Probe Handle: 0x0026

Type 40 โ€” Additional Information

Command:

dmidecode -t 40

Provides additional information referencing fields of other SMBIOS structures.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 41 โ€” Onboard Devices Extended Information

Command:

dmidecode -t 41

Provides an extended description of onboard devices.

It supplements the older type 10 structure.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0028, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Nuvoton NCT6792 Super I/O
        Type: Other
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x0029, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Realtek ALC671
        Type: Sound
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x002A, DMI type 41, 11 bytes
Onboard Device
        Reference Designation:  PCH Q170
        Type: Video
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x002B, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Teutates
        Type: Other
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Handle 0x002C, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel I219LM
        Type: Ethernet
        Status: Enabled
        Type Instance: 1
        Bus Address: 00ff:ff:1f.7

Type 42 โ€” Management Controller Host Interface

Command:

dmidecode -t 42

Describes the interface between the operating system and a platform management controller.

This can be particularly relevant on server platforms equipped with dedicated management controllers.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 126 โ€” Inactive or disabled entry

Command:

dmidecode -t 126

Type 126 is reserved for SMBIOS structures that have been marked inactive or disabled.

There will normally be little reason to request this type during ordinary hardware inventory.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Type 127 โ€” End-of-table marker

Command:

dmidecode -t 127

Type 127 marks the end of the SMBIOS structure table.

It does not represent a physical hardware component.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0051, DMI type 127, 4 bytes
End Of Table

Types 128โ€“255 โ€” OEM-specific structures

Numeric values from 128 through 255 are reserved for manufacturer-specific SMBIOS structures.

For example:

dmidecode -t 128

or:

dmidecode -t 200

Whether these types exist and whether dmidecode can decode them depends entirely on the hardware manufacturer. dmidecode can only provide a meaningful decoded representation when sufficient vendor-specific information is known by the tool.

Output:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x003B, DMI type 128, 16 bytes
OEM-specific Type
        Header and Data:
                80 10 3B 00 00 5F 46 4A 5F 4F 45 4D 5F 12 00 00

Handle 0x003C, DMI type 128, 8 bytes
OEM-specific Type
        Header and Data:
                80 08 3C 00 01 03 00 00

Handle 0x003D, DMI type 128, 20 bytes
OEM-specific Type
        Header and Data:
                80 14 3D 00 03 09 01 01 C0 12 00 01 5E 01 01 01
                5F 00 00 10

Handle 0x003E, DMI type 128, 16 bytes
OEM-specific Type
        Header and Data:
                80 10 3E 00 03 0B 01 01 0A 00 00 00 00 00 00 00

Handle 0x003F, DMI type 128, 16 bytes
OEM-specific Type
        Header and Data:
                80 10 3F 00 03 0D 01 01 01 02 00 00 00 00 00 00
        Strings:
                [U:SCB1
                [V:CSM1

Useful parameter combinations

Numeric types can be combined using commas.

For example, to inspect the overall memory architecture and all DIMMs:

dmidecode -t 16,17

To inspect firmware information:

dmidecode -t 0,13

This is equivalent to:

dmidecode -t bios

Similarly:

dmidecode -t 1,12,15,23,32

is equivalent to:

dmidecode -t system

The complete mapping of symbolic type names is:

KeywordNumeric DMI types
bios0, 13
system1, 12, 15, 23, 32
baseboard2, 10, 41
chassis3
processor4
memory5, 6, 16, 17
cache7
connector8
slot9

Particularly useful commands

For everyday system administration, only a relatively small subset of the available structures is usually required.

Identify the computer

dmidecode -s system-manufacturer
dmidecode -s system-product-name
dmidecode -s system-serial-number

Check firmware

dmidecode -s bios-vendor
dmidecode -s bios-version
dmidecode -s bios-release-date

Inspect processors

dmidecode -t processor

or just the model:

dmidecode -s processor-version

Inspect installed memory

dmidecode -t 17

Check maximum memory capacity

dmidecode -t 16

Inspect PCI/PCIe slots

dmidecode -t slot

Inspect power supplies

dmidecode -t 39

When dmidecode fails

A typical failure can look like this:

# dmidecode 3.6
/sys/firmware/dmi/tables/smbios_entry_point: Permission denied
Scanning /dev/mem for entry point.
Can't read memory from /dev/mem

There are two separate attempts visible here.

First, dmidecode tried to access the SMBIOS tables through:

/sys/firmware/dmi/tables/

and was denied.

It then attempted its fallback mechanism using:

/dev/mem

which was denied as well.

This is especially common in restricted environments such as containers.

Running:

dmidecode

can solve the problem on a normal Linux installation if it is merely a privilege issue.

Inside an LXC container, however, being root inside the container does not automatically grant access to the host’s firmware tables or physical memory. In such an environment it is normally more appropriate to execute dmidecode directly on the virtualization host.

dmidecode versus /sys

For simple identification strings, calling dmidecode is not always necessary.

On Linux, many of the same values are exposed under:

/sys/devices/virtual/dmi/id/

For example:

cat /sys/devices/virtual/dmi/id/product_name

may provide the same information as:

dmidecode -s system-product-name

Similarly:

cat /sys/devices/virtual/dmi/id/sys_vendor

corresponds roughly to:

dmidecode -s system-manufacturer

The advantage is that many of these sysfs files can be read without root privileges. The dmidecode -t option remains much more useful when complete SMBIOS structures such as memory devices, processors, slots or power supplies have to be inspected.

Summary

dmidecode provides a convenient view into the hardware metadata published by a system’s BIOS or UEFI firmware.

Use:

dmidecode -s KEYWORD

when a single specific property is required, and:

dmidecode -t TYPE

when the complete SMBIOS structure for a hardware category should be examined.

Some of the commands worth remembering are:

dmidecode -s system-product-name
dmidecode -s system-serial-number
dmidecode -s bios-version

dmidecode -t processor
dmidecode -t memory
dmidecode -t 16
dmidecode -t 17
dmidecode -t slot

One important limitation should always be kept in mind: dmidecode decodes information supplied by the system firmware. It does not independently verify that information against the physical hardware, and firmware-provided SMBIOS data can therefore be incomplete or incorrect.

References

The keyword and numeric type lists in this article are based on the dmidecode 3.7 manual from Debian unstable and the SMBIOS/DMI type definitions documented there.