WM6 & Microsoft Bluetooth A2DP (stereo Bluetooth headphones) quality: Light at the End of the Tunnel?

Everyone into A2DP and stereo, wireless Bluetooth headphones knows the Microsoft Bluetooth stack, quality-wise, used to be WAY worse than that of competing products (Widcomm / Broadcom on Windows Mobile; Nokia and other products on other platforms). I’ve thoroughly elaborated on this issue in the Comparison & thorough compliance report of three stereo Bluetooth headphones: Nokia HS-12W, Plantronics Pulsar 590 and 260 and previous articles. Note that you WILL want to read at least this article - it may answer a LOT of your A2DP-related questions.

Fortunately, there IS light at the end of the tunnel. Upon seeing THIS XDA-Dev thread (linked from THIS thread at MoDaCo), I’ve made some very thorough tests with the new, WM6 Bluetooth implementation and was VERY pleased with the results.

Yes, the new WM6 (as far as REAL, official WM6 versions are concerned and NOT illegal, “cooked†ROM’s, some of which still having the pre-WM6, low-quality A2DP implementation) indeed delivers a vast quality increase.

Listening to any music with singing was pretty much impossible with the MS BT stack back in the WM5 days (with an incompatible pair of headphones; don’t forget that, as has also been pointed out in my already-linked article, the A2DP implementation of WM5 delivers excellent results with already compatible A2DP headphones like the Nokia HS-12W); now, with WM6, the sound quality is pretty much close to that of the Widcomm (Broadcom) BT stack. It’s only audiophiles (like me) that will notice the VERY slightly lower sound quality with the new, WM6 implementation; ordinary people not really.

Again, the sound quality of the new A2DP implementation is orders of magnitude better (again, I only speak about incompatible headphones, NOT about compatible ones like the already-mentioned Nokia HS-12W! Keep this in mind when I speak about the bad sound quality of pre-WM6 A2DP implementation) than that of ANY WM5-based Pocket PC’s or Smartphones. This means you can, finally, dump Widcomm hacks or Widcomm-based handhelds in favor of new, WM6-based phones.

What about pre-WM6 Windows Mobile models?

After Microsoft introduced A2DP support in January 2006 with WM5 AKU2, the vast majority (exceptions include, for example, the HTC Wizard, which has never officially received any A2DP support) of new models (and operating system upgrades for existing ones) coming with the Microsoft BT stack (that is, all WM5 models except for Acer’s and HP’s models and the Fujitsu-Siemens T830 phone) have been released with A2DP support.

The A2DP sound quality of WM5 AKU2 devices was terrible. It was only with VERY few headphones models (for example, the already-mentioned Nokia HS-12W) that it delivered good sound quality. The vast majority of existing A2DP stereo headphones models (for example, the Plantronics Pulsar 590 and 260) were plain useless with the stack.

While Microsoft (vaguely) promised A2DP quality increase with the Autumn 2006 release of WM5 AKU3, real upgrades / devices didn’t deliver ANY increased sound quality. I’ve tested this with MANY WM5 AKU3 devices; both Pocket PC’s and MS Smartphones natively delivered with AKU3; for example, the HTC Oxygen (aka S310; a WM5 AKU3.0 MS Smartphone) and the HTC Trinity (aka P3600; a WM5 AKU3.3 Pocket PC).

This means it’s only with WM6 that you can expect (almost) flawless A2DP sound quality. With ANYTHING earlier, you will have MUCH worse sound quality – unless, again, you have one of the very few compatible headphones (Nokia HS-12W etc).

Also note that, should you use a “cooked†WM6 ROM, you may still have pre-WM6 A2DP support because these ROM’s may use components from older operating system versions. As cooked ROMs are not really legal, I am not allowed to provide you more information on the affected models or ROM versions - sorry. However, the next section explaining the Joint Stereo mode will be of great help to decide whether your cooked WM6 version already has the latest A2DP support, or still an old, WM5-based one.

Affected ROM versions – of which ROM’s can you expect good A2DP quality?

As a rule of thumb, if a given ROM version supports Joint Stereo, then, it’s capable of delivering pretty good A2DP quality. That is, if, in the Registry, the value HKLM\Software\ Microsoft\Bluetooth\ A2DP\Settings\ UseJointStereo (note that HKLM, as usual, stands for HKEY_LOCAL_MACHINE) is 1 , meaning enabled (NOT 0, meaning disabled) and the sound is (still) stereo, then, you have the new, WM6-based, high-quality A2DP implementation.

