Bluetooth - Downlevel - Scatternet Tests (Windows 8)
This automated test checks the Bluetooth's scatternet requirements and verifies that the system that you are testing is using valid Bluetooth specifications.
The test succeeds or fails based on the result of each test case. These results are included in the log file after each test case. Each test case must pass for the overall result to be successful.
Test details
Associated requirements |
Device.BusController.Bluetooth.Base.4LeSpecification Device.BusController.Bluetooth.Base.Scatternet |
Platforms |
Windows RT (ARM-based) Windows 8 (x64) Windows 8 (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 three test computers (one acts as Primary, the other two 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
The Bluetooth host controller must support at least two concurrent piconets (also known as a scatternet). The host controller must also be able to allow the host to join a device that is requesting a connection to the existing piconet when the local radio is the master of that piconet.
You can run this test manually by using the command-line options with three computers (one primary computer and two secondary computers), as follows
On the primary computer, run Mjolnir -c Scatternet -S 2 -l <logFileName>.
On the secondary computer, run Mjolnir -m <PrimaryMachineName>.
To debug test failures, you will need complete log files. The test will generate a text log file that you specify (in the <logFileName> parameter). Please include this file with any questions about failing results. You might also need to include a kernel debugger remote session
This section includes details for each test case initiated by this test.
Overview
c6.1.1 - Basic scatternet 1 test with 512K data transfer
This test verifies that the radio under test is able to become the subordinate role in one piconet while already the master role in another and sustain these roles while transferring data.
Overview
The test case performs the following steps:
Remote 1 attempts to connect to the radio under test.
Radio under test accepts, requesting the master role.
Radio under test attempts to connect to Remote 2.
Remote 2 accepts, requesting the master role.
1 MB of data (512 KB read and 512 KB written) to each of the remote radios.
The links are disconnected.
Results interpretation
The test case writes the pass/fail results to a log file
The test case fails if:
Any of the connection attempts fail.
Any radio is not in the expected role after the connections are established.
The data transfers do not complete successfully.
Disconnect fails.
c6.1.2 - Basic scatternet 1 test with inquiry
This test verifies that the radio under test is able to become the subordinate role in one piconet while already the master role in another and sustain these roles while inquiring for other devices.
Overview
The test case performs the following steps:
Remote 1 attempts to connect to the radio under test.
Radio under test accepts, requesting the master role.
Radio under test attempts to connect to Remote 2.
Remote 2 accepts, requesting the master role.
Radio under test inquires for Remote 1.
Radio under test inquires for Remote 2.
Remote radios 1 and 2 inquire for the radio under test.
The links are disconnected.
Results interpretation
The test case writes the pass/fail results to a log file
The test case fails if:
Any of the connection attempts fail.
Any radio is not in the expected role after the connections are established.
The inquiries fail to find the expected remote device.
Disconnect fails.
c6.2.1 - Basic scatternet 2 test with 512K data transfer
This test verifies that the radio under test is able to become the master role in one piconet while already the subordinate role in another and sustain these roles while transferring data.
Overview
The test case performs the following steps:
Radio under test attempts to connect to Remote 1.
Remote 1 accepts, requesting the master role.
Remote 2 attempts to connect to the radio under test.
Radio under test accepts, requesting the master role.
1 MB of data (512 KB read and 512 KB written) to each of the remote radios.
The links are disconnected.
Results interpretation
The test case writes the pass/fail results to a log file
The test case fails if:
Any of the connection attempts fail.
Any radio is not in the expected role after the connections are established.
The data transfers do not complete successfully.
Disconnect fails.
c6.2.2 - Basic scatternet 2 test with inquiry
This test verifies that the radio under test is able to become the master role in one piconet while already the subordinate role in another and sustain these roles while inquiring for other devices.
Overview
The test case performs the following steps:
Radio under test attempts to connect to Remote 1.
Remote 1 accepts, requesting the master role.
Remote 2 attempts to connect to the radio under test.
Radio under test accepts, requesting the master role.
Radio under test inquires for Remote 1.
Radio under test inquires for Remote 2.
Remote radios 1 and 2 inquire for the radio under test.
The links are disconnected.
Results interpretation
The test case writes the pass/fail results to a log file
The test case fails if:
Any of the connection attempts fail.
Any radio is not in the expected role after the connections are established.
The inquiries fail to find the expected remote device.
Disconnect fails.
c6.3.1 - Basic scatternet 3 test with 512K data transfer
This test verifies that the radio under test is able to become the subordinate role in one piconet while already the subordinate role in another and sustain these roles while transferring data.
Overview
The test case performs the following steps:
Radio under test attempts to connect to Remote 1.
Remote 1 accepts, requesting the master role.
Radio under test attempts to connect to Remote 2.
Remote 2 accepts, requesting the master role.
1 MB of data (512 KB read and 512 KB written) to each of the remote radios.
The links are disconnected.
Results interpretation
The test case writes the pass/fail results to a log file
The test case fails if:
Any of the connection attempts fail.
Any radio is not in the expected role after the connections are established.
The data transfers do not complete successfully.
Disconnect fails.
c6.3.2 - Basic scatternet 3 test with inquiry
This test verifies that the radio under test is able to become the subordinate role in one piconet while already the subordinate role in another and sustain these roles while inquiring for other devices.
Overview
The test case performs the following steps:
Radio under test attempts to connect to Remote 1.
Remote 1 accepts, requesting the master role.
Radio under test attempts to connect to Remote 2.
Remote 2 accepts, requesting the master role.
Radio under test inquires for Remote 1.
Radio under test inquires for Remote 2.
Remote radios 1 and 2 inquire for the radio under test.
The links are disconnected.
Results interpretation
The test case writes the pass/fail results to a log file
The test case fails if:
Any of the connection attempts fail.
Any radio is not in the expected role after the connections are established.
The inquiries fail to find the expected remote device.
Disconnect fails.
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 |