yashsingh1/xdaforums huggingface dataset:
[8525, TyTN, MDA Vario II, JasJam General] ankush1492:
there is some of the features that are required but are not present in this manager :

1. When recieving multiple files there is no "save all" or "discard all" option.

2. When recieving a file its recieed percentage is not displayed.

Can anyone add these 2 features in it i will be very thankful...
[8525, TyTN, MDA Vario II, JasJam General] pyrorob:
i wonder, would changing the bluetooth stack on the hermes fix the problems with ms voice command?

being the inability to normaly route audio for responses and incoming calls?
[8525, TyTN, MDA Vario II, JasJam General] weasel5i2:
How about the TyTN-II?

Hello,

Will this work on a Kaiser/TyTN-II? My BT is fine, but this guy wants to know:

http://xdaforums.com/showthread.php?t=449775

Just trying to help him out.

--Weasel5i2
[8525, TyTN, MDA Vario II, JasJam General] xenobia:
Compatibility

Could Someone be Kind Enough to Anser My Question?

Is This Widcomm Stack Compatible with MS Stach?

What I Mean is HERMES Device with This Widcomm Stack can be Paired with Window7 or XP PC?

Otherwise should we download widcomm stack for PC, and is it possible?

Thanks in Advance!
[8525, TyTN, MDA Vario II, JasJam General] wencelf:
How

How do U change ports. I have WM 6.5.3. Sorry if the Q is too lame but i am new here. Thanks in adance.
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
@MikelSpikel:

On the Hermes there is a WAV1: device registered. If you are looking for the BT Audiogateway then on the Hermes its a service on BAG0:. I can code up something in a few minutes that will use the commands from your code snippet to test the responses on WAV1: and if those don't work then try BAG0:.

edit: Code complete, testing now....

@all:

I will make no claim on the money that's been offered to provide this hack. My work for xda-developers and the WM community at large is always at no charge :)
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
Success! The WAV1: device accepted the commands in your code snippet! btw: I uncommented the second command from your example and it accepted that one too.

testing now to see if the commands themselves mute/restore bt audio...
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
hmmm... no joy muting. Here's the code I used:

// Widcomm test code

HANDLE l_File;
char l_cmd[]={0,0,0,0,0x75,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd3[]={0,0,0,0,0x74,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd2[20];
DWORD l_br;
long l_res;
int i;
for (i=0;i<20;i++)
{
l_cmd2[i]=0;
}
l_File=CreateFile(_T("WAV1:"),GENERIC_READ | GENERIC_WRITE, 3, NULL,3,0,0);
if (l_File==0)
{
MessageBox(NULL,_T("Error opening WAV1:"),_T("Widcomm"),0);
return false;
}
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(NULL,_T("IOCTL1 Error"),_T("Widcomm"),0);
return false;
}
else
{
MessageBox(NULL,_T("Audio Muted"),_T("Widcomm"),0);
return false;
}
/*
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd3,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(NULL,_T("IOCTL2 Error"),_T("Widcomm"),0);
return false;
}
else
{
MessageBox(NULL,_T("Audio UnMuted"),_T("Widcomm"),0);
return false;
}
*/

To test, I connected up my HS-12W then initiated a phonecall. I could hear the phone ringing in my headset. I then executed my test program and the "Audio Muted" dialog was returned; however I continued to hear the phone ringing in my headset. Tested with A2DP too and same results.
[8525, TyTN, MDA Vario II, JasJam General] mikelspikel:
OK! Don't forget to test with 0x79 in l_cmd, as this was the original byte in the dll. The second IOCTL restores the audio in the Axim, so maybe it's better to test the first one by its own.

I'm trying to remember why there's a commented 1 in both buffers...
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
I uncommented the 1 and commented the adjacent 0 and no diff btw.

Unmute command is commented out as can be seen in my example.

Trying 0x79 now....
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
0x79 Worked! Audio muted perfectly! :D
[8525, TyTN, MDA Vario II, JasJam General] mikelspikel:
I see now. Our posts crossed. :)