If you get mono sound (as is the case with ALL pre-WM6 models I’ve ever tested, despite what some say; and, again, some cooked WM6 ROM’s also belong to this category), then, you have the old (low-quality) MS BT stack, which can’t really be “hacked†– it’ll always deliver sub-par sound quality with most headphones, except for some select headphones models like the Nokia HS-12W (but, according to this XDA-Dev thread, not necessarily other Nokia headphones).

To make sure your (WM6) device has a new BT stack (or an old one), get a registry editor. If you’re unsure, read the Registry Editor Bible for a roundup; I recommend the registry editor in Resco File Explorer the most. It runs great on both regular Pocket PC’s and MS Smartphones. Note that many recommend (for example, in THIS thread) Breaksoft’s Mobile Registry Editor. You won’t want to use it because it isn’t able to modify the HKLM branch (only for seeing what’s in there it’s sufficient, though).

The same may stand for the, mostly for MS Smartphone users, highly recommended RegEditSTG on some WM5+ Smartphone models – it’s been signed by HTC’s certificate, which has been put on the ban list in at least Orange-branded phones released since Feb. 2006. That is, this registry editor won’t run for example on the SPV C100 (the Orange rebranded HTC Oxygen / S310), not even on a completely (application) unlocked phone. This isn’t the case with Resco’s editor: it’ll work just great on (app) unlocked new Orange Smartphones.

Yeah, I have a new, legal, official WM6 device, I still have VERY bad sound quality!

People that DO have a legal and official WM6 model (for example, the HTC Vox (s710) smartphone) still MUST hack the Registry to get rid of two registry values really degrading sound quality: the "MaxSupportedBitPool" and the "BitPool" values under HKLM\Software\ Microsoft\Bluetooth \A2DP\Settings. These both have a very low (with the Vox, 30) default value, resulting in VERY bad sound quality. I just don’t understand why Microsoft and HTC have left these values in there – all they do is completely degrading sound quality, without fixing anything / making more A2DP headphones compatible.

Just remove these two registry values and shut down / restart Bluetooth (or, if you choose so, reset the device – you won’t need this for the changes to be heard).

Note that if you have a Smartphone (and not a Pocket PC), make sure you application unlock your device before modifying the Registry; otherwise, you won’t have edit access to the Registry. To unlock your phone, you will want to read THIS (if you have a Vox or a similar, new, mostly WM6 device) or THIS (if you have an older WM5 device like the Oxygen – while these models still have the old, low-quality A2DP implementations, you may still want to either remove these values or increase their value too slightly increase the A2DP quality. You will still have bad sound quality compared to the WM6 one - or that of the Widcomm stack).

You may also want to create a SampleRate DWORD value with the value of 48000. Many have reported subsequent quality increase (I haven’t noticed this with my HTC Vox + Plantronics Pulsar 590A duo but this doesn’t necessarily mean with other models you won’t hear an increase in the sound quality.) If you’re unsure, just import this registry script – it’ll increase the sampling frequency and also makes sure the Joint Stereo mode is enabled, should you or some tweaker tools have messed with it.

Don’t forget than in pre-WM6 times you HAD to disable the Joint Stereo mode; therefore, if you have ever run automatised sound quality enhancer tweaks (for example, with the excellent HTweakC tool; see THIS for more info) , they may have already set this to 0 (which isn’t recommended any more).

Incidentally, this registry import file, which works on both MS Smartphone and Pocket PC models, has another value, HKLM\Software\Microsoft\ Bluetooth\AudioGateway\ Capability, which makes it possible for the phone to play the ringtone in the connected A2DP headphones and not in the phone itself. If you don’t want this to be changed, just remove the two related rows before importing the script.

Note that as you can’t delete anything from a registry import file, you’ll still need to manually remove the Public Enemy Number One: that is, the "MaxSupportedBitPool" and the "BitPool" values under HKLM\Software\ Microsoft\Bluetooth\A2DP\ Settings.


WM6, as opposed to ALL versions of the previous, WM5 operating system, has vastly enhanced A2DP support already available for legal WM6 users ready to do some registry editing (most importantly, removing two registry values). If you’re, on the other hand, a user with a “cooked†WM6 ROM, you may still have the old, low-quality A2DP implementation.

Don’t forget to remove the two registry values if you have a legal WM6 device and you’re still encountering bad sound quality – it’ll REALLY work.

UPDATE (06/06/2007): PPCT frontpage. THIS HowardForums and THIS XDA-Dev thread are also worth checking out.

Syndicate content