Man Linux: Main Page and Category List


       fwts - a firmware test suite to identify firmware bugs.


       fwts [options] [test(s)]


       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).


       fwts options are as follow:

       -a, --all
              run all the tests.

       -b, --batch
              run the non-interactive batch tests. Batch tests require no user

              run only batch experimental tests.

              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.

              specify the full path and filename to the the dmidecode  binary.

              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
              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

       -f, --force-clean
              creates  a  new  results log file, rather than just appending to
              any existing one (default).

              enable the internal debugger. This dumps  debug  information  to

       -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.

              run only interactive experimental tests.

              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.

              show the available log filtering fields. Specifying these fields
              with --log-filter to select which fields one wants to log.

              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

              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): "

              specify the full path and filename to the the lspci binary.

              do not run the S3 suspend/resume tests

              do not run the S4 hibernate/resume tests

       -P, --power-states
              run S3 and S4 power state tests (s3, s4 tests)

              no pretty printing of horizontal separators in the  results  log

       -r, --results-output=filename
              specify  the  results  output  log  file.   One can also specify
              stdout and stderr to redirect to these output streams.

              time to be added onto delay between each S3 iteration.

              minimum time between S3 iterations.

              maximum time between S3 iterations.

              specified the number of multiple S3 suspend/resume tests to run.
              The default is 2 tests.

              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.

              output SUCCESS or FAILED to stdout at end of tests.

              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

       -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.


       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
               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
               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

       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


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


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

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

                                 July 8, 2010