Anyway, reading the test you did I believe I didn't explain very well (or maybe I haven't understood the test). The purpose of the IOCTL is disabling the internal audio (speaker) of the device (that's what I called "mute") and routing it through BT. I don't remember if having BT enabled was necessary or not. I'll try it in detail and will post the results later.
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
hmmm.... Well, it certainly muted the BT audio stream too. I'll test with the external speaker... Hold on one second....

Yep, when my headset is disconnected, it also mutes the internal speaker. Same effect when using speakerphone.
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
Ok, just so we're both on the same page :) Here is the code I'm using:

// Widcomm test code

HANDLE l_File;
char l_cmd[]={0,0,0,0,0x79,0,0,0,0,0,0,0,0,/*1*/0,0,0,0,0,0,0};
char l_cmd3[]={0,0,0,0,0x74,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd2[20];
DWORD l_br;
long l_res;
int i;
for (i=0;i<20;i++)
{
l_cmd2[i]=0;
}
l_File=CreateFile(_T("WAV1:"),GENERIC_READ | GENERIC_WRITE, 3, NULL,3,0,0);
if (l_File==0)
{
MessageBox(NULL,_T("Error opening WAV1:"),_T("Widcomm"),0);
return false;
}

l_res=DeviceIoControl(l_File,0x1D000C,l_cmd,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(NULL,_T("IOCTL1 Error"),_T("Widcomm"),0);
return false;
}
else
{
MessageBox(NULL,_T("Audio Muted"),_T("Widcomm"),0);
return false;
}
/*
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd3,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(NULL,_T("IOCTL2 Error"),_T("Widcomm"),0);
return false;
}
else
{
MessageBox(NULL,_T("Audio UnMuted"),_T("Widcomm"),0);
return false;
}
*/

After I connect a call I can hear the phone ringing. When I execute the program, I get an "Audio muted" dialog and the audio output is muted. This effect occurs no matter where the audio output is going to. I've tested this on BT headset, internal speaker and speakerphone speaker.

Looks like we have liftoff and can consider this test a success!
[8525, TyTN, MDA Vario II, JasJam General] research12:
sounds fantastic; when can we count on having a cab file to test the widcomm stack ourself?
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
Sorry... didn't mean to get anyone going with that last post. This was simply an initial compatibility test to see if existing work interfacing the widcomm stack might apply to the hermes.

I'd also like to suggest keeping posts OT here: ie developer related information only. It'll make it easier for the various developers to keep track of the current state of the project.

Lurking is good tho.... :)
[8525, TyTN, MDA Vario II, JasJam General] superdave:
Thanks for the code and the info, still playing with it. The ioctl's will redirect the audio, just not sure where yet.

Are you using anything in particular to edit those scripts., besides a hex editor.

Also, did you ever come across any widcomm stack docs, anything on those reg options for the Handsfree plugin.

Thanks again

,Dave
[8525, TyTN, MDA Vario II, JasJam General] adisor19:
There is quite a bit of info in the SDK from broadcom available here :

http://www.broadcom.com/products/bluetooth_sdk.php

Even though it's not specific to the stack functioning, a lot can be learned from the internal functioning of the stack since many of it's functions and source code are discussed.

Adi
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
@superdave:

In case you haven't done this yourself yet, here's a compiled/tested copy of MikelSpikel's btsparser prorgram that's been set for COM7: With BT off, it connects fine. I converted this app from eVC to VS2005 since this is the ide I use. Let me know if you need project files.

I left the default speed intact but can change to 921600 if you want...
[8525, TyTN, MDA Vario II, JasJam General] mikelspikel:
Hummm, I've repeated some tests with the IOCTLs and I'm afraid I've posted the wrong code information :( .I'm sorry. Let's see if I can do it better:

Start point: Dell Axim X51v with Aximsite Widcomm Stack v0.5. WaveDev device (WAV1) managed by btcedrivers.dll (instead of default wavedev.dll). BT OFF. Music and system sounds being played through internal speaker.

If I run this code, the internal speaker mutes (the audio is being routed somewhere else (BT))

void RouteAudioSomewhere()
{
HANDLE l_File;
char l_cmd[]={0,0,0,0,0x75,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0};
char l_cmd3[]={0,0,0,0,0x74,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0};
char l_cmd2[20];
DWORD l_br;
long l_res;
int i;
for (i=0;i<20;i++)
{
l_cmd2[i]=0;
}
l_File=CreateFile(_T("WAV1:"),GENERIC_READ | GENERIC_WRITE, 3, NULL,3,0,0);
if (l_File==0)
{
MessageBox(_T("Error opening WAV1:"));
return;
}
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(_T("IOCTL1 Error"));
return;
}
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd3,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(_T("IOCTL2 Error"));
return;
}

}

(Please note the ones in l_cmd and l_cmd3).

The audio comes back to the internal speaker by executing:

