1DMIDECODE(8)                System Manager's Manual               DMIDECODE(8)
2
3
4

NAME

6       dmidecode - DMI table decoder
7

SYNOPSIS

9       dmidecode [OPTIONS]
10

DESCRIPTION

12       dmidecode  is a tool for dumping a computer's DMI (some say SMBIOS) ta‐
13       ble contents in a human-readable format. This table contains a descrip‐
14       tion  of  the  system's  hardware  components,  as well as other useful
15       pieces of information such as serial numbers and BIOS revision.  Thanks
16       to  this  table,  you  can  retrieve this information without having to
17       probe for the actual hardware.  While this is a good point in terms  of
18       report  speed  and  safeness, this also makes the presented information
19       possibly unreliable.
20
21       The DMI table doesn't only describe what the system is  currently  made
22       of,  it  also  can  report the possible evolutions (such as the fastest
23       supported CPU or the maximal amount of memory supported).
24
25       SMBIOS stands for System Management BIOS, while DMI stands for  Desktop
26       Management  Interface. Both standards are tightly related and developed
27       by the DMTF (Desktop Management Task Force).
28
29       As you run it, dmidecode will try to locate  the  DMI  table.  It  will
30       first  try  to  read  the  DMI  table  from sysfs, and next try reading
31       directly from memory if sysfs access failed.  If dmidecode succeeds  in
32       locating a valid DMI table, it will then parse this table and display a
33       list of records like this one:
34
35       Handle 0x0002, DMI type 2, 8 bytes.  Base Board Information
36               Manufacturer: Intel
37               Product Name: C440GX+
38               Version: 727281-001
39               Serial Number: INCY92700942
40
41       Each record has:
42
43       · A handle. This is a unique identifier, which allows records to refer‐
44         ence  each  other.  For  example, processor records usually reference
45         cache memory records using their handles.
46
47       · A type. The SMBIOS specification defines different types of  elements
48         a  computer  can  be  made  of. In this example, the type is 2, which
49         means that the record contains "Base Board Information".
50
51       · A size. Each record has a 4-byte header (2 for the handle, 1 for  the
52         type,  1  for  the  size),  the rest is used by the record data. This
53         value doesn't take text strings into account (these are placed at the
54         end of the record), so the actual length of the record may be (and is
55         often) greater than the displayed value.
56
57       · Decoded values. The information presented of course  depends  on  the
58         type of record. Here, we learn about the board's manufacturer, model,
59         version and serial number.
60

OPTIONS

62       -d, --dev-mem FILE
63              Read memory from device FILE (default: /dev/mem)
64
65       -q, --quiet
66              Be less verbose. Unknown, inactive and OEM-specific entries  are
67              not displayed. Meta-data and handle references are hidden.
68
69       -s, --string KEYWORD
70              Only  display the value of the DMI string identified by KEYWORD.
71              KEYWORD must be a keyword from the following list:  bios-vendor,
72              bios-version,  bios-release-date,  bios-revision, firmware-revi‐
73              sion, system-manufacturer, system-product-name,  system-version,
74              system-serial-number, system-uuid, system-family, baseboard-man‐
75              ufacturer, baseboard-product-name, baseboard-version, baseboard-
76              serial-number,  baseboard-asset-tag, chassis-manufacturer, chas‐
77              sis-type, chassis-version, chassis-serial-number, chassis-asset-
78              tag,  processor-family,  processor-manufacturer,  processor-ver‐
79              sion, processor-frequency.  Each keyword corresponds to a  given
80              DMI  type  and  a  given offset within this entry type.  Not all
81              strings may be meaningful or even defined on all  systems.  Some
82              keywords  may  return more than one result on some systems (e.g.
83              processor-version on a multi-processor system).  If  KEYWORD  is
84              not  provided  or  not  valid,  a  list of all valid keywords is
85              printed and dmidecode exits with an error.  This  option  cannot
86              be used more than once.
87
88              Note:  on Linux, most of these strings can alternatively be read
89              directly   from    sysfs,    typically    from    files    under
90              /sys/devices/virtual/dmi/id.  Most of these files are even read‐
91              able by regular users.
92
93       -t, --type TYPE
94              Only display the entries of type TYPE. TYPE can be either a  DMI
95              type  number,  or  a  comma-separated list of type numbers, or a
96              keyword from the following list: bios, system, baseboard,  chas‐
97              sis, processor, memory, cache, connector, slot. Refer to the DMI
98              TYPES section below for details.  If this option  is  used  more
99              than once, the set of displayed entries will be the union of all
100              the given types.  If TYPE is not provided or not valid,  a  list
101              of  all  valid  keywords  is printed and dmidecode exits with an
102              error.
103
104       -H, --handle HANDLE
105              Only display the entry whose handle matches HANDLE.  HANDLE is a
106              16-bit integer.
107
108       -u, --dump
109              Do  not  decode  the entries, dump their contents as hexadecimal
110              instead.  Note that this is still a text output, no binary  data
111              will  be thrown upon you. The strings attached to each entry are
112              displayed as both hexadecimal and ASCII. This option  is  mainly
113              useful for debugging.
114
115           --dump-bin FILE
116              Do  not  decode the entries, instead dump the DMI data to a file
117              in binary form. The  generated  file  is  suitable  to  pass  to
118              --from-dump later.
119
120           --from-dump FILE
121              Read  the DMI data from a binary file previously generated using
122              --dump-bin.
123
124           --no-sysfs
125              Do not attempt to read DMI data from sysfs files. This is mainly
126              useful for debugging.
127
128           --oem-string N
129              Only display the value of the OEM string number N. The first OEM
130              string has number 1. With special value "count", return the num‐
131              ber of OEM strings instead.
132
133       -h, --help
134              Display usage information and exit
135
136       -V, --version
137              Display the version and exit
138
139       Options  --string,  --type,  --dump-bin  and --oem-string determine the
140       output format and are mutually exclusive.
141
142       Please note in case of dmidecode is run on  a  system  with  BIOS  that
143       boasts  new  SMBIOS  specification,  which is not supported by the tool
144       yet, it will print out relevant message in addition to  requested  data
145       on  the  very  top  of  the output. Thus informs the output data is not
146       reliable.
147

