## page was renamed from Kernel/Reference/fwts/dmicheck == Firmware Test Suite - dmicheck test == This test combines [[Kernel/Reference/fwts/dmi_decode|dmi_decode]] and [[Kernel/Reference/fwts/smbios|smbios]] and is designed to sanity check the SMBIOS data. It scans for the SMBIOS header, parses the output from the dmidecode tool and checks for any warnings, errors or bad default values in the [[http://en.wikipedia.org/wiki/Desktop_Management_Interface|Desktop Management Interface]] (DMI) tables. The test scans all know DMI types. Example output: {{{ dmicheck: Test DMI/SMBIOS tables for errors. ---------------------------------------------------------------------------------------------------- Test 1 of 2: Find and Check SMBIOS Table Entry Point. This test tries to find and sanity check the SMBIOS data structures. PASSED: Test 1, Found SMBIOS Table Entry Point at 0xf0480 SMBIOS Entry Point Structure: Anchor String : _SM_ Checksum : 0xc2 Entry Point Length : 0x1f Major Version : 0x02 Minor Version : 0x07 Maximum Struct Size : 0xb8 Entry Point Revision : 0x00 Formatted Area : 0x00 0x00 0x00 0x00 0x00 Intermediate Anchor : _DMI_ Intermediate Checksum : 0x3e Structure Table Length : 0x0c15 Structure Table Address: 0x000e92f0 # of SMBIOS Structures : 0x0052 SBMIOS BCD Revision : 27 PASSED: Test 1, SMBIOS Table Entry Point Checksum is valid. PASSED: Test 1, SMBIOS Table Entry Point Length is valid. PASSED: Test 1, SMBIOS Table Entry Intermediate Anchor String _DMI_ is valid. PASSED: Test 1, SMBIOS Table Entry Point Intermediate Checksum is valid. PASSED: Test 1, SMBIOS Table Entry Structure Table Address and Length looks valid. Test 2 of 2: Test DMI/SMBIOS tables for errors. PASSED: Test 2, Entry @ 0x000e92f0 'BIOS Information (Type 0)' PASSED: Test 2, Entry @ 0x000e946f 'Cache Information (Type 7)' PASSED: Test 2, Entry @ 0x000e9493 'Cache Information (Type 7)' PASSED: Test 2, Entry @ 0x000e94b7 'Cache Information (Type 7)' PASSED: Test 2, Entry @ 0x000e94db 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e94f3 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e950b 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9521 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9537 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e954d 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9561 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9575 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9589 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e95a2 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e95c5 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e95de 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e95f8 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9612 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9627 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9643 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e965f 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9680 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e969d 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e96bc 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e96d5 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e96eb 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9704 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e971d 'Port Connector Information (Type 8)' PASSED: Test 2, Entry @ 0x000e9736 'System Slot Information (Type 9)' PASSED: Test 2, Entry @ 0x000e9756 'System Slot Information (Type 9)' PASSED: Test 2, Entry @ 0x000e9778 'System Slot Information (Type 9)' PASSED: Test 2, Entry @ 0x000e979a 'System Slot Information (Type 9)' PASSED: Test 2, Entry @ 0x000e97bd 'On Board Devices (Type 10)' PASSED: Test 2, Entry @ 0x000e9818 'Physical Memory Array (Type 16)' PASSED: Test 2, Entry @ 0x000e9831 '32-bit Memory Error Information (Type 18)' PASSED: Test 2, Entry @ 0x000e984a 'Memory Array Mapped Address (Type 19)' PASSED: Test 2, Entry @ 0x000e986b 'Memory Device (Type 17)' PASSED: Test 2, Entry @ 0x000e98d4 '32-bit Memory Error Information (Type 18)' PASSED: Test 2, Entry @ 0x000e98ed 'Inactive (Type 126)' PASSED: Test 2, Entry @ 0x000e9912 'Memory Device (Type 17)' PASSED: Test 2, Entry @ 0x000e997b '32-bit Memory Error Information (Type 18)' PASSED: Test 2, Entry @ 0x000e9994 'Memory Device Mapped Address (Type 20)' PASSED: Test 2, Entry @ 0x000e99b9 'Memory Device (Type 17)' PASSED: Test 2, Entry @ 0x000e9a22 '32-bit Memory Error Information (Type 18)' PASSED: Test 2, Entry @ 0x000e9a3b 'Inactive (Type 126)' PASSED: Test 2, Entry @ 0x000e9a60 'Memory Device (Type 17)' PASSED: Test 2, Entry @ 0x000e9ac9 '32-bit Memory Error Information (Type 18)' PASSED: Test 2, Entry @ 0x000e9ae2 'Memory Device Mapped Address (Type 20)' PASSED: Test 2, Entry @ 0x000e9b07 'System Boot Information (Type 32)' PASSED: Test 2, Entry @ 0x000e9b1d 'Management Device (Type 34)' PASSED: Test 2, Entry @ 0x000e9bf2 'Management Device Threshold Data (Type 36)' PASSED: Test 2, Entry @ 0x000e9cbd 'Voltage Probe (Type 26)' PASSED: Test 2, Entry @ 0x000e9cda 'Temperature Probe (Type 28)' PASSED: Test 2, Entry @ 0x000e9cf7 'Cooling Device (Type 27)' PASSED: Test 2, Entry @ 0x000e9d15 'Electrical Current Probe (Type 29)' PASSED: Test 2, Entry @ 0x000e9de8 'Onboard Device (Type 41)' PASSED: Test 2, Entry @ 0x000e9e01 'Onboard Device (Type 41)' PASSED: Test 2, Entry @ 0x000e9e1a 'Onboard Device (Type 41)' PASSED: Test 2, Entry @ 0x000e9e34 'Processor Information (Type 4)' PASSED: Test 2, Entry @ 0x000e9e96 'BIOS Language Information (Type 13)' PASSED: Test 2, Entry @ 0x000e9ebd 'Unknown (Type 131)' PASSED: Test 2, Entry @ 0x000e9eff 'End of Table (Type 127)' ==================================================================================================== 72 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only. ==================================================================================================== }}} === Examples: === {{{ sudo fwts dmicheck - }}} ..runs the test on your machine and dumps the output to stdout. {{{ sudo fwts dmicheck }}} ..runs the test on your machine and appends the output to results.log. == Explanation of test results == Certain test results may require a little more explanation. This section will try and give some context to specific test failures. ||Error ID||Explanation|| ||SMBIOSNoEntryPoint||Could not find the SMBIOS header. This header is located on 16 byte boundaries and starts with 4 bytes: "_SM_". For legacy BIOS the header is normally found in the region 0x000e0000..0x000fffff and UEFI systems the address is found in the SMBIOS field of /sys/firmware/efi/systab.|| ||NoSMBIOSorDMIentry||No SMBIOS or DMI entry points found. Best to check SMBIOS entry points with the fwts smbios test.|| ||DMI``Bad``Struct``Count||Wrong DMI structures count. Could be a mis-configured DMI table|| ||DMI``Bad``Struct``Length||Bad DMI structure size.|| ||DMI``Out``Of``Spec||A value is outside of the valid values allowed in the specification.|| ||DMI``Bad``Index||A DMI string is not correctly terminated.|| ||DMI``Checksum||Bad DMI structure checksum.|| ||DMI``Asset``Tag||A DMI Asset Tag has been left as the default 1234567890 and should have been defined.|| ||DMI``UUID||A DMI UUID has been left as the default 0A0A0A0A-0A0A-0A0A-0A0A-0A0A0A0A0A0A and should have been defined.|| ||DMI``Bad``Default||A DMI field has been left as the default 'To Be Filled By O.E.M.' and should have been defined.|| ||DMI``Invalid``Hardware``Entry||A DMI device definition does not match to actual hardware.||