Bluetooth Controller Testing Prerequisites
This document covers how to properly setup your test environment and test machines for running the Bluetooth Windows HLK tests for a Bluetooth radio.
Bluetooth Bus Controller Requirements (Device.BusController.Bluetooth)
When certifying a Bluetooth radio, it is required that all testing is done with the Microsoft Inbox Bluetooth stack. Filter drivers required for radio operation can still be used as long as the functionality of the Microsoft stack is not replaced.
The radio should be tested while connected over the transport type OEMs and ODMs will be using in their System. For example, if the radio will be connected over UART in a System, please certify the radio with it connected over UART as well.
The radio testing should be done in the default Windows configuration and no changes to Bluetooth settings should be made. For example, USB radios must support Selective Suspend and this will be enabled in Windows by default. Do not change this setting from the OS selected default.
Note
It is highly recommended that IHVs who also produce a Profile Add-on pack perform additional Bluetooth System level testing (System.Client.BluetoothController) with their profile pack installed on the system as OEMs and ODMs will be required to certify their systems with these profile packs installed.
Bluetooth Test Platform (BTP)
General overview of the test platform can be found at Bluetooth Test Platform (BTP).
Hardware setup
The HLK requires at least one device in each of the following categories (other devices may work, but are not tested or supported by Microsoft):
Most BTP radios are connected using the Traduci board. See Hardware setup for Bluetooth Test Platform on how to set up each device and the Traduci board.
For the appropriate Traduci firmware version, please reference the table below with the links to the appropriate BTP package and follow from step 2 in the Bluetooth Test Platform software setup.
HLK Version | BTP Package |
---|---|
22H2 | Download v1.12.2 |
HLK tests will assume the following Traduci port layout unless otherwise specified:
Port | Device |
---|---|
JA | RN52/BM62 |
JB | RN42 |
JC | Bluefruit Friend |
JD |
Hardware requirements for test specifications
Specification | Hardware |
---|---|
Device.BusController.Bluetooth.HciExtensions.A2dpOffload System.Client.BluetoothController.HciExtensions.A2dpOffload |
Traduci, RN52/BM62 |
Running tests in the HLK
The HLK will schedule BTP tests to run on a client system, so the traduci will need to be connected to the client system. BTP tests will have a symbol for the type indicating "Requires special configuration".
BTP tests are scheduled the same way as any other test.
The value used for the device parameter name can be found on the page describing the devices above. As an example, these are taken from the pages that describe the RN42 and Bluefruit Friend devices. The Parameter column shows the value that can be used:
Device | Capabilities | Parameter |
---|---|---|
RN42 | Basic Rate (BR) | rn42 |
Bluefruit Feather | Low Energy (LE) | bluefruit52 |
Test Environment Setup
The Bluetooth tests require up to 3 test systems, each with a 4.0 Bluetooth radio present on the machine and in the same WHLK machine pool. The machines are broken down into two roles.
Primary - Test system which has the Bluetooth radio to be certified (DUT).
Secondary - Supporting test systems which have a 4.0 Bluetooth Radio present on the system.
All of the test machines must be able to communicate over TCP/IP and must be able to resolve each other's machine names using DNS. Back channel TCP/IP communication takes places over ports 5005 and 5006 and should be opened automatically by the test software.
All of the test machines must be placed within several feet of each other and have clear line of sight to each other in order to reduce possible false test failures. Please also try to reduce other Bluetooth traffic in the area to reduce noise and help increase the reliability of the tests.
Machine Setup Instructions
Install the newest available Windows Operating System on the test machines, and join the machines to your test network. All test machines must be able to communicate with each other over TCP/IP and the WHLK controller.
If the systems do not have an internal Bluetooth radio, perform the following steps.
Install the Bluetooth controller to be certified (DUT) on the primary system.
Install the supporting Bluetooth 4.0 radios on the secondary machines. It is recommended to use a previously certified radio on your secondary test machines, but no 4.0 radios have received a logo at the time that this document was written.
Install software packages.
If certifying the Bluetooth radio, install any required software (filter drivers, etc.) required for the radios operation. Functionality of the Microsoft inbox Bluetooth Stack must not be replaced when certifying a radio.
If certifying a Windows System which has an integrated Bluetooth radio, install any required software required for radio operation, as well as any software the machine will ship with (this includes 3rd party drivers such as profiles packs and filter drivers).
Install Windows HLK client on the test computer.
Use Windows HLK studio to create a machine pool and move the 3 test machines into the newly created pool.
Unpair all Bluetooth devices from all test machines.
Place all test machines into the "Ready" state.