So I was just randomly doing some research into the finer details of Bluetooth, and I came across a Microsoft whitepaper which is basically a Q&A about Bluetooth functionality in Vista and Win 7. Then I came across a line that caught me off guard, because I had always assumed this was a basic/fundamental feature of Bluetooth spec 2.0 and up... check this out, and tell me if you read this the same way that I do ---
How can Bluetooth and Wi-Fi radios coexist effectively?
Both Bluetooth and Wi-Fi radios operate in the 2.4-GHz frequency range, so they could momentarily try to use the same frequency. The frequency hopping technique that Bluetooth wireless technology uses prevents such a conflict from causing a complete connectivity loss, but it could reduce the transfer rates for both radios.
Version 2.0 of the Bluetooth specification supports AFH. With AFH, a Bluetooth radio senses traffic from other types of radios, marks the busy channels as ”noisy,” and avoids those channels as it hops frequencies. Windows Vista improves AFH even further by treating the ”air” as a shareable spectrum. This feature lets wireless technologies such as Wi-Fi adapters report which channels they intend to use. When the Bluetooth stack becomes active, it is notified of the reported in‑use channels and marks them as noisy.
--- OK, cool... I thought this was pretty standard behavior of frequency hopping and the newer Bluetooth specs, to keep two different radio devices from constantly colliding on the same 2.4ghz spectrum that everything else on earth seems to use. I use my bluetooth, my wireless goes to hell... I get on the phone... it interferes (not really, but if i still had a 2.4ghz... it's just the principle) --- we know 2.4ghz is a way overcrowded frequency spectrum, that's just a given.
Then I read the next question... and this is what gets me:
How do I enable AFH in Windows?
Windows 7 and Windows Vista both include a shared-spectrum model to support AFH for Bluetooth radios that are based on version 2.0 and later versions of the Bluetooth specification. However, this feature is disabled by default. For a system to support the shared spectrum model, the OEM must explicitly enable the feature and specify the width of the frequency band that should be blocked around an active Wi‑Fi channel.
So hopping isn't even enabled by default? I checked my registry and the keys that they mention must be manually created did not exist on my machine. So, in other words, AFH isn't even being used, and I had no idea until today.
For the Windows shared-spectrum model to work effectively, Wi-Fi miniport drivers must report their channel usage to the networking connections manager. The networking stack then passes the channel-use information to the Bluetooth stack.
Here is some further info that I found to be of value, as I could never get my computer to wake from a Bluetooth HID device after it goes into S3 mode, I thought some may find it of interest, not all:
How do I enable remote wake in Windows?
Both Windows 7 and Windows Vista with SP2 provide software support that lets Bluetooth enabled keyboards and mouse devices wake the computer from sleep (S3) or hibernate (S4) system power states. For such a wake to be successful, the Bluetooth module must be self-powered and must have enough power to wake the computer. Even if Windows enables wake from the S4 system power state, the computer will not wake if the Bluetooth module has no power when the computer is in S4.
To enable Remote Wake in software, verify that the Bluetooth module can support wake and set the following registry values:
To me it just seems really bizarre that two kind of... basic features such as these aren't even enabled by default. I wonder if this is why my Bluetooth signal is like less than 10% some 2 feet away from the BT antenna.
Furthermore, (this I actually did know) the Windows 7 bluetooth stack completely lacks support for 75% of useful profiles... A2DP, AVRCP, etc. The only profiles natively supported by the default Windows 7 stack are:
Table 3. In-Box Bluetooth Profiles
Human Input Device
Personal Area Network User
Serial Port Profile
Object Push Profile
Hard Copy Replacement Profile
Now... there is a remedy to this grossly deficient support of all of the absent bluetooth profiles: They (Microsoft) have provided an API/SDK for third-party developers to code "add-on" profiles to extend the capabilities (or lack thereof) of the Bluetooth stack. Aka, we're lazy... you guys take care of it for us.
So Microsoft isn't doing it. Who is considered the third-party responsible for this functionality? CSR (Cambridge Silicone Radio) actually makes the on-board Bluetooth module found on most of these boards, in my case the DP55KG.
Bluetooth adapters basically use USB as their communication avenue to the main chipset. It sort of acts as a USB HID device, and takes up an actual USB lane for communication (for those that don't know).
I have contacted CSR, OEM manufacturers of this worthless adapter, multiple times complaining of this gimped, worthless Windows 7 stack, and also told them that Intel says it's their responsibility to provide the drivers/stack. CSR doesn't care, and they don't provide any sort of driver/stack or support/download for the public. They only provide documentation and support to developers using their BlueCore chips and their "Synergy" SDK. Even if you sign up for the developers area, everything is restricted and you can't do any more than you could have done without wasting your time giving them all your personal information.
But oh... it's not that the stack doesn't exist... in fact, they have a very wonderful looking page that touts all the awesome profiles and features it has... they even make a pretty PDF you can take on the road with you to reminisce about all the cool features you wish you had. Check out how good everything looks... their Bluetooth stack... "Harmony" -- http://www.csr.com/products/52/csr-harmony -- Oh yeah, and the nice little footnote at the bottom -- "Subject to approval, a datasheet can be made available for this product through CSR support"...
They mean it. You literally have to create a support account, put in a request for access to a worthless whitesheet that tells me exactly what's on the page already.
The CSR Harmony Bluetooth Stack for Windows® is a software solution that adds complete Bluetooth and Bluetooth low energy functionality to platforms using the Microsoft XP, Vista or Windows 7 operating systems.
CSR’s Harmony for Windows leverages CSR’s innovative and widely used CSR Synergy Bluetooth software and includes additional components and features that provide functionality such as Windows Explorer extensions, VoIP call control, Bluetooth Radio On/Off, “Smart Audio” stereo headset connection management, wideband mono audio speech codec, phone synchronisation with Outlook™, transferring video and sharing printers.
Sounds pretty sweet. My Bluetooth stack allows me to connect a keyboard and mouse. Oh, wait. Here's more tease:
- Watching DVDs and listening to music
- Talking to friends and colleagues via VoIP using your mobile phone headset
- Transferring images and files to and from your mobile phone or PDA device
- Sharing printers
- Using a mobile phone to access the internet
- Transferring video to your PC from your mobile phone or your DV camera
- Synchronising your mobile phone or PDA with Outlook™
So that's cool and all... we know they have this robust, fully featured bluetooth stack, clearly. I challenge anyone reading this post to find a link to download it or any CSR driver for this module or any of their products. I'm dead serious. Try your hardest.
More from Microsoft --
Why are only some Bluetooth profiles and protocols enabled by default?
The Bluetooth stack that is included with Windows provides in-box support for only some Bluetooth profiles. Vendors must implement the required services to support any other Bluetooth profiles, much as they do for USB and PCI.
So... I'll summarize why I'm still pretty ****** about this whole thing. 1) Intel uses Bluetooth modules they get CSR to manufacture. 2) They (Intel) say that they are not responsible for providing drivers for the Bluetooth module that is ON-BOARD many of their motherboards. 3) CSR refuses to provide consumers/end-users with any type of driver, stack enhancements, or any support for their product. They say that *Intel* is responsible for providing those features and support, as they do not cater to end-users, only developers and OEMs. Intel says *CSR* is responsible for providing the stack/software.
I've had this board for a year and a half now... and there's not been a damn driver available anywhere, --- from Microsoft (whose OS I paid for), from Intel (whose hardware I paid for), or from CSR (who Intel buys their parts from, but doesn't give us the courtesy of also making sure we have the CSR bluetooth stack that actually makes the bluetooth module DO SOMETHING). For nearly two years, it has been completely worthless, because nobody wants to man up and take responsibility for supporting the products they sell.
I get an incredible, mind-blowing range that reaches to the most distant parts of halfway across my bedroom. Forget about a wall.
A2DP working on Windows 7 beta releases. Windows 7 Release Candidate
and final release no longer includes a Bluetooth audio-class driver.
A2DP support is provided entirely by third-party Bluetooth software.
I'm glad those rad 80 dollar bluetooth headphones I bought are ... worthless -- actually, I lie; they work great with Apple's products. Intel gets owned by Apple. Glad I spent hundreds of dollars on this gear. Money well spent.
Is anyone else ****** about this whole thing besides me, or am I just whining about it? I just feel that Intel absolutely refuses to do anything about this issue, even though they bought and used the parts from CSR. It's ridiculous.
Please speak up if you think this needs to be dealt with and the blame game needs to stop.
For those of you who are interested in reading the entire Intel FAQ about Bluetooth (it has more than what I pasted, plus a ton of other internal reference links at the bottom of the doc) here you go: http://www.microsoft.com/whdc/connect/wireless/Bth_FAQ.mspx
CSR's site is just www.CSR.com, and the Bluetooth module is definitely made by them.
And finally... thank god... here's Intel's response to problem reports:
"Driver support is provided by Microsoft operating
systems like Microsoft Vista and Microsoft 7. The Bluetooth driver stack is supplied by
Microsoft but some Bluetooth enabled devices might provide additional Bluetooth
features and for proper functioning of those features, will need their own supplied
Thanks Chinch! I also researched the markings on the chip and found the CSR website which is no help at all. Intel also told me that MS supplies the drivers just like the manual states.
Yeah, the expectation is that users use the Microsoft pre-loaded Bluetooth drivers, and if you got a specific Bluetooth device that came with software you could also use that if the Microsoft version does not work. (This is a quote from Edwin Tracy, BIOS developer -- but he is a good guy, I will vouch for him.)
Another user stuck in this crap:
I have the DP55SB and I am running XP SP3. I would like to use a bluetooth headset. XP SP3 bluetooth stack does not support headsets. I can't get the WIDCOMM setupt to recognize the DP55SB's CSR based USB adaptor. Any suggestions?
Adolfo_Intel responds: Since Microsoft* Windows* XP with Service Pack 3 does not support bluetooth headsets, it will not work, you might want to contact Microsoft* to see if they have a work around.
Another Intel response... let me translate: Since Microsoft only provides a minimally functioning product, you're S.O.L. -- cause we're definitely not doing anything to remedy it. Contact Microsoft*. (Sounds like... yet another buck being passed)
Having trouble pairing my Motorola HT820 headset to the blutooth of the DP55KG, does anyone know if it is A2DP compatable? I have the 4752 BIOS.
A2DP support is provided entirely by third-party Bluetooth software. -- Allan_intel
third-party software, that I have to buy. Like BlueSoleil. Awesome. The several hundred bucks I paid for your motherboard (not to mention processor, etc)... and you're telling me it's my problem and I've gotta go buy software that should've without question come with the product. Oh god... what am I whining about -- it's only like
$75 dollars for 2-3 of the 20 or so modules needed to gain full functionality. i thought it was gonna be something ridiculous like 30 dollars! Now I just feel stupid about it.