Log in

View Full Version : You have skipping or other problems with your stereo Bluetooth headphones? Read this!


Menneisyys
10-20-2006, 06:50 PM
Unfortunately, there are major incompatibility problems with current Pocket PC models and stereo Bluetooth headphones – to the point of being completely useless.

For example, I’m unable to use my – otherwise excellent - Plantronics Pulsar 590A with the built-in A2DP (that is, stereo headphone) support of my Dell Axim x51v and HTC Universal (both having AKU2+ ROM’s; that is, their built-in Microsoft Bluetooth stack already supports A2DP). Some 200-400 milliseconds after starting to play anything (there is no such problem with system sounds – clicks and so on), the headphone just goes quiet, and the sound will only return after 5-10 seconds. To get lost again, of course, if I (re)start playing anything in any media player.

Fortunately, I have no such problems with my WM5-upgraded (2.01) HP iPAQ hx4700, the Dell Axim x51v with the Widcomm hack, the iPAQ 2210, HTC Wizard and Fujitsu-Siemens Pocket Loox 720 (the latter three with various hacks and other, smaller problems; the first two has no real problems, the x51v with the Flow hack).

People with other headphone models have wildly different problems. Most of them is the “skipping” problem – the sound just stops for some hundred milliseconds or some parts of the sound stream is just ignored.

In this article, (in addition to my already-published, Widcomm-only global bitstream speed setting (BTSpeedSwitcher) and FlowControl article (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1335&more=1&c=1&tb=1&pb=1)) I elaborate on how the two A2DP implementations (Widcomm, Microsoft (MS)) can be fine-tuned to make your headphones work.

1.1 Communication speed

Most skipping or quieting problems are caused by the too high communication speed between the PDA and the headphones. In these cases, you should first decrease this speed to see whether it helps. If you can get rid of the skips without scarifying much sound quality, then, you can actually make your PDA and headphones compatible.

1.2 Modifying the given values