void RouteAudio2InternalSpeaker()
{
HANDLE l_File;
char l_cmd[]={0,0,0,0,0x75,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd3[]={0,0,0,0,0x74,0,0,0,0,0,0,0,0/*1*/,0,0,0,0,0,0,0};
char l_cmd2[20];
DWORD l_br;
long l_res;
int i;
for (i=0;i<20;i++)
{
l_cmd2[i]=0;
}
l_File=CreateFile(_T("WAV1:"),GENERIC_READ | GENERIC_WRITE, 3, NULL,3,0,0);
if (l_File==0)
{
MessageBox(_T("Error opening WAV1:"));
return;
}
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(_T("IOCTL1 Error"));
return;
}
l_res=DeviceIoControl(l_File,0x1D000C,l_cmd3,20,l_cmd2,20,&l_br,0);
if (l_res==0)
{
MessageBox(_T("IOCTL2 Error"));
return;
}

}

(This time the ones are commented and substituted by zeroes).

The original code read from HTC_PCM_Routing.dll has 0x79 instead of 0x75 and 0x78 instead of 0x74. I'd try with these two values as, if I've understood correctly, both Sleuth255 and Superdave seem to have gotten results using them.

This code is only interesting to figure out which are the correct ioctls to reroute the audio to the BT chip. Once we have the correct values, we can use MkSpk_PCM_Routing.dll (if 0x75 and 0x74), original HTC_PCM_Routing.dll (0x79 and 0x78) or we can build a new one with the values we found.

This dll has to be referenced in [HKLM\Software\Widcomm\Plugin\HandsFree\AudioSetupDll]
[8525, TyTN, MDA Vario II, JasJam General] mikelspikel:
We haven't found too much information about widcomm registry entries and even less about the BRF6150. It's a shame.

We used a hex editor to change the bts files. The audio routing stuff is at the end of the file. By reading the code of the btsparser you can split the bts file into several command/wait_for_response segments. I have some other bts files from other devices (not sure which ones at this moment). Find them attached.
[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
I'll load up your Widcomm stack from aximsite tomorrow. I'm just playing with the sdk now....
[8525, TyTN, MDA Vario II, JasJam General] superdave:
I can now get the audio transferring to the headset. Just need to put it all together now. Should have a cab soon

,Dave
[8525, TyTN, MDA Vario II, JasJam General] jasjamming:
Thanks superdave,

when you say CAB, are you implying a full working widcomm solution? or just parts of it?

also, can you turn off/on the Widcomm BT from the connection manager?
[8525, TyTN, MDA Vario II, JasJam General] superdave:
A full working widcomm stack. Yeah you can access the widcomm stack from the control panel. You could also run both stacks, one at a time.

,Dave
[8525, TyTN, MDA Vario II, JasJam General] shogunmark:
is it wrong that this thread "excites" me ha ha ha ha

keep up the good work!
[8525, TyTN, MDA Vario II, JasJam General] superdave:
Heres the first test cab, this is based off the work done by mikelspikel and others on the axim. This was tested from a hard reset and all worked fine. Soft reset after installing. You can only run one stack at a time, so make sure you turn off the MS stack before starting the widcomm stack . You do not need to remove any of the MS stacks reg keys. This is still in the testing stage, so don't use it if your concerned about losing data and you do not have a backup.

I am still working on the hfp, I just wanted to get this out so people could test the other areas.

.01

Known issues - After routing audio to the headset, the internal speaker does not turn off.
[8525, TyTN, MDA Vario II, JasJam General] jasjamming:
sweet, as soon as I get my device back I will test it....
[8525, TyTN, MDA Vario II, JasJam General] mikelspikel:
Good work! How did you manage to route the audio to the headset?

I believe the problem of the internal speaker could have something to do with the previously stated ioctls, don't you agree?
[8525, TyTN, MDA Vario II, JasJam General] adewidt:
I guess you diasable the MS stack by removing the registry key [HKLM\SOFTWARE\Microsoft\Bluetooth] after creating a back-up of it. Am I right?
[8525, TyTN, MDA Vario II, JasJam General] tc08:
I just installed the .cag abd did a soft reset, it seems to work just fine, have only paired it with my mac so far, though.
[8525, TyTN, MDA Vario II, JasJam General] Wideman:
I got the same trouble that the internal speaker doesn't turn off when I use the headset. Anyone got a solution?

Otherwise it seems to work just fine. I didn't change anything in the registry, just left the MS BT-stack turned off in the comm manager and then installed the new stack with a soft reset after that...
[8525, TyTN, MDA Vario II, JasJam General] jebbers:
Wow, it's working and the sound is much much better! I just installed the cabfile and did a soft reset. Paired with my sony ericsson and WOW! Great work guys! I didn't manage to get my HBH-DS970 working as a handset for calling as well. It can just use the a2dp-service, but that's already a very big improvement!!!

Thank you very, very much!
[8525, TyTN, MDA Vario II, JasJam General] baudy2:
It behaves abit strange on my TyTn -

1. I turn off MS BT stack.

2. I try to switch ON Broadcomm stack using tray icon - the message is -

"The Bluetooth radio failed to turn on due to insuffecient driver memory

available. You must perform a normal reset before you can turn ON the

Bluetoorh Radio.

3. Having MS BT stack switched off i do a normal (soft) reset

4. Try to switch on the BC bluetooth - i have the same message,

Any ideas ?
[8525, TyTN, MDA Vario II, JasJam General] adewidt:
I did the same.

This stack also works on the HTC Trinity/HTC P3600 :)

