Thursday, November 20, 2008

Nokia Bluetooth Devices and Services in Windows Vista / Windows Server 2008

This article is a guide to fix the problem with unresolved Bluetooth Peripheral Devices when pairing a Nokia mobile phone using Microsoft Bluetooth Stack in Windows Vista.

Nokia N95 8GB pictures and Dell Latitude E6400

If you have ever tried to pair a Nokia phone with Microsoft Bluetooth Stack in Windows Vista / Windows Server 2008, what did you end up in the Device Manager? A bunch of annoying Bluetooth Peripheral Devices listed under Other devices, am I right?

How Are They Discovered at First?

To connect any device, this is the routine, you open the Bluetooth applet from Control Panel, go to the Devices tab and select “Add...”. Then turn the mobile phone’s Bluetooth on, check My device is set up and ready to be found. and click Next. After selecting a passkey and completing the pairing process, the annoyance begins, with Found New Hardware as a start. Select I don’t have the disc. Show me other options., then Browse my computer for driver software (advanced), select the Bluetooth driver folder discussed before, and click Next. The result is a page showing Windows was unable to install your Bluetooth Peripheral Device, Windows could not find the driver software for your device. Inspecting their details will show all these unknown Bluetooth Peripheral Devices are all discovered on Microsoft Bluetooth Enumerator (BTHENUM).

The discovery of these unknown Bluetooth Peripheral Devices depends on the services you select for your paired cell phone. In fact if all the Bluetooth services for your cell phone are deselected, no unknown Bluetooth Peripheral Devices will be detected. To remove these services from your Bluetooth device, select a device and click Properties, inside the Services tab, deselect all the services and click OK. But before deselecting all of them, keep on reading, because there’s a chance you could install some of them successfully.

Installing Nokia PC Suite which includes Nokia Connectivity Cable Driver (known as Nokia PC Connectivity Solution in the past) will not solve the problem. The reason is because that drivers are for USB connection, and don’t include any Bluetooth INF. There’s an INF folder however (C:\Program Files\Nokia\Nokia PC Suite 7\Inf) including two INF files (nokbtmdm.inf and Nokia_Bluetooth.inf) which might help a little bit. The INF file nokbtmdm.inf (included in Nokia PC Suite) is supposed to support one of our unknown Bluetooth Peripheral Devices, the one responsible for Dial-up networking (DUN) service, but fails to start the modem. It includes the appropriate GUID (00001103-0000-1000-8000-00805f9b34fb) for each Nokia phone, but fails to start each model’s specific Bluetooth modem (Nokia N95 8GB Bluetooth Modem in my case, GUID: BTHENUM\{00001103-0000-1000-8000-00805f9b34fb}_LOCALMFG&000a). Then I tried the less-specific Nokia Phone Bluetooth Modem Version 7.0.0.1, and it worked.

Then using the INF file mdmbtmdm.inf (Microsoft Windows Bluetooth Modem Driver Inf) discussed before, which can be found among Microsoft Bluetooth Stack driver version 6.0.6001.18000 (06/21/2006), the same device was installed as Standard Modem over Bluetooth link.

The INF file btwavdt.inf (Broadcom Bluetooth AVDT Service Installation) discussed before, which belongs to Broadcom (Widcomm) Bluetooth driver version 6.0.1.5500 (08/31/2007) contains a series of definitions which might help more than Nokia’s own INF files to install “Bluetooth Imaging Responder” and “Bluetooth SyncML”. Please note once installed, Bluetooth Imaging Responder and Bluetooth SyncML will not be shown anymore, because they’d be listed under “Bluetooth Virtual Devices”, only visible when “Show hidden devices” is selected. It also includes the definition for “Bluetooth Remote Control”, which is another virtual (hidden) device, but unfortunately it fails to start the device, reporting the error code 10.

Nokia Bluetooth devices and services in Windows Vista / Windows Server 2008

A Detailed List of Services and Their Corresponding Devices

Service: Dial-up networking (DUN)
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{00001103-0000-1000-8000-00805f9b34fb}_LOCALMFG&000a
Compatible Ids: BTHENUM\{00001103-0000-1000-8000-00805f9b34fb}

