For certification of a Bluetooth HCI UART transport driver, the documented HLK scope is centered on the Bluetooth controller test areas, and certification must be done with the Microsoft inbox Bluetooth stack.
- Applicable HLK test scope
- The relevant HLK areas called out are Device.BusController.Bluetooth and, where applicable, System.Client.BluetoothController.
- For a Bluetooth radio/controller certification scenario, the documentation states that testing is required for a Bluetooth radio and that the radio must be tested with the Microsoft inbox Bluetooth stack.
- The HLK feature areas also point to additional documentation for Device.BusController.Bluetooth and System.Client.BluetoothController.
- Whether interoperability/controller tests are required
- The documentation does not describe a reduced HLK scope specifically for a UART transport-only driver.
- It states that when certifying a Bluetooth radio, testing is required with the Microsoft inbox Bluetooth stack, and recommends additional System.Client.BluetoothController testing for IHVs that also produce a Profile Add-on pack.
- Based on the documented requirements, Bluetooth controller/radio certification uses the Bluetooth controller test areas rather than only generic driver tests.
- External devices and hardware setup requirements
- Yes. The documented Bluetooth HLK setup requires up to 3 test systems, each with a Bluetooth 4.0 radio, in the same WHLK machine pool.
- Roles are:
- Primary: DUT with the Bluetooth radio to be certified
- Secondary: supporting systems with Bluetooth 4.0 radios
- All test machines must:
- communicate over TCP/IP
- resolve each other by DNS
- allow back-channel communication over ports 5005 and 5006
- be placed within several feet of each other with clear line of sight
- Before running tests:
- Install the newest available Windows OS on the test machines.
- Install the DUT on the primary machine.
- Install supporting Bluetooth 4.0 radios on the secondary machines.
- Install required software packages.
- Install the Windows HLK client.
- Create a machine pool in HLK Studio and move the 3 machines into it.
- Unpair all Bluetooth devices.
- Put all machines in the Ready state.
- Some Bluetooth tests also use the Bluetooth Test Platform (BTP). In HLK, BTP tests are marked as Requires special configuration and require the specified BTP hardware connected to the client system.
- UART-specific requirements versus USB
- The documented UART-specific requirement is that the radio should be tested over the same transport type used in the target system. If the radio will be connected over UART in the shipping system, it should be certified over UART.
- The documentation also states that testing should be done in the default Windows configuration and Bluetooth settings should not be changed from the OS default.
- A USB-specific example is given only to illustrate that transport-specific default behavior must remain enabled, such as USB selective suspend.
- Minimum HLK test list for a Bluetooth HCI UART driver
- No context provided lists a minimum reduced playlist specifically for a Bluetooth HCI over UART transport driver.
- The closest official guidance is:
- Bluetooth controller certification prerequisites under Device.BusController.Bluetooth
- Additional documentation pointers for System.Client.BluetoothController and Device.BusController.Bluetooth
- Generic HLK troubleshooting pages for failures
- The available documentation supports that certification is based on the Bluetooth controller/radio test areas and transport-accurate setup, but it does not provide a separate minimum UART-only certification matrix.
Additional notes relevant to this driver type
- For certification of a Bluetooth radio, filter drivers required for radio operation can still be used, as long as they do not replace functionality of the Microsoft inbox Bluetooth stack.
- The transport bus FAQ also notes UART/power-management expectations for Bluetooth transport drivers, including keeping local and remote UART controller settings synchronized across power transitions.
- If idle capabilities are enabled without implementing the required power control handling, a Bluetooth HID device may not wake the stack correctly.