All the values I’ll elaborate on in this article don’t exist in the Registry by default. This is why I’ve also provided registry import files – you’ll only need to click them from inside Resco Registry Editor (File / Import), the, in my opinion, (for the price) best registry editor for the Pocket PC as can also be seen in the Registry Editor Bible (http://www.pocketpcmag.com/blogs/menneisyys/UltimateRoundupOfRegistryEditors.asp).

These reg. import files contain some default values, which you will most likely need / want to modify with the registry editor (to slightly decrease / increase to decrease the communication speed to get rid of the problems or increase it to have better sound quality, respectively). With most devices (in this test, PL720, hx4700 and x51v with both BT stacks), after you modify a sound quality-related value in the Registry, you’ll only need to restart the BT stack to be able to test the modified value. That is, explicitly stop and restart the BT unit. With the Widcomm BT stack, you’ll need to click “Turn Bluetooth OFF” in the context menu of the BT icon and, then, staright go back to Bluetooth Manager and just reconnect the headphone. With the MS BT stack, in Bluetooth Settings, just untick the “Turn on Bluetooth” checkbox and click OK (or, if it has a Communication Manager dialog like PPC Phone Edition devices, stop BT there); then, re-enable BT and reconnect to the headphones by going back to Bluetooth Settings and selecting “Set as Wireless Stereo” in the context menu of the given stereo headphone.

Note that this (a simple BT stack restart is sufficient) is not the case with the HTC Wizard: with it, for the changes to be registered, you’ll need to power the device completely off by long-pressing the Power button and answering Yes to the question about completely powering down the device. After it is shut down, just press the Power button again and it’ll reboot. It's only then will the changes have effect.

2. Microsoft BT stack: BitPool

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\A2DP\Settings\BitPool

(Registry import script available here (http://www.winmobiletech.com/sekalaiset/A2DPFineTune/Microsoft.reg))

With the Microsoft BT stack, you can set the BitPool value, which has a direct effect on the communication speed between the PDA and the headset. Unlike with the Widcomm BT stack, in here, you can’t directly supply the number of kilobytes the PDA will transfer the sound to the headphones. Here, you’ll need to multiply the value of this registry entry with 6.5 to get the approximate value of the transfer rate.

To fix most skipping problems, you will want to decrease this value (and you will want to increase it to try to enhance the sound quality).

Unfortunately, decreasing it may result in a horrible sound quality decrease. For example, in my tests, I’ve found out that only with the value 24 can I have uninterrupted music transfer between by Dell Axim x51v (with the original MS stack) and my 590A. With any value over that (even 25), there started to be skips.

Increasing it will not necessarily result in a far better sound quality. On my HTC Wizard ((European) MDA Vario by its origins with the KTamas / bepe AKU3.2 RC1 ROM on it), which has a very bad A2DP sound quality by default, increasing this value to even 120 didn’t help – the very bad “typical for non-filtered contents sampled at a low sampling frequency” distortion remained. That is, you can’t raise the sound quality of the Wizard; not even with extra high BitPool values.

I’ve also played a lot with the MinBitPool Registry value (under the same key; see this forum post (http://forum.xda-developers.com/showpost.php?p=970796&postcount=13)), without any success (on my Wizard). That is, at least with the current Wizard hack, it’s pretty futile to try to play with MinBitPool, it seems.

The same stands for SampleRate: it has no effect at all, it seems.

More info here (http://forum.xda-developers.com/showpost.php?p=970796&postcount=13) (AGAIN, please note that setting SampleRate, MinBitPool and MaxBitPool don’t have any effect, at least not on the Wizard!)

3. Tweakability of the Widcomm BT stack

Unlike with the MS BT stack (which only has one parameter to be tweaked), there are far more locations / parameters this stack can be tweaked at.

Note that here, I don’t elaborate on the two previous hacks to combat the “transmission stops after a few dozen minutes; otherwise, it's pretty OK” problem – please see the already-linked global bitstream speed setting (BTSpeedSwitcher) and FlowControl article (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1335&more=1&c=1&tb=1&pb=1) if you have the previously-mentioned problem. The hacks described in this article “only” help with constant skipping problems (and transfer quality fine-tuning), which are completely independent of the subject of my previous article.

3.1 LineSpeed

HKEY_LOCAL_MACHINE\SOFTWARE\Widcomm\Plugin\AV\LineSpeed

(Registry import script available here (http://www.winmobiletech.com/sekalaiset/A2DPFineTune/WidcommA2DPLineSpeedHack.reg))

This registry value is very similar to the above-introduced MS BT stack-specific BitPool. The difference is that it allows Widcomm users to directly supply the bit transfer speed between the PDA and the headphones – no multiplication is necessary.

The valid values start with 64 (that is, 64 kbit/s), which results in intolerably bad sound quality. 128 is still very bad; it’s with 192 that the sound quality starts to become acceptable. With 256, it’s already pretty hard to distinguish from the sound quality higher values result in – that is, you’ll want to start with the value 256 (and only slightly decrease to see whether it helps get rid of the problems).

I’ve even tested my Pocket PC’s with extremely high (400-600 kbps) values; they haven’t delivered noticeably (or at all) better sound quality than, say, the 320 kbps setting and they rendered the transmission far more unreliable / unstable, if working at all. For example, even at 400 kbps, my iPAQ hx4700 paused and skipped from time to time; at 600 kbps, it only played for some 20 secs and, then, went quiet. The Pocket Loox 720 fared a bit better at even 460 kbps but, again, the sound quality gain (if any) wasn’t worth the trouble and the additional BT communication load.

Speaking of the PL720, I’ve also tested whether a slightly lower, but still very good transmission speed (256 kbps) completely gets rid of the need for the FlowControl hack (again, see my previous article on the latter). While it played music for more than two hours, around the third hour, it stopped playing. Furthermore, it still had slight pauses (albeit I haven’t noticed playback at a higher pitch in the following 8-10 seconds). That is, you won’t want to completely get rid of the FlowControl hack. (I’ve also tested the PL720 with the FlowControl hack disabled and at 460 kbps – as opposed to the pretty stable 256 kbps. It shuts down itself after 3-4 minutes and, therefore, is useless, as I’ve expected.)

3.2 Blocks and SubBand

HKEY_LOCAL_MACHINE\SOFTWARE\WIDCOMM\Plugin\AV\Blocks

and

HKEY_LOCAL_MACHINE\SOFTWARE\WIDCOMM\Plugin\AV\SubBands

(Registry import script available here (http://www.winmobiletech.com/sekalaiset/A2DPFineTune/WidcommA2DPBlocksAndSubbandHack.reg))

These two values can also be used to fine-tune your transmission parameters under the Widcomm BT stack. They are settable between 4 and 16. With higher values that 16, the Pocket PC won’t connect to the headphones; with lower values than 4, nothing will be heard (not even system sounds – clicks and the like). The lower the value, the worse the sound quality.

Of the two, the second, ‘SubBands’ parameter has a much less effect on the sound quality as the first (Blocks). For example, if you leave Blocks at (the best) 16 and set SubBands to 4, the sound quality will degrade only slightly (and, with the SubBands value of 8, it’ll be almost impossible to notice any quality difference). It will be in no way as bad as, say, using 128 kbps LineSpeed and will still be much better than the A2DP sound quality of the HTC Wizard.

If, on the other hand, you set Blocks to be 4 and leave SubBands at (the best) 16, the sound quality will be considerably worse. It’ll be, say, as setting the line speed (see section 3.1) to 96 kbps.

That is, first, start play with the SubBands value. Decrease it to, first, 8 and if it doesn’t help, 4. Then, if the latter doesn’t result in any usable result, start decreasing Blocks. Again, descreasing Blocks will have a very bad effect on the sound quality.

Note that Blocks only seems to have effect on 1.7 Widcomm versions; 1.5 versions (like the PDA2k upgrade usable on the Pocket Loox 720) don’t take this value into account at all. (Haven’t tested it with 1.6 like the HP update usable on WM2003 and some WM2003SE devices.)

(These three hacks were originally discovered by the well-known mikespikel (http://www.aximsite.com/boards/showpost.php?p=1200423&postcount=733) in this thread (http://www.aximsite.com/boards/showthread.php?p=1200423).)

3.3 Other additional registry values available in desktop Widcomm implementations and some forum posts

I’ve also thoroughly tested the desktop Windows values listed here (http://driveragent.com/archive/8531/1-29). They allow for tuning the bits-per-sample ("BitsPerSample"), setting the sampling frequency ("SamplesPerSec"; the case is similar to the “SampleRate” case of the MS BT stack) and setting the number of channels (mono or stereo; "Channels"). None of them seems to have any effect. If you still want to give it a try, the registry import script is available here (http://www.winmobiletech.com/sekalaiset/A2DPFineTune/DesktopWidcommAdditionalValues.reg).

Hx4700
10-21-2006, 05:50 AM
I had great success with your hacks for the 4700. Now I'm trying to follow this one on my Hw6945.
I get as far as HKLM\SW\Wincomm\Plugin\AV. Then I have two keys - for AutoLoadOnStackShutdown and ...Startup.
The closest I found was \Widcomm\BTConfig\SerialTransport\BaudRate = 921600
Any thoughts on the Hw69xx?
Thanks... Ron...

Menneisyys
10-21-2006, 05:58 AM
I had great success with your hacks for the 4700. Now I'm trying to follow this one on my Hw6945.
I get as far as HKLM\SW\Wincomm\Plugin\AV. Then I have two keys - for AutoLoadOnStackShutdown and ...Startup.
The closest I found was \Wincomm\BTConfig\SerialTransport\BaudRate = 921600
Any thoughts on the Hw69xx?
Thanks... Ron...

You need to add these values - they don't exist by default. That is, you need to explicitly create / import them from my registry import scripts.

Hx4700
10-21-2006, 02:03 PM
Thanks. :D Sorry, I missed that wrinkle. :oops:
Ron...

jenkinsja
01-06-2007, 05:41 PM
OK - I just picked up this forum. I noted in the article that led me here that you mentioned Widcomm 1.5, 1.6 etc... if I still have 1.4 - is there any hope for me? I am using an Ipaq H4350. I do not have any of the HP upgrades installed (I did for a while but was getting constant screen freezes - so went back to the native install and all is working fine for a couple of years now). I was trying to see if my IOGear stereo bluetooth headphones would link to the Ipaq without the added bluetooth sendin unit plugged into the headphone jack. That works, but is difficult to manage in real life usage. Where do I need to start, or can I without the ROM upgrades?

Thanks,'

Jeff

Menneisyys
01-08-2007, 04:49 PM
OK - I just picked up this forum. I noted in the article that led me here that you mentioned Widcomm 1.5, 1.6 etc... if I still have 1.4 - is there any hope for me? I am using an Ipaq H4350. I do not have any of the HP upgrades installed (I did for a while but was getting constant screen freezes - so went back to the native install and all is working fine for a couple of years now). I was trying to see if my IOGear stereo bluetooth headphones would link to the Ipaq without the added bluetooth sendin unit plugged into the headphone jack. That works, but is difficult to manage in real life usage. Where do I need to start, or can I without the ROM upgrades?

Thanks,'

Jeff

1, welcome to PPCT :)

2, unfortunately, without the HP upgrade, I don't think it's possible to listen to anything via A2DP on WM2003 devices.

(BTW, did you mean the HP A2DP upgrade, or a generic 4350 ROM upgrade?)

jenkinsja
01-08-2007, 05:33 PM
I was referring to the generic 4350 ROM upgrade. Can I still do the A2DP upgrade (whatever that intails) without the generic 4350 ROM upgrade?

Thanks,

Jeff

Menneisyys
01-08-2007, 05:39 PM
I was referring to the generic 4350 ROM upgrade. Can I still do the A2DP upgrade (whatever that intails) without the generic 4350 ROM upgrade?

Thanks,

Jeff

Sure you can! You can install it on any WM2003 device.

jenkinsja
01-08-2007, 07:53 PM
I'm really nor sure what the A2DP upgrade intails - and do I also need to upgrade my Widcomm from 1.4 to something else? I still have media player 9.0 as well - does that need to get an upgrade to 10?

Thanks,

Jeff

Menneisyys
01-08-2007, 09:28 PM
I'm really nor sure what the A2DP upgrade intails - and do I also need to upgrade my Widcomm from 1.4 to something else?

The update does exactly this - and nothing else.


I still have media player 9.0 as well - does that need to get an upgrade to 10?


Nope.

jenkinsja
01-09-2007, 02:05 AM
I installed the A2DP update and paired my IOGear bluetooth headphones. Then when I try to connect to the headphones I get a message saying "High Quality Audio on IOGEAR - Connecting..." But it just hangs there and does not connect. Any ideas? I did change the flow control from 1 to 0.

Jeff

jenkinsja
01-12-2007, 01:23 PM
I had installed the A2DP update previously, but it was actually the Broadcomm version and not the Widcomm version. I went to the link in the HP service area (http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=us&prodTypeId=0&prodSeriesId=322916&prodNameId=306698&swItem=PSG_I22475-107080&swEnvOid=2008&swLang=8&taskId=135&mode=3) and now it is working beautifully. I did also change the flow control in the registry from 1 to 0 which eliminated the poping and skipping.

Thanks!

Jeff

rmo67
01-30-2007, 08:06 PM
Hi,

I am sort of new to all of this so please forgive me. I am still having problems. I'll try to explain everything here:
Equipment:
Dell Axim X51V (newst model purchased in December 2006)
Motoroloa Headset HT820
and also I sometimes use a Bluetooth Reciever for my PC Speakers.
Installed:
Broadcom Bluetooth StackX51V05.cab
Aximsite_wirelessPower.cab

Problem is the same when using either the headphones or the speakers with the Dell:

I have installed all the tweaks using the downloaded tweaks provided both on here and also the other tweak:

WidcommBtConfigSerialTransportFlowTransport.reg
WidcommA2DPLineSpeedHack.reg
WidcommA2DPBlocksAndSubbandHack.reg

I have even increased my proccessor power to max and also to auto.

When I try to listen to musci either on my SD card or if I try to stream it using GSPlayer and the Shoutcast Site I still get skips or pauses. The music might play for 10 to 30 seconds and then a half a second to 2 second slience and then it plays again for another 10-30 seconds until it happans again.

I have all the registry settings as set out in the downlaod Reg Hacks. Can you tell me what I might need to do exactly to fix this for the X51V and Motorola HT820 headphones please. You can also email if you would like. Thank you or anyone in advance.

Michael