Edit:

It only worked the first softreset.

The second softreset gave a memory error.
[8525, TyTN, MDA Vario II, JasJam General] leaskovski:
Hmm, im tempted to try this on my wizard, but i suspect it will probably not work.

Edit: No it doesnt work on the Wizard. After the soft reset it says there isn't enough memory. That old chestnut!
[8525, TyTN, MDA Vario II, JasJam General] vmirage:
before i get over excited... does widcomm stack support Voice Dial? As far as I know, only MS Bluetooth stack supports voice dial rite?
[8525, TyTN, MDA Vario II, JasJam General] walshieau:
ahhh more Widcomm memory issues.... i had the same issues when i ported the stack to the Magican, it would work the first time but not after that... it has a problem with releasing allocated memory on clean shutdown, and the only way around this was to soft reset the device... one step is to disable all non-required services in bluetooth and automatic discovery and beam....

if you guys need any programming help just email me... know a fair bit of VS2005....
[8525, TyTN, MDA Vario II, JasJam General] superdave:
If your getting the memory issues,here are a couple things to check.

Make sure the MS bluestack is off.

Set the StackMode value under widcomm/general to 1.

Check the debug entries under widcomm/debug

mikelspikel,

This is using the original ioctl values and the existing btagext to activate the audio. 79 will turn it off and on, but, doesnt mute the speaker. If I pass the ioctls after a phone call is connected it does mute it. I have a custom audiohandling dll im testing now I which will do thata.

,Dave
[8525, TyTN, MDA Vario II, JasJam General] superdave:
By using a custom audio handler and monitoring the phone state, I can now get the speaker to mute on the handset when in a call. I'm still working on the speaker muting when not in a call.

,Dave
[8525, TyTN, MDA Vario II, JasJam General] Jaqb:
I installed your widcomm stack and it works great....RESPECT! :D

but I've got a problem with USB to PC setting now...when I try to disable advanced netword functionality I get "Failed to disable RNDIS to use Serial" error. is there a way to solve this ? ( and not by uninstalling widcomm ;) )
[8525, TyTN, MDA Vario II, JasJam General] new2city:
working with Wizard

Wow!! it works on Wizard, connected with itechS35 and discovered the A2DP profile and can connect successfully, but signal too weak to play a song for more than 1 second...

No more audio from speakers as well... doh!!!

Any suggestions? Ideas... don't know if I can use the phone anymore...
[8525, TyTN, MDA Vario II, JasJam General] Menneisyys:
Try degrading the sound quality parameters in the registry; see http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1350&more=1&c=1&tb=1&pb=1
[8525, TyTN, MDA Vario II, JasJam General] Menneisyys:
See http://www.aximsite.com/boards/showpost.php?p=1173015&postcount=637 and http://www.aximsite.com/boards/showpost.php?p=1175015&postcount=650 for the solution. (It, I think, should work on any non-Dell device too - haven't tested it on the TyTN)
[8525, TyTN, MDA Vario II, JasJam General] oholic:
It works!

Very nice!!

1) Cant control volume while listeing to music

