## page was renamed from Kernel/Reference/fwts/pnp
== Firmware Test Suite - pnp test ==

This test dumps and sanity checks specific fields in the Plug and Play BIOS
Support Installation Check structure as described in Section 4.4 "Plug and Play
Installation Check" of version 1.0A of the [[Plug and Play BIOS Specification||www.osdever.net/documents/PNPBIOSSpecification-v1.0a.pdf)]].

Currently just three specific tests are performed:

 * Check version number is 1.0
 * Check PnP structure is correct size
 * Check the event notification address is defined in polling mode is set in the control field

Typical output from this test is as follows:

{{{
Check BIOS Support Installation structure.
--------------------------------------------------------------------------------
Test 1 of 1: Check PnP BIOS Support Installation structure.
This test tries to find and sanity check the Plug and Play BIOS Support
Installation Check structure. 

Found PnP Installation Check structure at 0x000f08f0
  Signature                          : $PnP
  Version                            : 0x10 (1.0)
  Length                             : 0x0021 bytes
  Control Field                      : 0x0000 (Not supported)
  Event Notification Flag Address    : 0x000f0000
  Real Mode 16 bit Code Address      : 0xf000:093d
  Real Mode 16 bit Data Address      : 0xf000:0000
  16 bit Protected Mode Code Address : 0x000f0918
  16 bit Protected Mode Data Address : 0x000f0000
  OEM Device Identifier              : 0x00000000 (undefined)

PASSED: Test 1, Version 1.0 detected.
PASSED: Test 1, PnP Installation Check structure is the correct length of 33
bytes.

================================================================================
2 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
================================================================================
}}}

=== Examples: ===

{{{
sudo fwts pnp - 
}}}

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

{{{
sudo fwts pnp
}}}

..runs the pnp test on your machine and appends the output to the default logfile 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||
||PNP``Struct``Bad``Version||Bad version number, not 1.0.||
||PNP``Struct``Bad``Length||Structure is not 33 (0x21) bytes long.||
||PNP``Struct``Bad``Flag``Addr||Polling mode is indicated by the control field by the event notification address is NULL and should be defined.||