Bluetooth - Bluetooth 2.1 Logo Tests (Windows v6.3)
This automated test verifies that mandatory Bluetooth 2.1 features are implemented, such as Secure Simple Pairing (SSP) and Extended Inquiry Response (EIR). Certification tests verify the previous features by running different combinations of tests on selected Bluetooth hardware.
Test details
Associated requirements |
Device.BusController.Bluetooth.Base.4LeSpecification Device.BusController.Bluetooth.Base.SupportsBluetooth21AndEdr |
Platforms |
Windows RT 8.1 Windows 8.1 x64 Windows 8.1 x86 |
Expected run time |
~30 minutes |
Categories |
Certification Functional |
Type |
Automated |
Running the test
Before you run the test, complete the test setup as described in the test requirements: Bluetooth Controller Testing Prerequisites.
This test requires two test computers (one acts as Primary, the other Secondary). The test computers must have the same operating system and have a Bluetooth 2.1 compliant radio. The primary test computer must have the radio being certified for logo (Device Under Test).
The Bluetooth radio must use the Microsoft Bluetooth Driver Stack for testing.
Enabling collection of Event Tracing for Windows (ETW) traces assists with diagnosing test failures.
These traces capture the HCI traffic sent to and from the Bluetooth stack. They can be decoded using Netmon and the Bluetooth ETW parsers. It is recommended to first investigate the issue internally using these traces or some other method of capturing over-the-air traces because many controller/stack inter-operability issues can be observed in these traces.
You can view the collected logs using Netmon and the Bluetooth NPL parsers. These parsers can be obtained through installing the WDK.
Troubleshooting
For troubleshooting information, see Troubleshooting Bus Controller Testing.
More information
Tests are copied locally to the WTTJobsWorking directory and logs are copied to the default Logs server. This test completes the following individual test cases:
Test ID | Title | Description | Procedures | Timeout (seconds) |
---|---|---|---|---|
VerifyAuthForAuthMethOOB |
Verify that authentication succeeds for authentication method OOB |
Verify authentication procedure when out-of-band data is present |
Master initiates the authentication. Master uses subordinate OOB data for authentication. Verify callback function registered should not be called. Verify authentication successes for authentication method OOB |
100 |
VerifyEventLogNotGenForDebugEnabled |
Verify event log message is not generated on debug system when both of the system is in debug enabled mode |
Verify debug mode supported by BT radio |
Master and subordinate registers for authentication. Master and subordinate is in debug mode and initiates the authentication. Verify that authentication succeed and on no event log is generated on both computers. |
120 |
VerifyAuthForIOCapMxSx |
Verify authentication procedure for various authentication method as defined in BT specification when different IO capability is specified by system |
Possible IO capabilities are as follows:
|
In Test names M stands for Master Device IO capability and S stands for Subordinate Device IO Capability |
[This content isn't available yet.] |
VerifyAuthForIOCapM0S0 |
Verify authentication successes for authentication method LEGACY when master and subordinate has device capability set to NoInputNoOutput |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities DisplayOnly for master and subordinate |
Master and subordinate registers for authentication. Master initiates the authentication and Subordinate accepts authentication request and sent positive response. Verify that authentication succeed
Warning
Make sure that the correct configuration test case is executed before setting I/O capabilities |
100 |
VerifyAuthForIOCapM0S1 |
Verify authentication successes for IOCapabilities DisplayOnly for master and DisplayYesNo for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities DisplayOnly for master and DisplayYesNo for subordinate |
Master and subordinate registers for authentication with IOCapabilities DisplayOnly on master and DisplayYesNo on Subordinate. Master initiates the authentication, subordinateaccepts authentication request and sent positive response. Verify that authentication succeed |
100 |
VerifyAuthForIOCapM0S2 |
Verify authentication successes for IO capabilities DisplayOnly for master and KeyboardOnly for subordinate.
Warning
See VerifyAuthForIOCapMxSx Tests Description |
Verify authentication successes for IOCapabilities DisplayOnly for master and KeyBoardOnly for subordinate |
Master and subordinate registers for authentication with IOCapabilities display only on master and Display YesNo on Subordinate. Master initiates the authentication, Subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM0S3 |
Verify authentication successes for IO capabilities DisplayOnly for master and NoInputNoOutput for subordinate |
See VerifyAuthForIOCapMxSx Tests Description Verify authentication successes for IOCapabilities DisplayOnly for master and NoInputNoOutput for subordinate |
Master and subordinate registers for authentication with IOCapabilities display only on master and NoInputNoOutput on Subordinate. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM1S0 |
Verify authentication successes for IO capabilities DisplayYesNo for master and DisplayOnly for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities DisplayYesNo for master and DisplayOnly for subordinate. |
Master and subordinate registers for authentication with IOCapabilities display only on both. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM1S1 |
Verify authentication successes for IO capabilities DisplayYesNo for both master and subordinate |
See VerifyAuthForIOCapMxSx Tests Description Verify authentication successes for IOCapabilities DisplayYesNo for master and subordinate. |
Master and subordinate registers for authentication with IOCapabilities displayYesNo on both. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM1S2 |
Verify authentication successes for IO capability DisplayYesNo for master and KeyboardOnly for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities DisplayYesNo for master and KeyBoardOnly for subordinate |
Master and subordinate registers for authentication with IOCapabilities DisplayYesNo for master and KeyBoardOnly on SubordinateMaster initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM1S3 |
Verify authentication successes for IO capabilities DisplayYesNo for master and NoInputNoOutput for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities DisplayYesNo for master and KeyBoardOnly for subordinate |
Master and subordinate registers for authentication with IOCapabilities display YesNo on master and NoInputNoOutput on SubordinateMaster initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM2S0 |
Verify authentication successes for IOCapabilities KeyBoardOnly for master and DisplayOnly for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities KeyBoardOnly for master and DisplayOnly for subordinate. |
Master and subordinate registers for authentication with IOCapabilities KeyBoardOnly on master and DisplayOnly on Subordinate Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM2S1 |
Verify authentication successes for IOcapabilities KeyBoardOnly for master and DisplayYesNo for subordinate |
See VerifyAuthForIOCapMxSx Tests Description Verify authentication successes for IOCapabilities KeyBoardOnly for master and DisplayYesNo for subordinate |
Master and subordinate registers for authentication with IOcapabilities KeyBoardOnly for master and DisplayYesNo for subordinate. Master initiates the authentication subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM2S2 |
Verify authentication successes for IO capabilities KeyBoardOnly for master and subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities KeyBoardOnly for master and DisplayYesNo for subordinate. |
Master and subordinate registers for authentication with IOCapabilities KeyBoardOnly on both. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM2S3 |
Verify authentication successes for IO capabilities KeyBoardOnly for master and NoInputNoOutput for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities KeyBoardOnly for Master and NoInputNoOutput for subordinate. |
Master and subordinate registers for authentication with IOCapabilities KeyBoardOnly on master and NoInputNoOutput on Subordinate Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM3S0 |
Verify authentication successes for IO capabilities NoInputNoOutput for master and DisplayOnly for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities NoInputNoOutput for Master and DisplayOnly for subordinate. |
Master and subordinate registers for authentication with IOCapabilities NoInputNoOutput for master and DisplayOnly for Subordinate. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM3S1 |
Verify authentication successes for IO capability NoInputNoOutput for master and DisplayYesNo for subordinate |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities NoInputNoOutput for Master and DisplayYesNo for subordinate |
Master and subordinate registers for authentication with IOCapabilities NoInputNoOutput for master and DislpayYesNo for Subordinate. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM3S2 |
Verify authentication successes for IO capabilities NoInputNoOutput for master and KeyBoradOnly for Subordinate. |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities NoInputNoOutput for Master and KeyBoardOnly for subordinate. |
Procedures: Master and subordinate registers for authentication with IOCapabilities NoInputNoOutput for Master and KeyBoardOnly for Subordinate. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
VerifyAuthForIOCapM3S3 |
Verify authentication successes for IO capabilities NoInputNoOutput for master and Subordinate. |
See VerifyAuthForIOCapMxSx Tests Description. Verify authentication successes for IOCapabilities NoInputNoOutput for Master and Subordinate. |
Master and subordinate registers for authentication with IOCapabilities NoInputNoOutput for both Master and Subordinate. Master initiates the authentication, subordinate accepts authentication request and sent positive response. Verify that authentication succeed. |
100 |
EIREE1.1 |
Complete EIR name is present and not null |
Complete EIR name is present and not null |
[This content isn't available yet.] |
250 |
EIREE1.2 |
Partial EIR name is present and not null |
Partial EIR name is present and not null |
[This content isn't available yet.] |
250 |
EIREE1.3 |
Complete EIR name is present and null. |
Complete EIR name is present and null |
[This content isn't available yet.] |
110 |
EIREE1.4 |
Partial EIR name is present and null |
Partial EIR name is present and null |
[This content isn't available yet.] |
125 |
Parameters
Parameter | Description |
---|---|
ENABLETRACING |
Enables collection of ETW traces. If True, the ETW traces are enabled on the collection. If False, the ETW traces on the collection are turned off. Default value: False |
Command syntax
Command option | Description |
---|---|
Mjolnir |
Runs TCM file test cases |
-m [test machine name] |
Test machine name |
-c [string] |
TCM file name |
-l [string] |
Log file name |
Note
For command line help for this test binary, type /h.
File list
File | Location |
---|---|
BTHLOGO.tcm |
<[testbinroot]>\nttest\driverstest\bluetooth_test\tcm |
Hct.tcm |
<[testbinroot]>\nttest\driverstest\bluetooth_test\tcm |
Mjolnir.exe |
<[testbinroot]>\nttest\driverstest\bluetooth_test |
Scatternet.tcm |
<[testbinroot]>\nttest\driverstest\bluetooth_test\tcm |
Sco_hct.tcm |
<[testbinroot]>\nttest\driverstest\bluetooth_test\tcm |
Testutils.dll |
<[testbinroot]>\nttest\driverstest\bluetooth_test |
testutilsu.dll |
<[testbinroot]>\nttest\driverstest\bluetooth_test |