2) I`ve tested it with my QStarz stereo headset. The audio doesnt break up. But I will hear some kind of artifac in the background. Maybe all those A2DP pathes ? Or it just my headset?

3) At first it shows I have good reception and after 10 sec it falls to LOW.

4) Quality is of music is ... oK!

Great work!
[8525, TyTN, MDA Vario II, JasJam General] research12:
works on my trion. following issues when pairing with a motorola 500 hands free. after call is finished, sounds of trion device can only be heard in the headset. no ringing, no click sounds etc on the device anymore. handsfree seems to stay connected even if no call is running.

no blue led is blinking like with ms stack.

no handsfree icon on the phone skin to see if headset is connected.
[8525, TyTN, MDA Vario II, JasJam General] Jaqb:
...so I tried it... and now I cant even use PHONE function... it says "A wireless radio must be attached to use the phone." :eek:

I'll play with the registry for now....I surely dont want to do a hard reset...
[8525, TyTN, MDA Vario II, JasJam General] Menneisyys:
OK, keep us posted.
[8525, TyTN, MDA Vario II, JasJam General] Menneisyys:
The A2DP sound q of the Widcomm BT stakck is FAR superior to that of the MS BT stack. However, there may be incompatibilities with a given headpshones mode.

Try tweaking the A2DP parameters. See my A2DP articles posted to the General forum in here.
[8525, TyTN, MDA Vario II, JasJam General] bobstarina:
Some results of my testing

OK guys, I've installed this stack.

What I've already tried:

1. A2DP - works great with my Jabra BT-620! No more skipings at all. Sound is definetely clear. Sound volume is much louder in comparision with MS stack. Range of stable audio receiving is great too! Small minuses: absence of topbar icon wich shows audio bt connection in MS stack

2. AVRCP: works great in both WMP and MortPlayer (sound volume buttons of my Jabra control volume inside headphones but I think that this is a standard for my headset)

3. SPP: tried with my BT keyboard which connects to PocketPC throw COM interface. Working OK. One important issue - am I right thinking that with Widcomm stack I have no ability to use two COM BT devices simultaniously? It's not good...

4. HS, HSF: Not tested with my Jabra but tried to use it with my Parrot CK3300 car kit. TyTN connects to Parrot as headset and I not tried to use them during a call (will try it tomorrow). When I try to connect Parrot to TyTN as a handsfree I get.very strange results: Parrot connects to device as handsfree then Parrot shows me call in progress (no real phone call during this). When I hang up Parrot it start to make a fake call during some seconds again.

So I'm waiting for working handsfree profile

Issues with Widcomm stack in global: same problem with my device as described by some people above. This stack is loading only after a soft reset with stylus. In other cases I receive a message "Not enough memory for loading driver". Proposed resolving of this issue tested already - it not helped.
[8525, TyTN, MDA Vario II, JasJam General] Jaqb:
So I manage to recover :-)

phone works, usb to pc works and widcomm works :P

basicly what I did was changing [HKLM\Software\Widcomm\BTConfig\Applications\0001\ComPortNumber] from 8 to 9 and then create new 'Serial9' key-entry in [HKLM\Drivers\BuiltIn\] from 'Serial5' changing only DeviceArrayIndex and Index from 5 to 9 and FriendlyName to 'Bluetooth Serial Port COM9:'

I also discovered that when I plugin the USB cable while BT is OFF I cant turn BT ON again because I get this '..insufficient memory..." message, on the other hand when BT is ON when I connect the USB cable I have no problem turning BT OFF and ON again. WEIRD....:confused:
[8525, TyTN, MDA Vario II, JasJam General] superdave:
Good info, i'll look into adding that change to the cab. Im very close to getting audio transfering correctly. I hope to have somthing up tonight.

,Dave
[8525, TyTN, MDA Vario II, JasJam General] floats:
Has anybody got this to work with Microsoft Voice Command, specifically 1.6? For the most part, with the XCSdm Bluetooth Voice Command hack, I've been able to use VC 1.6 for what I want it for. I really only use my bluetooth headset to activate Voice Command and dial calls. With the Widcomm/Broadcomm stack installed, it doesn't even initiate VC.
[8525, TyTN, MDA Vario II, JasJam General] mikelspikel:
Very good progress, isn't it? :)

@superdave,

I've had a look to the cab and I've seen a couple of files that I believe aren't necessary as they are part of a tool we developed to switch BT on and off by pressing a hardware button in the Axim. They won't work in devices other than the Axim. They are WirelessPower.exe and WirelessPowerConfig.exe. There are a related registry entry ([HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Keys\40C6]) and a shortcut to WirelessPowerConfig.

Good luck with audio routing!
[8525, TyTN, MDA Vario II, JasJam General] superdave:
Thanks, I had taken them out of the first cab I did, but, forgot to take them out of the posted version.

,Dave
[8525, TyTN, MDA Vario II, JasJam General] mmm beer:
I don't mean to take this thread off-topic, but could this hack work on any other HTC devices, specifically the Tornado? I am currently using the Tornado A2DP hack, but I'd really like better audio quality and range. TIA.