I followed many threads - only a few were aiding me but none helped. The problem, to summarize, is that SP2 provides windows with a list of generic bluetooth drivers. The original Widcomm driver is not signed or authorized or recognized as official (whatever...) by Windows and Microsoft. SP2 installs system information files in the %WINDIR%\inf (typically C:\Windows\inf) directory, which are then compiled into binary (.PNF) files which tell windows which drivers to load. Widcomm is not one of them.
Once SP2 installed the bth.inf and related bthXXX.inf files under this folder, and the system was rebooted, this information (I am guessing here) is loaded to the registry and is virtually impossible to revert without tampering with the OS functioning properly. (Don't try it, take my word for it, unless you'd like to spend days of recovering and re-installations). My solution is to reinstall SP2, but prior to re-booting, rename all the bthXXX.inf files to bth.inf.old.
- If you have service pack 2 installed already - uninstall it!
- Make sure your Bluetooth device and driver work properly before SP2 installation. No use of blaming SP2 if your Bluetooth devices do not work without it.
- Re-install SP2 (you can do this with Windows update)
- Very important!!! When the installation completes, before reboot, goto C:\Windows\inf and rename each bthXXX.inf file (such as bth.inf, bthpan.inf, bthprint.inf and etc...) to bth.inf.old, bthpan.inf.old, bthprint.inf.old and etc... In short, change the extension. If you already have any bthXXX.PNF files, rename them too in the same manner.
- Reboot only after step 4.