INF file: mdmbtmdm.inf (Microsoft Windows Bluetooth Modem Driver Inf)
Provider (manufacturer): Microsoft
Device description (model): Standard Modem over Bluetooth link
Device class: Modem (listed under Modems)

INF file: nokbtmdm.inf (Nokia Bluetooth modem for Windows XP Home, XP Pro, XP X64)
Provider (manufacturer): Nokia
Device description (model): Nokia Phone Bluetooth Modem
Device class: Modem (listed under Modems)

Notes for utilizing Nokia PC Suite nokbtmdm.inf:

  • Nokia Phone Bluetooth Modem Version 7.0.0.1 [5/22/2008] is OK.
  • Nokia Phone Bluetooth Modem Version 3.8.0.0 [5/22/2008] fails.
  • Nokia N95 8GB Bluetooth Modem fails.

Service: Imaging Responder
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{0000111b-0000-1000-8000-00805f9b34fb}_LOCALMFG&000a
Compatible Ids: BTHENUM\{0000111b-0000-1000-8000-00805f9b34fb}

INF file: btwavdt.inf (Broadcom Bluetooth AVDT Service Installation)
Provider (manufacturer): Broadcom Corp.
Device description (model): Bluetooth Imaging Responder
Device class: BluetoothVirtual (listed under the hidden Bluetooth Virtual Devices)


Service: SyncMLClient
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{00000002-0000-1000-8000-0002ee000002}_LOCALMFG&000a
Compatible Ids: BTHENUM\{00000002-0000-1000-8000-0002ee000002}

INF file: btwavdt.inf (Broadcom Bluetooth AVDT Service Installation)
Provider (manufacturer): Broadcom Corp.
Device description (model): Bluetooth SyncML
Device class: BluetoothVirtual (listed under the hidden Bluetooth Virtual Devices)


Service: Remote Control
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{0000110e-0000-1000-8000-00805f9b34fb}_LOCALMFG&000a
Compatible Ids: BTHENUM\{0000110e-0000-1000-8000-00805f9b34fb}

INF file: btwavdt.inf (Broadcom Bluetooth AVDT Service Installation)
Provider (manufacturer): Broadcom Corp.
Device description (model): Bluetooth Remote Control
Device class: BluetoothVirtual (listed under the hidden Bluetooth Virtual Devices)

This device cannot start. (Code 10) Deselect the service.


Service: Nokia OBEX PC Suite Services
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{00005005-0000-1000-8000-0002ee000001}_LOCALMFG&000a
Compatible Ids: BTHENUM\{00005005-0000-1000-8000-0002ee000001}

Cannot be installed. Deselect the service.


Service: Nokia SyncML Server
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{00005601-0000-1000-8000-0002ee000001}_LOCALMFG&000a
Compatible Ids: BTHENUM\{00005601-0000-1000-8000-0002ee000001}

Cannot be installed. Deselect the service.


Service: SyncML DM Client
Device description (unknown): Bluetooth Peripheral Device
Hardware Ids: BTHENUM\{00000004-0000-1000-8000-0002ee000002}_LOCALMFG&000a
Compatible Ids: BTHENUM\{00000004-0000-1000-8000-0002ee000002}

Cannot be installed. Deselect the service.

Sunday, November 16, 2008

Installing Microsoft Bluetooth Stack on Windows Server 2008 x86 / x64

This article includes modified files ready for the installation of Microsoft Bluetooth Stack on both x86 (32-bit) and x64 (64-bit) editions of Windows Server 2008.

The know-hows of installing Microsoft Bluetooth Stack on Windows Server 2008 64-bit (and 32-bit) edition, in case of using it as a workstation, is spread on blogs everywhere, and Gil is behind the whole story.

The problem is System File Repository (C:\Windows\System32\DriverStore\FileRepository) doesn’t always contain all the files needed, like Broadcom (Widcomm) driver files for instance (filenames starting with btw), and gurus also forgot to mention a few files in their listings (btwavdt.inf, btwrchid.inf, and bthprint.sys to mention a few.)

