For a UART-connected Bluetooth controller, qualify the complete Bluetooth Controller Non USB device instance: select both the vendor transport target and the Bluetooth Radio target when HLK assigns required product features to both, then run every test exposed by the matching official playlist.
Required product type and targets
The active HLK product type for this configuration is Bluetooth Controller Non USB, whose required features are:
-
Device.BusController.Bluetooth.Base -
Device.BusController.Bluetooth.NonUSB
The ordinary Bluetooth Controller product type requires only Device.BusController.Bluetooth.Base. Because your controller uses UART rather than USB, the Non USB product type is the applicable taxonomy.^1^
In HLK Studio:
- Open the project and check Project → Product Types.
- Confirm that Bluetooth Controller Non USB is detected.
- On Selection → Device Manager, inspect the features associated with:
-
CustomBtUartHci.sys - the Bluetooth Radio represented by
bthmini.sys
-
- Select every target carrying either required feature. HLK requires all features of the chosen product type to be selected for certification.^2^
Therefore, do not choose solely by the .sys filename:
- The Bluetooth Radio target is required when it carries
Device.BusController.Bluetooth.Base;bthmini.sysbeing an inbox driver does not make that radio target irrelevant. - The vendor transport target is required when it carries
Device.BusController.Bluetooth.NonUSBor another feature needed by the detected product type. - If Studio does not show Bluetooth Controller Non USB, investigate feature detection or product-type configuration before running a submission. HLK Studio’s Product Types field identifies what the kit detected and supports manual feature configuration when the intended product type is absent.^3^
The two entries are distinct HLK targets within one device implementation. A physical device can expose several targets, and a typical certification submission can contain multiple targets.^4^
Bluetooth tests are required
Generic KMDF, PnP, power, fuzzing, and Device Fundamentals tests on CustomBtUartHci.sys alone are not sufficient to qualify the device as a Bluetooth controller.
Bluetooth-specific tests validate the behavior exposed through the inbox stack, including behavior dependent on the controller firmware and HCI transport. Microsoft explicitly states that Bluetooth-specific certification tests must be passed by Bluetooth driver developers.^5^
For radio certification, Microsoft also requires:
- The Microsoft inbox Bluetooth stack.
- The actual shipping transport—UART in this case.
- Default Windows Bluetooth configuration.
- Any vendor software needed for radio operation, provided it does not replace inbox-stack functionality.^6^
Not implementing profile drivers does not remove the radio tests. Additional system-level System.Client.BluetoothController testing is only described as highly recommended for IHVs supplying a profile add-on pack; that is separate from the device-level Device.BusController.Bluetooth qualification.
Handling overlapping tests
Do not manually remove a test because its name appears under both targets.
- Use the HLK release matching the Windows 11 release being certified.
- Load the corresponding official Windows Hardware Compatibility playlist.
- Do not modify that playlist for submission.
- Select both required targets.
- Run every test that the playlist reports as applicable to each selected target.
After a playlist is loaded, HLK shows only tests applicable to each target and retains results per target. Consequently, similarly named Device Fundamentals tests may need separate results because they are bound to different targets or resolved with different target parameters.^7^
Use Tests → View By → Target to verify coverage. A test shown once and associated with both targets should be scheduled as Studio presents it; a test shown separately for each target should be run for each instance. Treat only playlist filtering, official filters/errata, and documented Not Run handling as valid reasons not to obtain a normal pass.
In short: submit the shipping vendor package, but test the complete UART Bluetooth controller path—vendor transport plus inbox radio stack—under Bluetooth Controller Non USB.
References