The FirmWare Test Suite (fwts) is a tool I've been working on to do automatic testing of a PC's firmware. There can be a lot of subtle or vexing Linux Kernel/firmware issues caused when firmware is buggy, so it's useful to have a tool that can automatically check for common BIOS and ACPI errors. Where possible the tool will give some form of advice on how to fix issues or workaround firmware issues.
It's packaged up and in Maverick universe, you can install it using:
sudo apt-get install fwts
To see the tests available in the tool use:
There are over 30 tests and I hope to expand this every time I find new firmware issues which can be diagnosed automatically in a tool.
To run a test use, for example the ACPI AML syntax checking test use:
sudo fwts syntaxcheck
There are categories of tests, for example, by default fwts will run batch mode tests which run without the need of user intervention. Some tests, such as checking the laptop lid works or hotkeys requires user intervention - these are interactive tests and can be invoked using:
sudo fwts --interactive
By default the tool will append the test results into a log file called results.log. This logs the date/time the test was run, the name of the test and the test results and hopefully some useful advice if a test fails.
I suggest checking out the manual page to see some examples how to fully drive this tool.
Quite a lot of the tests have been picked up from the core of linuxfirmwarekit.org, but I've added a bunch more tests, and expanded the types of errors it checks for and the feedback advice it reports. I've targeted fwts to run with the Maverick 2.6.35 kernel but it should work fine on Lucid kernels too. I've written fwts with command line driven test framework to run the tests mainly to allow fwts to easily plug into more powerful test frameworks.
If you want to run the tool from a bootable USB flash key, then one can download a i386 or amd64 image and dd it to a USB flash key.
sudo dd if=maverick-desktop-i386-fwts.img of=/dev/sdX
where /dev/sdX is the block device of your USB flash key
then boot off this USB flash key and let it run the tests. At the end it will automatically shutdown the PC and you can then remove the key. The key has a FAT formatted partition containing the results of the test in a directory named: fwts/ddmmyyyy/hhmm/results.log, where ddmmyyyy are the digits in the date and hhmm for the time the test was started.
The fwts PPA can be found in the Firmware Testing Team project and the source code is available in a git repository here.
I've also written a short OpenOffice presentation on the tool which also may prove instructive.