Windows 11 guide: disable old integrated Bluetooth and use a new USB Bluetooth adapter
Goal
Keep the old integrated motherboard Bluetooth adapter disabled, and allow the new USB Bluetooth dongle to work normally.
In my case:
- Old integrated adapter to disable: Realtek
-
USB\VID_0BDA&PID_8922\00E04C885A01 - New USB adapter to allow: TP-Link
-
USB\VID_2357&PID_0604\0CEF154771C0
Windows can disable a specific Plug and Play device by device instance ID, and Group Policy can block installation by hardware ID and device instance ID, including devices that are already installed.
Step 1: Open PowerShell as Administrator
Use this command to list Bluetooth devices:
Get-PnpDevice -Class Bluetooth | Format-Table Status,Class,FriendlyName,InstanceId -Auto
Get-PnpDevice shows the device names and their instance IDs, which is what you need to target the exact old adapter.
Step 2: Identify the two real Bluetooth radios
Look for the entries named:
Generic Bluetooth Adapter
In my case, the two radios were:
- Old integrated Realtek:
USB\VID_0BDA&PID_8922\00E04C885A01
- New TP-Link USB adapter:
USB\VID_2357&PID_0604\0CEF154771C0
Do not confuse these with the many BTHLE..., Microsoft Bluetooth Enumerator, Generic Access Profile, or Device Information Service entries. Those are usually child devices or Bluetooth services, not the main radio.
Step 3: Unplug the new USB Bluetooth adapter first
Before disabling the old one, unplug the new USB Bluetooth dongle.
This avoids confusion while locking down the internal adapter.
Step 4: Disable the old integrated Bluetooth adapter
Run this in PowerShell as Administrator:
Disable-PnpDevice -InstanceId "USB\VID_0BDA&PID_8922\00E04C885A01" -Confirm:$false
Disable-PnpDevice is the built-in Microsoft PowerShell cmdlet for disabling a PnP device, and it requires administrator rights.
Then verify it:
Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId
A result like Status : Error is acceptable here if the goal is to stop the integrated Bluetooth radio from functioning.
Step 5: Set Group Policy so Windows does not bring it back
Open:
gpedit.msc
Go to:
Computer Configuration > Administrative Templates > System > Device Installation > Device Installation Restrictions
Enable these policies:
A. Prevent installation of devices that match any of these device IDs
Set to Enabled and add:
USB\VID_0BDA&PID_8922
B. Prevent installation of devices that match any of these device instance IDs
Set to Enabled and add:
USB\VID_0BDA&PID_8922\00E04C885A01
C. Also apply to matching devices that are already installed
Set to Enabled
D. Allow administrators to override Device Installation Restriction policies
Set to Disabled
Microsoft documents these device installation restriction policies, including blocking by hardware ID, blocking by instance ID, and applying the restriction to already installed devices. Prevent policies take precedence by default.
Step 6: Force policy refresh
Open Command Prompt as Administrator and run:
gpupdate /force
Step 7: Reboot with the new USB adapter still unplugged
Restart Windows with the TP-Link dongle still removed.
Step 8: Check whether the old adapter stayed disabled
After reboot, run:
Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId
If the old Realtek still shows as broken, disabled, or not functioning, that is fine.
If it comes back with a different full instance ID, keep the hardware ID block and add the new full instance ID to the instance-ID restriction list too. A device instance ID uniquely identifies a specific device node in Windows.
Step 9: Plug the new USB Bluetooth adapter back in
Now reconnect the TP-Link adapter.
Then check both adapters:
Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*" -or $_.InstanceId -like "USB\VID_2357&PID_0604*"} | Format-Table Status,FriendlyName,InstanceId -Auto
Expected good result:
- Realtek old adapter:
Error Generic Bluetooth Adapter USB\VID_0BDA&PID_8922\...
- TP-Link new adapter:
OK Generic Bluetooth Adapter USB\VID_2357&PID_0604\...
Step 10: If the old adapter still revives, use the stronger built-in command too
Open Command Prompt as Administrator and run:
pnputil /disable-device "USB\VID_0BDA&PID_8922\00E04C885A01"
Microsoft documents pnputil as a built-in Windows tool, and /disable-device is the supported command for disabling a device by instance ID.
Then reboot and check again.
Important notes
Do not use Uninstall as the main fix
For integrated motherboard hardware, uninstalling often does not stick across reboot because Windows re-detects the hardware and recreates it.
Do not block all Bluetooth devices
Do not block Bluetooth by class or by a broad rule, or you may accidentally block the new USB dongle too.
Only block the exact old device using:
- hardware ID:
USB\VID_0BDA&PID_8922
- instance ID:
USB\VID_0BDA&PID_8922\00E04C885A01
Windows treats hardware IDs and instance IDs differently, and the instance ID is the exact per-device identifier.
Internal motherboard Bluetooth can still show as USB
That is normal. Many internal Wi-Fi/Bluetooth combo modules expose the Bluetooth side over an internal USB connection.
My exact working commands
Show Bluetooth devices
Get-PnpDevice -Class Bluetooth | Format-Table Status,Class,FriendlyName,InstanceId -Auto
Disable old Realtek integrated Bluetooth
Disable-PnpDevice -InstanceId "USB\VID_0BDA&PID_8922\00E04C885A01" -Confirm:$false
Verify old Realtek
Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*"} | Format-List FriendlyName,Status,InstanceId
Check old and new adapters together
Get-PnpDevice -PresentOnly | Where-Object {$_.InstanceId -like "USB\VID_0BDA&PID_8922*" -or $_.InstanceId -like "USB\VID_2357&PID_0604*"} | Format-Table Status,FriendlyName,InstanceId -Auto
Stronger fallback disable command
pnputil /disable-device "USB\VID_0BDA&PID_8922\00E04C885A01"
Refresh policy
gpupdate /force
My exact Group Policy values
Block old Realtek hardware ID
USB\VID_0BDA&PID_8922
Block old Realtek instance ID
USB\VID_0BDA&PID_8922\00E04C885A01
Policies to set
- Prevent installation of devices that match any of these device IDs = Enabled
- Prevent installation of devices that match any of these device instance IDs = Enabled
- Also apply to matching devices that are already installed = Enabled
- Allow administrators to override Device Installation Restriction policies = Disabled
Final success state
Good final state:
- Old Realtek integrated Bluetooth = blocked / disabled / error state
- New TP-Link USB Bluetooth = OK
That means Windows is using the new USB Bluetooth adapter and not the old motherboard one.