1. Obligate_Omnivore's Avatar
    The ThinkPad T400, and probably many other ThinkPads, come preinstalled with Broadcom (Widcomm) bluetooth drivers, which Desktop Manager does not support, and which don't always work when trying to do OPP file transfers. (In my experience, the Broadcom stack NEVER worked for OPP. When sending or receiving files, the progress bar would either freeze up when sending PC to phone, or reach 100% when sending phone to PC, but would send the file into a black hole, never to be found on the PC.) As you probably know from reading other posts, if you want to use Desktop Manager with bluetooth, or want to be able to send and receive files using bluetooth, you should uninstall the Broadcom drivers and return to the original Windows XP SP2 bluetooth drivers.

    Refresher course:

    Before uninstalling, find the hardware IDs for your bluetooth radio in the System Control Panel (click on the Details tab, then select Hardware IDs). For example, on my ThinkPad T400, the hardware IDs were

    USB\VID_0A5C&PID_2145
    and
    USB\VID_0A5C&PID_2145&Rev_0399

    Add a line to your BTH.INF file under the manufacturer of your bluetooth radio, which in this case, is Broadcom. The line will look something like this:

    My BlueTooth Device = BthUsb, USB\VID_xxxx&PID_XXXX

    You can call the device whatever you like. In my case, I typed:
    Broadcom bluetooth radio inside ThinkPad= BthUsb, USB\VID_0A5C&PID_2145

    I'm not sure what the second "Rev_0399" entry was for, so I didn't include that in the INF file.

    Now uninstall your two Broadcom entries under Bluetooth Radios in System Control Panel's Device Manager, and when you reboot, Windows should autodetect the bluetooth radio hardware and install its own bluetooth stack. Unfortunately (if your ThinkPad is anything like mine), the bluetooth enumerator entry cannot be uninstalled. When you right click on that entry, there is no uninstall option. If you can't uninstall the Broadcom enumerator and you reboot, Windows will see the Broadcom enumerator and will keep reinstalling the associated Broadcom bluetooth driver with Enhanced Data Rate II. So what do you do? After struggling with this question for several days and reading other posts, I think I found a brute-force solution. I could just cut to the chase and tell you to delete BTKRNL.SYS, but first let me explain how that solution came to me. Bear with me for the next few minutes.

    The main files in Microsoft's bluetooth stack, according to System Control Panel's Device Manager entry (now that I've installed the M$ BT stack) are:

    bthenum.sys = bluetooth bus extender (Microsoft bluetooth enumerator).
    bthport.sys = bluetooth bus driver.
    bthusb.sys = bluetooth miniport driver (USB interface).
    fsquirt.exe = bluetooth file transfer wizard.

    The first three files are in %windir%\system32\drivers, and the fourth file is in %windir%\system32. You will probably also have the following support files. Like the main files, most of these support files are also located in %windir%\system32 or %windir%\system32\drivers:

    bthci.dll = bluetooth class installer.
    bthmodem.sys = bluetooth communications driver.
    bthpan.sys = bluetooth PAN driver.
    bthprint.sys = bluetooth printer driver.
    bthprops.cpl = bluetooth control panel applet.
    bthserv.dll = bluetooth support service.
    hidbth.sys = bluetooth miniport driver for human interface devices.
    wshbth.dll = windows sockets helper DLL for bluetooth.

    You will probably also have the following setup files in %windir%\inf, associated with the support files (but in my case, there were a few setup files that did not have SYS or DLL matches):

    bth.inf and bth.pnf = setup info and precompiled setup info for Windows bluetooth driver. This is the one that you modify in order to have Windows reinstall its own stack.
    bthpan.inf and bthpan.pnf = SI and PSI for bluetooth PAN driver.
    bthprint.inf and bthprint.pnf = SI and PSI for bluetooth printer driver.
    bthspp.inf and bthsp.pnf = SI and PSI for bluetooth modem driver.
    hidbth.inf and hidbth.pnf = SI and PSI for bluetooth HID.
    tdibth.inf and tdibth.pnf = SI and PSI for RFCOMM transport.

    So, by process of elimination, I did a search on my hard drive for every file that had BTH or BT in the name, and BTKRNL.SYS is the straggler that doesn't seem to have any connection to the others. This seems to be the linchpin holding up Broadcom's bluetooth enumerator. Move or delete this file, reboot, and Windows should eventually reinstall its own bluetooth stack. (In my case, I also had to temporarily move some other BTH files and intentionally confuse Windows before it would reinstall its own stack. This messed up my VZAccess Manager but was easy to fix with source files downloaded at vzam dot net.) If Windows doesn't allow you to delete btkrnl.sys, try booting from a linux CD that allows you to access the NTFS partition and delete the file.

    Once you have the M$ bluetooth stack, if your computer is anything like mine, you will be able to use Desktop Manager with bluetooth. You will also be able to transfer files using OBEX OPP from phone to computer (remember you must click receive using bluetooth before sending from the other device), but OBEX OPP may fail when trying to transfer in the other direction, from computer to phone. The limit seems to be about 8 KB; if you transfer anything larger than that (pretty much everything, nowadays), bluetooth will choke on the file. The blue LED on the phone and the green LED on the laptop will keep blinking, but the progress bar will freeze up. Strangely, I can transfer gargantuan files such as 5 MB JPEGs from phone to computer, but only files of 7 KB or less in the other direction.

    I don't think OBEX FTP will work. I think this is the feature that Verizon crippled to force you to send ringtones over their network and spend $$$. OBEX FTP, if I understand correctly, would allow you to actually see the file system on the phone from your laptop, or vice versa, as if you were using Windows Explorer, and copy, move, delete, and create files. I could be wrong here; if someone knows the true, real-world difference between OBEX OPP and OBEX FTP, please let me know.

    You will also be able to use the M$ bluetooth stack for dial-up networking, either using BluetoothConnection or MyDialUpServer and entering in #777 for the phone number. Bluetooth Network Connection doesn't work, at least not for me - this is for PAN, which is not supported on the 8330. I don't see any entry for PAN in Bluetooth Options on the 8330.

    Good luck!
    06-16-09 02:44 PM
  2. shadsterwolf's Avatar
    To trick it to download and reinstall
    You need to go into HKLM\SOFTWARE\WIDCOMM_Temp\
    Edit or Remove the value of the version.

    My friend had a problem where it will not install or uninstall.
    Just stuck and so once I edited the version to logical lower number, it worked.

    I thought I would help tell people this before problems strike again.
    04-11-13 10:52 PM
LINK TO POST COPIED TO CLIPBOARD