Installing the Microsoft Bluetooth Stack on Windows Server 2008

A note of caution: Screwing around with device drivers and INF files is a good way to utterly hose your system and possibly render it unusable. Be sure you have a current backup of your entire system AND THAT YOU CAN RESTORE AN UNBOOTABLE SYSTEM FROM IT. The steps I describe here worked on my laptop, with the versions of Windows Server 2008 and drivers that I happened to have; it may or may not work on yours. I make no guarantees about the workability of any of this. You are taking your life into your own hands. Don't come crying to me if it doesn't work. If it doesn't work, restore from your backup, and you're no worse off than before. Read the Vista DDK docs regarding INF files first; they are really helpful in understanding what you are doing. Good luck.

0. Install Windows Server 2008 x64 (full, not Server Core) on your laptop. I used Standard but I suspect that Enterprise will work too.

1. Load all the appropriate Vista x64 drivers for your laptop. Obviously, everybody's system is different, and there will probably be some cases where the Vista x64 drivers won't install on WS08. In the case of the HP 8710p, all of the Vista x64 drivers installed and seemed to worked properly.

2. Create a temporary subdirectory to hold the edited INF files and related drivers and executables. I'll use C:\BT in this post.

3. Copy the following files from their respective subdirectories in C:\Windows\System32\DriverStore\FileRepository to C:\BT.

bth.inf
bthenum.sys
bthmodem.sys
bthpan.inf
bthpan.sys
bthport.sys
bthprint.inf
bthspp.inf
bthusb.sys
btwaudio.inf
btwaudio.sys
btwavdt.sys
btwrchid.sys
fsquirt.exe
hidbth.inf
hidbth.sys
hidclass.sys
hidparse.sys
hidusb.sys
input.inf
mdmbtmdm.inf
netirda.inf
rfcomm.sys
tdibth.inf

4. Copy modemui.dll from C:\Windows\System32 to C:\BT

The basic editing operation on all of the INF files is to change the string "NTamd64...1" to "NTamd64...3" where it relates to a Microsoft Bluetooth component. The "amd64" tells the driver installer to evaluate the section for x64 class systems, and the "1" indicates that it should process the section only for workstation class OS's. When you change the "1" to a "3", the driver installer evaluates the INF section only on server class systems, e.g. Windows Server 2008. You could presumably just remove the dots and the number entirely with the same effect, but I haven't tried that.

5. Edit C:\BT\bth.inf

Change line 47 from %Microsoft%=Microsoft, NTamd64...1 to %Microsoft%=Microsoft, NTamd64...3
Change line 132 from [Microsoft.NTamd64...1] to [Microsoft.NTamd64...3]

6. Edit C:\BT\bthpan.inf

Change line 29 from %MfgName%        = Msft,NTamd64...1 to %MfgName%        = Msft,NTamd64...3
Change line 31 from [Msft.NTamd64...1] to [Msft.NTamd64...3]

7. Edit C:\BT\bthprint.inf

Change line 19 from %MSFT%=Microsoft,NTamd64...1 to %MSFT%=Microsoft,NTamd64...3
Change line 21 from [Microsoft.NTamd64...1] to [Microsoft.NTamd64...3]

8. Edit C:\BT\bthspp.inf

Change line 12 from %MSFT%     = Standard,NTamd64...1 to %MSFT%     = Standard,NTamd64...3
Change line 14 from [Standard.NTamd64...1] to [Standard.NTamd64...3]

9. Edit C:\BT\hidbth.inf

Change line 29 from %MSMfg%=MicrosoftHid,NTamd64...1 to %MSMfg%=MicrosoftHid,NTamd64...3
Change line 34 from [MicrosoftHid.NTamd64...1] to [MicrosoftHid.NTamd64...3]

10. Edit C:\BT\mdmbtmdm.inf

Change line 19 from %Standard%     = Standard,NTamd64...1 to %Standard%     = Standard,NTamd64...3
Change line 27 from [Standard.NTamd64...1] to [Standard.NTamd64...3]

11. Edit C:\BT\tdibth.inf

Change line 15 from %MfgName% = Msft,NTamd64...1 to %MfgName% = Msft,NTamd64...3
Change line 17 from [Msft.NTamd64...1] to [Msft.NTamd64...3]

12. Turn on the Bluetooth transceiver. You should get the "Found New Hardware" dialog for each missing Bluetooth device. Cancel each of the dialogs.

13. Start Device Manager (from Server Manager/Diagnostics, or Computer/Properties)

14. Find the unknown Bluetooth devices. They should show up under "Other devices" with a yellow warning icon. You can identity the specific devices by right-clicking each unknown device, and looking at Details/Hardware IDs. The Bluetooth devices all start with "BTH\".

15. Find the unknown device with Hardware ID "BT\MS_BTHBRB", right-click on it, select Update Driver Software, select Browse my computer for driver software, and enter C:\BT (or whatever subdirectory you used above). You will get a dialog box that Windows can't verify the publisher because the INF file has no signature. Select Install this driver software anyway.

16. Find the unknown device with Hardware ID "BT\MS_BTHPAN" and do the same thing.

17. Find the unknown device with Hardware ID "BT\RFCOMM" and do the same thing.

18. Start the Bluetooth applet from Control Panel, go to the devices tab and select Add.

19. Make your device discoverable and click Next in the Bluetooth applet. Your device should appear.

20. If the Found New Hardware dialog appears, click Don't search online, and then click Show me other options. In the next dialog, select Browse my computer for driver software (advanced), and select C:\BT (or whatever subdirectory you used). You will get a dialog box that Windows can't verify the publisher because the INF file has no signature. Select Install this driver software anyway.

21. Lather. Rinse. Repeat.

To get your particular piece of hardware to work, you may have to enable other sections of the INF files in the C:\BT subdirectory by changing the platform designator from amd64...1 to amd64...3. What I describe here worked for me to pair two different mice (Logitech and Microsoft) and two headsets (Koss, and a no-name-o brand I got as a gift). It also seems to pair up with other PCs. I have not tried a Bluetooth modem, such as a cell phone yet.

Pingbacks and trackbacks (1)+

Comments are closed