DMI TYPES

149       The SMBIOS specification defines the following DMI types:
150
151       Type   Information
152       ────────────────────────────────────────────
153          0   BIOS
154          1   System
155          2   Baseboard
156          3   Chassis
157          4   Processor
158          5   Memory Controller
159          6   Memory Module
160          7   Cache
161          8   Port Connector
162          9   System Slots
163         10   On Board Devices
164         11   OEM Strings
165         12   System Configuration Options
166         13   BIOS Language
167         14   Group Associations
168         15   System Event Log
169         16   Physical Memory Array
170         17   Memory Device
171         18   32-bit Memory Error
172         19   Memory Array Mapped Address
173         20   Memory Device Mapped Address
174         21   Built-in Pointing Device
175         22   Portable Battery
176         23   System Reset
177         24   Hardware Security
178         25   System Power Controls
179         26   Voltage Probe
180         27   Cooling Device
181         28   Temperature Probe
182         29   Electrical Current Probe
183         30   Out-of-band Remote Access
184         31   Boot Integrity Services
185         32   System Boot
186         33   64-bit Memory Error
187         34   Management Device
188         35   Management Device Component
189         36   Management Device Threshold Data
190         37   Memory Channel
191         38   IPMI Device
192         39   Power Supply
193         40   Additional Information
194         41   Onboard Devices Extended Information
195         42   Management Controller Host Interface
196
197       Additionally, type 126 is used for disabled entries and type 127 is  an
198       end-of-table  marker.  Types  128  to  255  are  for OEM-specific data.
199       dmidecode will display these entries by default, but it can only decode
200       them when the vendors have contributed documentation or code for them.
201
202       Keywords can be used instead of type numbers with --type.  Each keyword
203       is equivalent to a list of type numbers:
204
205
206       Keyword     Types
207       ──────────────────────────────
208       bios        0, 13
209       system      1, 12, 15, 23, 32
210       baseboard   2, 10, 41
211       chassis     3
212       processor   4
213       memory      5, 6, 16, 17
214       cache       7
215       connector   8
216       slot        9
217
218       Keywords are matched case-insensitively. The  following  command  lines
219       are equivalent:
220
221       · dmidecode --type 0 --type 13
222
223       · dmidecode --type 0,13
224
225       · dmidecode --type bios
226
227       · dmidecode --type BIOS
228

BINARY DUMP FILE FORMAT

230       The  binary  dump  files generated by --dump-bin and read using --from-
231       dump are formatted as follows:
232
233       · The SMBIOS or DMI entry point is  located  at  offset  0x00.   It  is
234         crafted to hard-code the table address at offset 0x20.
235
236       · The DMI table is located at offset 0x20.
237

UUID FORMAT

239       There is some ambiguity about how to interpret the UUID fields prior to
240       SMBIOS specification version 2.6. There was no mention  of  byte  swap‐
241       ping,  and  RFC  4122  says  that no byte swapping should be applied by
242       default. However, SMBIOS specification version 2.6 (and later)  explic‐
243       itly  states that the first 3 fields of the UUID should be read as lit‐
244       tle-endian numbers (byte-swapped).  Furthermore, it  implies  that  the
245       same  was  already  true  for older versions of the specification, even
246       though it was not mentioned. In practice, many  hardware  vendors  were
247       not  byte-swapping the UUID. So, in order to preserve compatibility, it
248       was decided to interpret the UUID fields according to RFC 4122 (no byte
249       swapping)  when  the SMBIOS version is older than 2.6, and to interpret
250       the first 3 fields as little-endian (byte-swapped) when the SMBIOS ver‐
251       sion is 2.6 or later. The Linux kernel follows the same logic.
252

FILES

254       /dev/mem
255       /sys/firmware/dmi/tables/smbios_entry_point (Linux only)
256       /sys/firmware/dmi/tables/DMI (Linux only)
257

BUGS

259       More often than not, information contained in the DMI tables is inaccu‐
260       rate, incomplete or simply wrong.
261

AUTHORS

263       Alan Cox, Jean Delvare
264

SEE ALSO

266       biosdecode(8), mem(4), ownership(8), vpddecode(8)
267
268
269
270dmidecode                        January 2019                     DMIDECODE(8)
Impressum