Firmware Test Suite - checksum test

This test sanity checks the checksum in the ACPI tables in the firmware. Each table contains an 8 bit checksum value that is set so the 8 bit sum of all bytes in a table is zero. The RSD PTR (Root System Discriptor Pointer) is a special case as it has an 8 bit checksum in ACPI 1.0 and also an extended checksum for ACPI 2.0 and higher.


sudo fwts checksum - 

..runs the checksum test on your machine and dumps the output to stdout.

fwts checksum --dumpfile=apcidump.dat -

..runs the test using ACPI tables in the dump file acpidump.dat as the input and dumps the test results to stdout.

sudo acpidump > acpidump.dat
fwts checksum --dumpfile=acpidump.dat

..dumps the tables using acpidump and loads them in and runs the test with results appended to results.log

sudo fwts --dump
fwts checksum --dumpfile=acpidump.log -

..dumps the tables using fwts and loads them in and runs the test with results going to stdout.

Explanation of test results

A failed checksum in the RSD PTR means that the kernel will ignore this as an invalid table, and no more sibling ACPI tables will be located. This means that ACPI functionality will be completely broken on the machine. The Linux ACPI driver will ignore all other table checksum errors. A checksum failure could be because of a typo or miscalculated checksum during the development of the firmware, or (unlikely) a corrupted table.

FirmwareTestSuite/Reference/checksum (last edited 2016-01-11 07:25:40 by anthonywong)