Note: Broadcom (Widcomm) files are not included in a fresh Windows’ File Repository. People who luckily find them in the Repository have definitely installed OEM BT drivers. For example, Lenovo Y710 OEM drivers include the latest Broadcom (Widcomm) Bluetooth driver version 6.0.1.5500 (08/31/2007), where Dell XPS M1330 OEM drivers include the older Broadcom (Widcomm) Bluetooth driver version 6.0.1.3100 (11/03/2006).

Microsoft Bluetooth Stack for Windows Server 2008 x86 and Windows Server 2008 x64

I’ve collected all the files needed for both x86 and x64 systems separately, modified all the NTx86...1, NTia64...1, and NTamd64...1 sections into NTx86, NTia64, and NTamd64 in all INFs, and cabbed them into separate archives for both 32-bit and 64-bit editions.

CAUTION! I double-checked, sometimes triple-checked everything, but please practice safe driver upgrade. Creating a System Restore Point (image backup is even safer) is highly recommended. Remember, at the end, you’re doing it at your own risk!

Download Links
  • Download Microsoft Bluetooth Stack for Windows Server 2008 x86 (32-bit) modified by Komeil Bahmanpour
  • Download Microsoft Bluetooth Stack for Windows Server 2008 x64 (64-bit) modified by Komeil Bahmanpour

Both the 32-bit and 64-bit stack drivers include:

  • Microsoft Bluetooth Stack driver version 6.0.6001.18000 (06/21/2006)
  • Broadcom (Widcomm) Bluetooth driver version 6.0.1.5500 (08/31/2007)

Note: Files starting with “btw” belong to Broadcom (Widcomm) and the others are Microsoft’s:

  • btwaudio.cat, btwaudio.inf, btwaudio.sys: WDM audio (PortCls) Bluetooth Audio Driver
  • btwavdt.cat, btwavdt.inf, btwavdt.sys: Broadcom Bluetooth AVDT Service Installation
  • btwrchid.cat, btwrchid.inf, btwrchid.sys: Remote Control HID Minidriver Installation
CAB File Listing
  • bth.inf
  • bthenum.sys
  • bthmodem.sys
  • bthpan.inf
  • bthpan.sys
  • bthport.sys
  • bthprint.inf
  • bthprint.sys
  • bthspp.inf
  • bthusb.sys
  • btwaudio.cat
  • btwaudio.inf
  • btwaudio.sys
  • btwavdt.cat
  • btwavdt.inf
  • btwavdt.sys
  • btwrchid.cat
  • btwrchid.inf
  • btwrchid.sys
  • circlass.inf
  • circlass.sys
  • fsquirt.exe
  • hidbth.inf
  • hidbth.sys
  • hidclass.sys
  • hidparse.sys
  • hidusb.sys
  • input.inf
  • irstusb.inf
  • irstusb.sys
  • mdmbtmdm.inf
  • modemui.dll
  • netirda.inf
  • rfcomm.sys
  • tdibth.inf
Supported Hardware Brands
  • ALPS
  • Belkin
  • Brain Boxes
  • Broadcom
  • Cambridge Silicon Radio Ltd. (CSR)
  • Dell
  • FIC
  • GVC
  • HP
  • IBM
  • Microlink
  • Microsoft
  • MicroStar
  • Microsoft
  • Motion Computing
  • Silicon Wave
  • Sony
  • TDK
  • Toshiba
  • Zeevo

Bluetooth devices in Windows Server 2008 Device Manager

Infrared (IR) Support

To support infrared (IR), both CABs contain modified versions of Windows / SigmaTel drivers:

  • circlass.inf, circlass.sys: Microsoft Consumer IR Devices (CIR Class enumerator driver)
  • netirda.inf: Microsoft IrDA transport
  • irstusb.inf, irstusb.sys: SigmaTel NDIS 5.0 USB Infra-Red Driver
Bluetooth Headsets [Updated May 20, 2009]

Due to the fact that both Windows Vista / Windows Server 2008 don’t support Bluetooth headset profile, if you want to use a Bluetooth headset with your adapter, you’ll need to add the headset profile to the default Microsoft stack. Visit my headset blog entry to know more about installing and enabling Bluetooth headset profile in Windows Vista / Windows Server 2008.

Install and Enable Bluetooth on MacBook Pro Operating Windows Server 2008

