Description: Some remarks and editorial changes Author: Bjarni Ingi Gislason Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088 Forwarded: no: due to constant network errors Last-Update: 2026-03-10 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: trunk/man/dmidecode.8 =================================================================== --- trunk.orig/man/dmidecode.8 +++ trunk/man/dmidecode.8 @@ -45,39 +45,52 @@ Base Board Information Each record has: .IP \(bu "\w'\(bu'u+1n" -A handle. This is a unique identifier, which allows records to -reference each other. For example, processor records usually reference -cache memory records using their handles. +A handle. +This is a unique identifier, +which allows records to reference each other. +For example, +processor records usually reference cache memory records +using their handles. .IP \(bu -A type. The \s-1SMBIOS\s0 specification defines different types of elements -a computer can be made of. In this example, the type is 2, which -means that the record contains "Base Board Information". +A type. +The \s-1SMBIOS\s0 specification defines different types of elements +a computer can be made of. +In this example, +the type is 2, +which means that the record contains "Base Board Information". .IP \(bu -A size. Each record has a 4-byte header (2 for the handle, 1 for the type, -1 for the size), the rest is used by the record data. This value doesn't -take text strings into account (these are placed at the end of the record), -so the actual length of the record may be (and is often) greater than the -displayed value. +A size. +Each record has a 4-byte header +(2 for the handle, 1 for the type, 1 for the size), +the rest is used by the record data. +This value doesn't take text strings into account +(these are placed at the end of the record), +so the actual length of the record may be +(and is often) +greater than the displayed value. .IP \(bu -Decoded values. The information presented of course depends on the type -of record. Here, we learn about the board's manufacturer, model, version -and serial number. +Decoded values. +The information presented of course depends on the type of record. +Here, we learn about the board's manufacturer, +model, version and serial number. .\" .SH OPTIONS .TP -.BR "-d" ", " "--dev-mem \fIFILE\fP" +.BR "\-d" ", " "\-\-dev-mem \fIFILE\fP" Read memory from device \fIFILE\fP (default: \fI/dev/mem\fP) .TP -.BR "-q" ", " "--quiet" -Be less verbose. Unknown, inactive and \s-1OEM\s0-specific entries are not -displayed. Meta-data and handle references are hidden. -.TP -.BR " " " " "--no-quirks" -Decode everything exactly as it is in the table, without trying to fix up -common mistakes or hide irrelevant fields. +.BR "\-q" ", " "\-\-quiet" +Be less verbose. +Unknown, inactive and \s-1OEM\s0-specific entries are not displayed. +Meta-data and handle references are hidden. +.TP +.BR " " " " "\-\-no-quirks" +Decode everything exactly as it is in the table, +without trying to fix up common mistakes +or hide irrelevant fields. This mode is primarily aimed at firmware developers. .TP -.BR "-s" ", " "--string \fIKEYWORD\fP" +.BR "\-s" ", " "\-\-string \fIKEYWORD\fP" Only display the value of the \s-1DMI\s0 string identified by \fIKEYWORD\fP. It must be a keyword from the following list: .nh @@ -113,33 +126,35 @@ firmware (regardless of it technically i while "firmware" designates the embedded controller firmware, if applicable. Each keyword corresponds to a given \s-1DMI\s0 type and a given offset within this entry type. -Not all strings may be meaningful or even defined on all systems. Some -keywords may return more than one result on some systems (e.g. +Not all strings may be meaningful or even defined on all systems. +Some keywords may return more than one result on some systems +(e.g., .nh .B processor\-version .hy on a multi-processor system). -If \fIKEYWORD\fP is not provided or not valid, a list of all valid -keywords is printed and +If \fIKEYWORD\fP is not provided or not valid, +a list of all valid keywords is printed and .B dmidecode exits with an error. This option cannot be used more than once. -Note: on Linux, most of these strings can alternatively be read directly -from +Note: on Linux, +most of these strings can alternatively be read directly from .BR sysfs , typically from files under .IR /sys/devices/virtual/dmi/id . Most of these files are even readable by regular users. .TP -.BR " " " " "--list-strings" -List available string keywords, which can then be passed to the \fB--string\fP -option. -.TP -.BR "-t" ", " "--type \fITYPE\fP" -Only display the entries of type \fITYPE\fP. It can be either a -\s-1DMI\s0 type number, or a comma-separated list of type numbers, or a -keyword from the following list: +.BR " " " " "\-\-list-strings" +List available string keywords, +which can then be passed to the \fB\-\-string\fP option. +.TP +.BR "\-t" ", " "\-\-type \fITYPE\fP" +Only display the entries of type \fITYPE\fP. +It can be either a \s-1DMI\s0 type number, +or a comma-separated list of type numbers, +or a keyword from the following list: .nh .BR bios , .BR system , @@ -169,49 +184,54 @@ option. Only display the entry whose handle matches \fIHANDLE\fP. \fIHANDLE\fP is a 16-bit integer. .TP -.BR "-u" ", " "--dump" -Do not decode the entries, dump their contents as hexadecimal instead. -Note that this is still a text output, no binary data will be thrown upon -you. The strings attached to each entry are displayed as both -hexadecimal and \s-1ASCII\s0. This option is mainly useful for debugging. -.TP -.BR " " " " "--dump-bin \fIFILE\fP" -Do not decode the entries, instead dump the DMI data to a file in binary -form. The generated file is suitable to pass to \fB--from-dump\fP -later. +.BR "\-u" ", " "\-\-dump" +Do not decode the entries, +dump their contents as hexadecimal instead. +Note that this is still a text output, +no binary data will be thrown upon you. +The strings attached to each entry +are displayed as both hexadecimal and \s-1ASCII\s0. +This option is mainly useful for debugging. +.TP +.BR " " " " "\-\-dump-bin \fIFILE\fP" +Do not decode the entries, +instead dump the DMI data to a file in binary form. +The generated file is suitable to pass to \fB\-\-from-dump\fP later. \fIFILE\fP must not exist. .TP -.BR " " " " "--from-dump \fIFILE\fP" +.BR " " " " "\-\-from-dump \fIFILE\fP" Read the DMI data from a binary file previously generated using -\fB--dump-bin\fP. +\fB\-\-dump-bin\fP. .TP -.BR " " " " "--no-sysfs" -Do not attempt to read DMI data from sysfs files. This is mainly useful for -debugging. -.TP -.BR " " " " "--oem-string \fIN\fP" -Only display the value of the \s-1OEM\s0 string number \fIN\fP. The first -\s-1OEM\s0 string has number \fB1\fP. With special value \fBcount\fP, return the -number of OEM strings instead. +.BR " " " " "\-\-no-sysfs" +Do not attempt to read DMI data from sysfs files. +This is mainly useful for debugging. +.TP +.BR " " " " "\-\-oem-string \fIN\fP" +Only display the value of the \s-1OEM\s0 string number \fIN\fP. +The first \s-1OEM\s0 string has number \fB1\fP. +With special value \fBcount\fP, +return the number of OEM strings instead. .TP -.BR "-h" ", " "--help" +.BR "\-h" ", " "\-\-help" Display usage information and exit .TP -.BR "-V" ", " "--version" +.BR "\-V" ", " "\-\-version" Display the version and exit .P Options -.BR --string , -.BR --type, -.BR --dump-bin " and " --oem-string +.BR \-\-string , +.BR \-\-type, +.BR \-\-dump-bin " and " \-\-oem-string determine the output format and are mutually exclusive. .P Please note in case of .B dmidecode -is run on a system with firmware that boasts new SMBIOS specification, which -is not supported by the tool yet, it will print out relevant message in -addition to requested data on the very top of the output. Thus informs the -output data is not reliable. +is run on a system with BIOS that boasts new SMBIOS specification, +which is not supported by the tool yet, +it will print out relevant message +in addition to requested data on the very top of the output. +Thus informs the output data is not reliable. .\" .SH "DMI TYPES" The \s-1SMBIOS\s0 specification defines the following \s-1DMI\s0 types: @@ -265,13 +285,15 @@ Type Information 42 Management Controller Host Interface .TE -Additionally, type 126 is used for disabled entries and type 127 is an -end-of-table marker. Types 128 to 255 are for \s-1OEM\s0-specific data. +Additionally, type 126 is used for disabled entries +and type 127 is an end-of-table marker. +Types 128 to 255 are for \s-1OEM\s0-specific data. .B dmidecode -will display these entries by default, but it can only decode them +will display these entries by default, +but it can only decode them when the vendors have contributed documentation or code for them. -Keywords can be used instead of type numbers with \fB--type\fP. +Keywords can be used instead of type numbers with \fB\-\-type\fP. Each keyword is equivalent to a list of type numbers: .TS @@ -290,18 +312,20 @@ connector 8 slot 9 .TE -Keywords are matched case-insensitively. The following command lines are equivalent: +Keywords are matched case-insensitively. +The following command lines are equivalent: .IP \(bu "\w'\(bu'u+1n" -dmidecode --type 0 --type 13 +dmidecode \-\-type 0 \-\-type 13 .IP \(bu -dmidecode --type 0,13 +dmidecode \-\-type 0,13 .IP \(bu -dmidecode --type bios +dmidecode \-\-type bios .IP \(bu -dmidecode --type BIOS +dmidecode \-\-type BIOS .\" .SH BINARY DUMP FILE FORMAT -The binary dump files generated by \fB--dump-bin\fP and read using \fB--from-dump\fP +The binary dump files generated by \fB\-\-dump-bin\fP +and read using \fB\-\-from-dump\fP are formatted as follows: .IP \(bu "\w'\(bu'u+1n" The SMBIOS or DMI entry point is located at offset 0x00. @@ -310,18 +334,27 @@ It is crafted to hard-code the table add The DMI table is located at offset 0x20. .\" .SH UUID FORMAT -There is some ambiguity about how to interpret the UUID fields prior to SMBIOS -specification version 2.6. There was no mention of byte swapping, and RFC 4122 -says that no byte swapping should be applied by default. However, SMBIOS -specification version 2.6 (and later) explicitly states that the first 3 fields -of the UUID should be read as little-endian numbers (byte-swapped). -Furthermore, it implies that the same was already true for older versions of -the specification, even though it was not mentioned. In practice, many hardware -vendors were not byte-swapping the UUID. So, in order to preserve -compatibility, it was decided to interpret the UUID fields according to RFC -4122 (no byte swapping) when the SMBIOS version is older than 2.6, and to -interpret the first 3 fields as little-endian (byte-swapped) when the SMBIOS -version is 2.6 or later. The Linux kernel follows the same logic. +There is some ambiguity about how to interpret the UUID fields prior to +SMBIOS specification version 2.6. +There was no mention of byte swapping, +and RFC 4122 says that no byte swapping should be applied by default. +However, SMBIOS specification version 2.6 (and later) +explicitly states +that the first 3 fields of the UUID should be read as little-endian numbers +(byte-swapped). +Furthermore, +it implies that the same was already true for older versions of the +specification, +even though it was not mentioned. +In practice, many hardware vendors were not byte-swapping the UUID. +So, in order to preserve compatibility, +it was decided to interpret the UUID fields according to RFC 4122 +(no byte swapping) +when the SMBIOS version is older than 2.6, +and to interpret the first 3 fields as little-endian +(byte-swapped) +when the SMBIOS version is 2.6 or later. +The Linux kernel follows the same logic. .\" .SH FILES .I /dev/mem @@ -333,7 +366,8 @@ version is 2.6 or later. The Linux kerne (Linux only) .\" .SH BUGS -More often than not, information contained in the \s-1DMI\s0 tables is inaccurate, +More often than not, +information contained in the \s-1DMI\s0 tables is inaccurate, incomplete or simply wrong. .\" .SH AUTHORS