fwts

Langue: en

Version: July 8, 2010 (ubuntu - 24/10/10)

Section: 1 (Commandes utilisateur)

NAME

fwts - a firmware test suite to identify firmware bugs.

SYNOPSIS

fwts [options] [test(s)]

DESCRIPTION

This manual page documents briefly the fwts firmware test suite. The tool fwts is comprised of over thirty tests that are designed to exercise and test different aspects of a machine's firmwarm. Many of these tests need super user access to extract tables and interact with the firmware and ACPI, so running fwts using sudo is required.
Running fwts with no options will run through all the batch tests that require no user interaction. However, one can specify the tests one wants to test and also run interactive tests (such as checking for hotkey events, lid open/close events, etc.) if required.

By default fwts outputs the test results into the log file results.log however a different log file name can be specified and if required, output to stderr or stdout can be selected.

Note that there a variety of tests, including tests that can potentially hang a machine (such as a suspend/hibernate/resume).

OPTIONS

fwts options are as follow:
-a, --all
run all the tests.
-b, --batch
run the non-interactive batch tests. Batch tests require no user interaction.
--batch-experimental
run only batch experimental tests.
--debug-output=file
when running with --fwts-debug this option specifies where the debug output will be written to. One can also specify stdout and stderr to redirect to these output streams.
--dmidecode=file
specify the full path and filename to the the dmidecode binary.
--dsdt=file
specify DSDT file rather than reading it from the ACPI table on the machine. Deprecated.
-d, --dump
extracts firmware data and dumps it into log files. This generates:
acpidump.log - containing a hex dump of the ACPI tables (which can be read using acpixtract).
dmesg.log - containing the current kernel log messages.
dmidecode.log - containing the output from dmidecode.
lspci.log - containing the output from lspci -vv -nn
README.txt - containing a timestamp and kernel version information.
-f, --force-clean
creates a new results log file, rather than just appending to any existing one (default).
--fwts-debug
enable the internal debugger. This dumps debug information to stderr.
-h, --help
outputs the internal help page.
--iasl
specify the full path and filename to the the iasl binary.
-i, --interactive
run the interactive tests. These tests require user interaction.
--interactive-experimental
run only interactive experimental tests.
--klog=file
read the kernel log from the specified file rather than from the kernel log ring buffer. This allows one to run the kernel log scanning tests such as klog against pre-gathered log data.
--log-fields
show the available log filtering fields. Specifying these fields with --log-filter to select which fields one wants to log.
--log-filter
specify which particular types of log data to be output into the log file. Each line of log data is tagged with a special marker depending on what type of log information is being output. The available types can be see by using --log-fields. Specify the desired log types with comma separated list. To disable a field, prefix the name with ~, for example:
--log-filter=RES,SUM logs just the results and summary lines.
--log-filter=ALL,~INF logs all lines except for the information lines.
--log-format
specify the information in each log line. The following specifiers are available:
%data - date
%time - time
%field - log-filter fields
%owner - name of the test routine
%level - test failure level
%line - log line
e.g. --log-format="%date %time [%field] (%owner): "
--lspci=path
specify the full path and filename to the the lspci binary.
--no-s3
do not run the S3 suspend/resume tests
--no-s4
do not run the S4 hibernate/resume tests
-P, --power-states
run S3 and S4 power state tests (s3, s4 tests)
--results-no-separators
no pretty printing of horizontal separators in the results log file.
-r, --results-output=filename
specify the results output log file. One can also specify stdout and stderr to redirect to these output streams.
--s3-delay-delta=N
time to be added onto delay between each S3 iteration.
--s3-min-delay=N
minimum time between S3 iterations.
--s3-max-delay=N
maximum time between S3 iterations.
--s3-multiple=N
specified the number of multiple S3 suspend/resume tests to run. The default is 2 tests.
--s4-multiple=N
specified the number of multiple S4 hibernate/resume tests to run. The default is 2 tests.
-p, --show-progress
show the progress of the tests being run. Each test will identified as it is being run. For long tests, a percentage of completion time will be displayed.
-s, --show-tests
show the names of all the available tests. By default will show all tests. Use the --batch, --interactive, --batch-experimental, --interactive-experimental options to show these specific tests.
--stdout-summary
output SUCCESS or FAILED to stdout at end of tests.
--table-path=path
specify the path containing ACPI tables. These tables need to be named in the format: tablename.dat, for example DSDT.dat, for example, as extracted using acpidump or fwts --dump and then acpixtract.
-v, --version
output version number and build date of the fwts tool.
-w, --width=N
specify the width in characters of the output logfile. The default is 130.

EXAMPLES

Run all the batch tests except for S3 and S4 tests and append the results into the default log results.log:

sudo fwts --no-s3 --no-s4

Run all the interactive tests and start a clean results log called interactive.log:

sudo fwts -i -f -r interactive.log

Run all the tests, interactive and batch:

sudo fwts -i -b

Run just the battery and cpufreq tests:

sudo fwts battery cpufreq

Run all the batch tests and define a new log format using just the date and line number:

sudo fwts --log-format="%date %line: "

Run all the interative tests and log just the results, info and summary data:

sudo fwts -i --log-filter=RES,INF,SUM

Dump all the interesting firmware information into log files for analysis later:

sudo fwts --dump

View kernel and ACPI driver version and BIOS information:

sudo fwts -w 80 -r stdout version bios_info --log-filter=INF --log-format=""

Show the batch and batch experimental tests:

fwts --show-tests --batch --batch-experimental

Run multiple S3 tests with delay between each test ranging from 1 second to 10 seconds with a delay delta per test of 0.2 seconds

sudo fwts s3 --s3-multiple=100 --s3-min-delay=1 --s3-max-delay=10 --s3-delay-delta=0.2

SEE ALSO

iasl(1), acpixtract(1), acpidump(1), dmidecode(8), lspci(8)

AUTHOR

fwts was written by Colin King <colin.king@canonical.com> with a lot of the original test code derived from the Intel Linux Firmware test kit.

This manual page was written by Colin King <colin.king@canonical.com>, for the Ubuntu project (but may be used by others).