The CAB files are for normal Windows users running an IBM-PC-compatible machine, however some came to their senses and produced Macs that are not Macs anymore. The CABs could gladly help these users too:

  • Install Boot Camp drivers. The driver will be installed, but it won’t be associated with the appropriate hardware.
  • Open Device Manager, right click the Bluetooth USB Host Controller, and click Update Driver Software... menu item.
  • Choose Browse my computer for driver software and then Let me pick from a list of device drivers on my computer.
  • Choose Bluetooth Radios, then click Next.
  • Uncheck Show compatible hardware, in the left select Apple Inc. and in the right Apple Built-in Bluetooth, then click Next.
  • Answer Yes to the popped Update Driver Warning dialog.
  • Wait for the driver to install and display Windows has successfully updated your driver software, and then click Close.
  • Cancel all of the Found New Hardware dialogs. The Bluetooth icon will show up in the notification area.
  • Apple Built-in Bluetooth is now listed under Bluetooth Radios, three Unknown devices under Other devices.
  • Download and extract Microsoft Bluetooth Stack for Windows Server 2008 (x86/x64) CAB file in a specific folder, e.g. C:\BT.
  • Right click the first Unknown device and click Update Driver Software... menu item.
  • Choose Browse my computer for driver software and enter the path to the CAB extraction folder and click Next.
  • Choose Install this driver software anyway in the Windows Security dialog shown.
  • Wait for the driver to install, and then click Close.
  • Do the same routine to install the other Unknown devices.
  • Upon completion, Microsoft Bluetooth Enumerator will show up under Bluetooth Radios, along with new Network adapters.
  • Installing Microsoft IntelliPoint, it will prompt you to insert the transceiver, click Cancel.
  • Pair the mouse using Bluetooth control panel, and a new device shows up in Device Manager. Update the driver using the same methods you’ve done before, so it’s recognized as Bluetooth HID Device.
  • Enable your Wireless Notebook Presenter and click the presentation mode button.
  • If everything is fine, delete the temporary driver extraction folder. You’re done.

Tuesday, November 4, 2008

Komeil’s Persian Keyboard Layout (kbdfa.dll) and Installer for Windows Vista and Windows XP

This old post describes why I needed to replace Microsoft Windows’ own Persian (Farsi) keyboard layout—kbdfa.dll.

Now for compatibility reasons with various 32-bit and 64-bit editions of Windows Vista and Windows Server 2008, and the fact that x86 and x64 DLLs differ, I needed to rebuild my modded kbdfa.dll files.

Installing my Persian (Farsi) keyboard layout in Windows Vista and Windows Server 2008—with their system files’ ownership and permission modification requirements—seemed a little bit more bothersome comparing to the conventional Windows 2000/XP/2003 kbdfa.dll’s copy-and-replace method. So I was forced to write a command-line (CMD) installer, to ease the process.

Please note both the x86 and x64 compilations represent Persian numbers on the main section of the keyboard and Latin numbers on the numeric keypad.

Chortkeh Persian Keyboard Layout, Revision 3, November 4, 2008

Download Links

  • Download Chortkeh Keyboard Layout Installer for Windows Vista, Windows XP, Windows Server 2008, and Windows Server 2003 (chortkeh-install-kbdfa.cmd, Revision 3, November 4, 2008)
  • Download Komeil’s Persian Keyboard Layout for Windows 32-Bit Family (x86) (kbdfa.dll, Revision 3, November 4, 2008)
  • Download Komeil’s Persian Keyboard Layout for Windows 64-Bit Family (x64) (kbdfa.dll, Revision 3, November 4, 2008)

How to Install

Download and save both the keyboard layout installer (chortkeh-install-kbdfa.cmd) and the Persian keyboard layout (kbdfa.dll) at the same folder, and run as administrator chortkeh-install-kbdfa.cmd. Then in the command-line you need to press “c” and hit “Enter” to continue with the installation. Please note once finished, the installer will restart your system, so save any unsaved work, and close running programs before launching the installer. Also please note you need to be an administrator to be able to modify system files.







Copyright © 1999-2012 Komeil Bahmanpour. All rights reserved.


Reproduction is permitted provided that the source is acknowledged and a link is included to the relevant article.