Widcomm stack for Hermes development thread - 8525, TyTN, MDA Vario II, JasJam General

Hellow all, as noticed in the thread
http://forum.xda-developers.com/showthread.php?t=284329
we have pledged to ghather some 500$ and give it to some developer/hacker that is willing to port for us the latest version of the Widcomm stack for the Hermes. The reason for this is basically that the MS one simply has way too many bugs and lacks a lot of functionality.
I have contacted mikelspikel from aximsite and he agreed to try and help us. This will be the thread where we will discuss the porting efforts.
I will begin by posting mikelspikel's message :
"Hi!
I'd be delighted if I could help you but it's very difficult without having a device to test. I can give you some guidelines for you to test. You'll need a registry editor such as Resco Explorer registry add-in.
The package we built is completely oriented to the X50 / X51, but maybe it can be adapted to work with other devices easily, so I'd start installing our package. But be careful! Do it only if you don't mind having to hard-reset your device! You'll probaly need to.
The first thing we must make work is the communication between the main processor and the BT chip. This is done through a serial port. In the Axim, this port in COM5 and it's referenced in the registry in [HKLM\Drivers\BuitIn\BTUart]. This driver can be different in other devices, but usually it isn't difficult to figure it out from a [HKLM\Drivers\BuitIn\] branch registry dump (you can send me a dump of this branch if you want me to have it a look). Once we have the correct COM port, we have to modify [HKLM\Software\Widcomm\BTConfig\SerialTransport]. In Axim, as the BT port is COM5, we have to set Device=COM and Port=5.
The BT chip of our device defaults to a baudrate of 115200 bps, so we set BaudRate=115200. With ShiftSpeed and ShiftCommand we increase the port speed after connecting at 115200. In order to test safely in your device, i'd delete or rename these two keys and i'd keep BaudRate at 115200.
These two settings (COM port and BaudRate) are the two that use to make the stack startup fail with the out of memory message.
Other keys key I'd change at the beginning of the test process are, in [HKLM\Software\Widcomm\BTConfig\General], I'd delete or rename RadioInitLibrary and RadioInitPostLoadScript.
It's important to know that there's a log where we can find sometimes useful information about what's going on. This log is located in registry too, in [HKLM\Software\Widcomm\BTConfig\Debug\Log].
I think this is enough to start the tests. Let me know your results or any question you have. I'll try to do my best to help you. You can use my email if you prefer (*******@gmail.com).
Greetings,
Mikel"
I edited the e-mail as i rahter we post all our findings in this thread in order to avoid spamming him
So whoever feels brave enough to do some testing, go right ahead. I'm unfortunetly still busy these days but i'll be dropping by from time to time to hopfully post my findings.
Once again a BIG BIG thank you to mikelspikel for helping us and let the testing BEGIN!
Adi

I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave

superdave said:
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
Click to expand...
Click to collapse
Cool, what version of the stack are you testing ?
Also, you can download the Widcomm for Win CE (aka mobile) SDK and tools at http://www.broadcom.com/products/bluetooth_sdk.php for free.(registration required)
Adi

Let the hacking begin...... mwuahahahahahahahahahahahaaaa.
Ok, im getting ahead of myself now but this is good news thus far.

I am using 1.7, the same as the axim version.
,Dave

jasjamming said:
this is good news thus far.
Click to expand...
Click to collapse
Good? I'd say it's great! And I don't even have a TyTN yet.

superdave said:
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
Click to expand...
Click to collapse
Is it possible to enable and disable Wdcomm bluetooth from commManager?
And it supports PAN profile, doesn't it?

great, looking forward in the progress of this hack.

Hi!
Glad of the progress so far! Superdave, are you interested in sharing your settings/progress?
In the Axim, one of the most difficult tasks was making HFP and HSP work. They need some vendor specific HCI commands to be sent to the BT chip (Texas Instruments BRF6150 in the Axim). Does anybody know which is the BT chip in the Hermes? Maybe we can get some info about HSP/HFP from the documentation of that chip.
BTW, Dave, have you tested BT and WiFi toghether? Does it work? That was another problem we found in the Axim. It requires some vendor specific commands too.

The Hermes uses the same BRF6150 chip.

Cool! Nice you see you here mikelspikel

Menneisyys said:
Cool! Nice you see you here mikelspikel
Click to expand...
Click to collapse
I meet you everywhere! How is this possible?

Sleuth255 said:
The Hermes uses the same BRF6150 chip.
Click to expand...
Click to collapse
That's very good! In Aximsite we got the proper HCI commands to enable WiFi and BT coexistence and audio routing to enable HFP/HSP in the BRF6150. If Superdave posts information about the state of his development, maybe we can use some of these commands to make HFP/HSP work.
Moreover, I developed a bts (Bluetooth Script) parser that can be used to get the responses from the BRF6150 when initialization commands are sent. For the Axim, we built a file called MkSpk100.bts that enables both coexistence and audio routing. Maybe this file can be used directly or slightly modified in the Hermes.
Superdave, did you start working with the Aximsite package or did you start from scratch? If the first is the case, could you please post what modifications you did to the original package?

Yeah, I started with the Axim package. Your script and dll mods do connect the HS but audio is not routing. The only mods needed to get the axim package installing is to remove the ms stack and change the com port to 7 the baud to 921600 and flow to 0, I also removed the shifts. Also the stack uses com 7/8 by default for the serial ports, that needs to be changed to com0/8.
Im intersted in your bts parser and the mods you made. I see the mods you made in the dll, MOV R0, #0x79 to MOV, R0 #0x75 before the IO CTL, but, not sure exactly what your doing there yet.
Thanks,
Dave

Quickly tested the stack & the hack instructions on the Universal; no success so far, no matter how I teaked the parameters. I will also test this on my HTC Wizard.
Anyone with these devices?

superdave said:
I'm making some pretty good progress here.
I have the existing stack disabled and the widcomm stack enabled and discovery works fine.
I have the following profiles tested so far.
A2DP - works very good, much better then the ms stack.
Active Sync - works good.
File Transfer- works good.
Serial - works good.
These are just the ones I have tested so far, others probably work fine too. The main issue right now is the headset profile is not working. That is what I am focusing on. Once that is done I will just have to put a cab together.
,Dave
Click to expand...
Click to collapse
Awesome dude!!

this sounds great guys so far. I wish I could contribute but my knowledge on software is fairly limited.
I myself am an electrical/electronics engineer with a PhD where I specialize in 3G-4G basaband hardware (microelectroncis). Soon we will see UWB (ultra wideband) communications on PDA's where we can stream HD video to our LCD TV's etc as well HD music to our digital receivers. Also, I have a student working on gyro's for PDA's where it will enable you to, for e.g., dial a number by just writing the number in thin air with the PDA (there are more benefits besides this)
Its good to see a device like the hermes offering so much, but from I know about bluetooth (having designed baseband components for bluetooth 1.1 back in the day (in 2001) ), I know it "shouldn't" operate the way M$ configures it to via its firmware/software.
So the progress made so far sounds excellent. Once all the profiles work and reg hacks made etc.... will this be made available in a CAB or EXE for us software "lay" people to install with ease?
Cheers and great work.

superdave said:
Yeah, I started with the Axim package. Your script and dll mods do connect the HS but audio is not routing. The only mods needed to get the axim package installing is to remove the ms stack and change the com port to 7 the baud to 921600 and flow to 0, I also removed the shifts. Also the stack uses com 7/8 by default for the serial ports, that needs to be changed to com0/8.
Im intersted in your bts parser and the mods you made. I see the mods you made in the dll, MOV R0, #0x79 to MOV, R0 #0x75 before the IO CTL, but, not sure exactly what your doing there yet.
Thanks,
Dave
Click to expand...
Click to collapse
Good! It's curious the BT chip works by default at 921600.
Well, the MkSpk_PCM_Routing.dll is, as you noticed, a modified version of the original HTC_PCM_Routing.dll. We were working with several versions of the files, some from an Axim X50 WM2003 and some from an iPaq hx4700.
In the X50 version, the file TIBinaryParser.dll has a function called SetAudioRouting. This function basically has a call to a DeviceIoControl of device WAV1. Running such a IOCTL from a C++ program mutes or activates the integrated audio of the Axim.
In the iPaq, the SetAudioRouting function is located in HTC_PCM_Routing.dll instead of in TIBinaryParser.dll. Moreover, the IOCTL has a different parameter (0x79 instead of 0x75), so we patched the original HTC_PCM_Routing.dll to be compatible with the IOCTL that works in the Axim. Have you tried with the original HTC_PCM_Routing.dll? You have to reference it in [HKLM\Software\WIDCOMM\Plugin\HandsFree\AudioSetupDll].
You should also check if the default audio device of the Hermes is called WAV1 too. If it isn't, the IOCTL won't work.
Maybe we can figure out the correct IOCTL building a C++ program. The code I used is:
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(_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;
}*/
If I remember OK, in the Axim, l_cmd mutes internal Audio and l_cmd3 enables it. The parameters we changed in the DLL were the 0x75 and 0x74 of these two buffers.
Find attached the BTS parser eVC++ 4 source code. It's a too quickly developed app to send bts files to the BT chip and trace the responses. You'll need to change some code, at least the comport the chip is connected to. Let me know if you need some help about it. The code is properly uncommented but it's very simple.

Hey Mikelspikel,
Thanks for your input to this project. It is greatly appreciated. I look forward to the progress made to a complete widcomm solution to the hermes..

great that you guys are working on this. the ms bluetooth is one of the largest fun killers with the hermes. thumbs up! and good luck for the patch...

Related

Program that plays all PDA sounds via bluetooth headset

What't the free program that routes all the PDA sounds via the handsfree/headset profile of a bluetooth headset?
There are various, but VJVolubilis will do it within hardware limitations. I don't think the Magician permits this, from my findings. Typically it's only WM5 devices or non-MS bluetooth stacks that allow it. Although if you find otherwise, let me know and I'll incorporate it.
V
vijay555 said:
There are various, but VJVolubilis will do it within hardware limitations. I don't think the Magician permits this, from my findings. Typically it's only WM5 devices or non-MS bluetooth stacks that allow it. Although if you find otherwise, let me know and I'll incorporate it.
V
Click to expand...
Click to collapse
Vijay,
Can you not write one?
http://www.howardforums.com/showthread.php?t=772614&
That one doesn't work with the Magician.
27 - you may have misunderstood. I did write one, VJVolubilis. It permits slightly more control then the app linked to in the HowardForums post, although it's made from the same information publicised in the MSDN blog, so it does the same and a bit more. However, the limitation is down to the Microsoft bluetooth stack and their implementation of the audio gateway in WM2003.
"VJvolubilis -agon" will try to direct audio to headset, if your system is compatible.
V
vijay555 said:
27 - you may have misunderstood. I did write one, VJVolubilis. It permits slightly more control then the app linked to in the HowardForums post, although it's made from the same information publicised in the MSDN blog, so it does the same and a bit more. However, the limitation is down to the Microsoft bluetooth stack and their implementation of the audio gateway in WM2003.
"VJvolubilis -agon" will try to direct audio to headset, if your system is compatible.
V
Click to expand...
Click to collapse
So, does your program work on the Magician?
27 - unfortunately no, it doesn't work on the Magician as I said. In fact, I don't think it works on any WM2003 device AFAIK, but as I said, it's based on the same code as the other app, which was provided by a Microsoft guy.
There may be special secret ways to enable it, since I believe that this is possible with other bluetooth stacks, but it doesn't seem to be possible with the standard Microsoft stack.
The BluePlayer app that is available on the board apparently redirects all audio to bluetooth (stereo) headsets. If this works on the Magician, this might be another way to try it.
V
vijay555 said:
27 - unfortunately no, it doesn't work on the Magician as I said. In fact, I don't think it works on any WM2003 device AFAIK, but as I said, it's based on the same code as the other app, which was provided by a Microsoft guy.
There may be special secret ways to enable it, since I believe that this is possible with other bluetooth stacks, but it doesn't seem to be possible with the standard Microsoft stack.
The BluePlayer app that is available on the board apparently redirects all audio to bluetooth (stereo) headsets. If this works on the Magician, this might be another way to try it.
V
Click to expand...
Click to collapse
It needs to redirect to a mono kit. This is the purpose
http://www.howardforums.com/showthread.php?t=899607

TyTN cellid?

Hi. I am writing a freeware social networking application based on location services ( http://www.fightersoft.ro/mts/index.htm ). Although many devices are supported, it seems that the HTC TyTN isn't. To that end I acquired one and now I am on the quest on getting the cellid in my application.
The approach that should of worked was the COM port. However, no matter what COM port I open, I get a create file error. I am guessing that maybe the internal modem uses a weird port name such as COM550 or other letters instead of COM. I know that another way of getting the cellid is by using ril.dll (or even getting the handle to the gsm modem com port). However, in WM5 this is not documented at all on msdn.com - BUT for WM6 there is documentation.
Firstly, I want to ask anyone if they have extra information about this issue and secondly if by upgrading to WM6, the using the COM port approach works from the box (usually COM9)?
hi, I tryed many programs, which have actually support for cellid information, but no one work on herm, no matter if it was WM5 or WM6. on all phones, I had before it worked correctly... phone alarm also have this functionality, but shown only something like 00-00...
This is so frustrating. Every mobile device with GSM capabilities has a GSM modem insinde. That modem SHOULD be accesible from the OS by the means of COM ports. My guess is that this port is hidden or under a different name than the rest of the HTC devices where it resides on COM9.
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
stargatesg1 said:
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
Click to expand...
Click to collapse
Sure. Ril.dll gives you access to this information and works properly in WM5-WM6. And technically is easier than manager serial drivers......
Documentation isnt included in WM5 so it isnt "official" but realky It is included. The only problem for "not official" issue is you wont get support from microsoft....
Ask me what you want...
stargatesg1, if you have searched the forum, you'd already have the answer. For instance, this thread:
http://forum.xda-developers.com/showthread.php?t=280476&highlight=cellid
has a reference to RIL API. And I do remember I told you this some months ago in your another thread...
Here it is:
http://forum.xda-developers.com/showpost.php?p=1040464&postcount=27
It was at October 26 last year!
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Lurker0, I know about this approach (I have mentioned it in my first post) however, I need more information because c++ native is not my primary envoirement for developing. That's why I kept searching for a way of getting the lac-cid from com ports so that I could do it directly from managed code.
stargatesg1 said:
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Click to expand...
Click to collapse
Exactly. I downloaded Platform builder to have includes and libraries.
1) Initialize Ril
2.a) Request Position explicitally using a RIL_gettowerinfo
2.b) When you initializa Ril you can pass a callback to be notified upon location changes....
Did you read the source code for RIL interface that I pointed you to?
danielherrero, I see. Regarding the callback function is not neccessary in my app - the user or the app set on auto mode searches for changes in location. Thank you very much for your info.
Lurker0, yes I did, but like I said, I am not a very experienced c++ programmer and I need some documentation to get me started. I am also very greatful for your help and I am sure that I will use information from rilclass.cpp.
Thank you both, I will post back with the results as soon as I will have any.
Good luck
Hi StargateSG,
Did you succeeded in getting MTS working on Tytn?
Rgds
I had to leave the country on a business trip. I'll get back in a few days and I will start working on the problem.
danielherrero said:
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
Click to expand...
Click to collapse
Does nothing on the Blue Angel.

Bluetooth Audio Gateway Control

Application is designed to control BAG (Bluetooth Audio Control) service state on Windows Mobile systems. It can enable/disable audio/microphone routing to Bluetooth headset, set volume and microphone gain, enable/disable voice command launch application.
Writing this little piece of code was inspired by inability of AGEphone Mobile (ver 2.71) to collaborate with Bluetooth headset.
Really it can be used for other purposes as well. You can make some useful shortcuts or use it in some scripting language.
It is “command line” application (no GUI). Command line switches controls application behavior.
There are two working modes: “keep resident” (default: able to save and restore all settings) and “on fly” - for quick change.
Application itself and documentation with samples in attached file.
Thanks alot i'm downloading now!
gui in next ver?
Thank you very much for writing this! Your utility goes alone perfectly with AGEphone Mobile and is perfect for anyone who wants to use a BT headset AND voice command - highly recommended vs. the standard "BTAudioToggle" !
I'm trying to get this to launch via startup to see if it will work with my bt headset and voice command.
I'm just using "\Windows\bagctrl.exe /O"
as my shortcut link but it gives me an error the app isnt signed..I assume I'm probably just an idiot and not making my shortcut right..Can anyone help me please?
vidmabal said:
Application is designed to control BAG (Bluetooth Audio Control) service state on Windows Mobile systems. It can enable/disable audio/microphone routing to Bluetooth headset, set volume and microphone gain, enable/disable voice command launch application.
Writing this little piece of code was inspired by inability of AGEphone Mobile (ver 2.71) to collaborate with Bluetooth headset.
Really it can be used for other purposes as well. You can make some useful shortcuts or use it in some scripting language.
It is “command line” application (no GUI). Command line switches controls application behavior.
There are two working modes: “keep resident” (default: able to save and restore all settings) and “on fly” - for quick change.
Application itself and documentation with samples in attached file.
Click to expand...
Click to collapse
Many thanks, vidmabal - it works like a dream and does exactly what I was looking for!
MrDSL said:
I'm trying to get this to launch via startup to see if it will work with my bt headset and voice command.
I'm just using "\Windows\bagctrl.exe /O"
as my shortcut link but it gives me an error the app isnt signed..I assume I'm probably just an idiot and not making my shortcut right..Can anyone help me please?
Click to expand...
Click to collapse
Yes, application is not digitally signed.
If you want to use it you first must enable not signed applications (but there are plenty of them around).
To do this you can use "Advanced Config" or alternatively set registry value with some registry editor. "Total Commander" or "Resco explorer" can help you performing this task.
Registry key is "HKLM\Security\Policies\Policies" value name is "0000101a" (if not exists create new DWORD value) and must be set to 1.
P.s. I really don't know why you want to run it on startup and expecially with /O key
eazy2001x said:
gui in next ver?
Click to expand...
Click to collapse
Really not.
Application is designed to run without user intervention.
That’s why even all errors are silently ignored: no MessageBox for invalid keys or some other errors.
Even I don't see what GUI can be helpful. Except maybe for microphone gain changing. Volume normally has control keys on Bluetooth device itself.
Of course you can use it with Mortscript or some other scripting language and make some interface in here. Error codes returned (not present in attached document)
0 - No error (all OK)
128 (0x80) - Error redirecting audio (normally occurs if Bluetooth device is not connected)
129 (0x81) - BAG0: device not found
130 (0x82) - Invalid command line parameters
since u coded this, ive got a small question. do u think there is any chance to disable a remote microphone and use the internal one instead?
im asking this because the mic from my car radio totaly fails its job (JVC KD-BT11) and the internal from my phone (x1) is far supirior to it.
Nice work man, just find my bt headset behind the microwave oven (my girlfriend didn't know anything)
I'm going to write a small mortscript to controll the commnd line.
vidmabal said:
Yes, application is not digitally signed.
If you want to use it you first must enable not signed applications (but there are plenty of them around).
To do this you can use "Advanced Config" or alternatively set registry value with some registry editor. "Total Commander" or "Resco explorer" can help you performing this task.
Registry key is "HKLM\Security\Policies\Policies" value name is "0000101a" (if not exists create new DWORD value) and must be set to 1.
P.s. I really don't know why you want to run it on startup and expecially with /O key
Click to expand...
Click to collapse
I'll have to look into it more but I already have advanc config to run unsigned apps..
achmed20 said:
since u coded this, ive got a small question. do u think there is any chance to disable a remote microphone and use the internal one instead?
im asking this because the mic from my car radio totaly fails its job (JVC KD-BT11) and the internal from my phone (x1) is far supirior to it.
Click to expand...
Click to collapse
The application has nothing common with Bluetooth transport. Really it only send control codes to BAG service (Bluetooth Audio Gateway). This one is coded by Microsoft. I think other BT stack providers (for compatibility reasons) also supports such service.
According to documentation there is no such control code to enable only audio and leave microphone untouched. (Maybe there is, but undocumented, as M$ like to do).
Also it depends on BT profiles your device support. Maybe it has some "stereo headset" without mic?
Here i made a mortscript gui for this tool:
just extract to \Program Files\BTAGC
all files are included
Now make a shortcut of config.mscr in your start menu
vidmabal said:
The application has nothing common with Bluetooth transport. Really it only send control codes to BAG service (Bluetooth Audio Gateway). This one is coded by Microsoft. I think other BT stack providers (for compatibility reasons) also supports such service.
According to documentation there is no such control code to enable only audio and leave microphone untouched. (Maybe there is, but undocumented, as M$ like to do).
Also it depends on BT profiles your device support. Maybe it has some "stereo headset" without mic?
Click to expand...
Click to collapse
The radio itself offers "Bluetooth Headset" and "freespeech".
i tried to disable the freespeech (bluetooth settings in winmo) but somehow my phone still uses the radio as microphone.
guess i have to get my soldering iron and make some hardware mods to my radio. looks like disabling a bluetooth mic isnt going to work.
PS: but thx
old post i know, but do you know if there is a way to display the error msgs on screen somehow ? I think im getting errors.
Pytte said:
old post i know, but do you know if there is a way to display the error msgs on screen somehow ? I think im getting errors.
Click to expand...
Click to collapse
Really there is no much error processing here. But you can try to start app from say Mortscript and examine return code. See message #8 for return codes.
Thanks for your effort put into this.
Could you please confirm if/how is it possible to do just one thing:
1. Cyberon Voice Speed Dialer installed on phone.
2. BT button does not invoke it (audio route opened, and dialer screen opened, but no Speed Dialer. Reg Key exists)
3. Can this program help do it? (which mode resident/on fly, which extension to exe file and how to launch it (start-up or something else))
Many thanks in advance!
Thanks
Thanks a lot vidmabal, this is what I was looking for.
Cheers
Will this program work on an HD2 which i think uses a widcomm bluetooth stack??
dino_Donis said:
Will this program work on an HD2 which i think uses a widcomm bluetooth stack??
Click to expand...
Click to collapse
Really I don't know.
I am operating with service "BAG0:" ("Bluetooth Audio Gateway") - you can check if it is present in your system.
1. Launch Fdsoft Task Manager
2. Go into "Services" page.
3. Check that you have started service BAG0:
Alternatively you can check it in registry:
HKEY_LOCAL_MACHINE\Services\BTAGSVC
(Service name can differ, but "Prefix" value must be "BAG" and "Index" must be 0, "IsEnabled" value must be 1)

[UNDER DEVELOPMENT]Windows Mobile 6 Bluetooth and Wiimote

I am currently trying to develop some software that allows to use a wiimote or a ps3 controller (ex. for fpsece).
all in vb.net
I currently discovered that I am unable to connect. I have already found a similar project that stopped because of the same problem!
I have read that the problem is the missing HID/S2CAP support of 32feet.net
The other software uses BlueTools so there may be the same problem!.
Does anyone know something that allows me to connect to my wiimote?! Maybe some SDK with HID/S2CAP support?!
You own an HD2 and another WinMob device and want to help? Take a look here: http://forum.xda-developers.com/showpost.php?p=5553883&postcount=10
Sorry, i cant help you but i will love control a wii with my HD...
I am speaking of the other way round , but I could also try that ^^.
I am talking about to control your HD with a Wiimote
It would be easy, if there is any idea how succesfull connect to the wiimote
I have found something here: http://www.eggheadcafe.com/software/aspnet/31158420/big5bxf276hrqkrnsut.aspx
I will see if it helps
Mhh, to bad, I cannot find the source files I would need
They maybe in the "Windows CE 5 platform builder" But the Online Setup I was able to get doesn't work anymore
scilor said:
I am speaking of the other way round , but I could also try that ^^.
I am talking about to control your HD with a Wiimote
It would be easy, if there is any idea how succesfull connect to the wiimote
Click to expand...
Click to collapse
Control your Wii with HD... It would be a great app.. if you can write it...
Thanks my Friend.
I was looking at doing this at one point. The HD2 with its Widcomm bluetooth stack supports BT HID, and the later WM6.5.X builds have Bth_HID in the SYS.
Pairing doesn't get you very far though. I found some C++ code for using the Wiimotes, but I haven't transfered it yet.
@l3v5y Why you have always the same ideas I do
The Bluetooth Stack of the HD2 seems to be a little bit buggy:
If I try to use a Bluetooth chat, it just works from my HD2 to my Kaiser, not the other way round. It is as my HD2 blocks all incoming Bluetooth connections
Any idea?
please setup a team , winmo need you
cheer
Ok, I have attached the Bluetooth Chat here.
It would be nice if other HD2 users could test it(You will need the HD2 and another WinMob Phone with a Widcomm Stack). Please always post the Roms of the devices, especailly the HD2's.
If it is only occurs on some ROMS, it would be fine, so I will do a Rom upgrade for further testing
My results where:
HD2 - T-Mobile ROM 1.43.11.2 (70315) Ger
Kaiser - Custom Rom WinMob 6.5
Message HD2 to Kaiser: Works fine, but takes a second.
Message Kaiser to HD2: Connection error, no message!
I found following in the thread of WiiMöb: http://wiimob.codeplex.com/Thread/View.aspx?ThreadId=10953
"But it seems likely that any purely bluetooth work was a red herring, and we just need to tackle BTHHID.DLL and devise a P/Invoke library that will get us a Filehandle to the device through the HID stack."
Hi everybody,
I'm also looking for a solution for that.
As I had similar problems with my Notebook (Widcomm-BT-Stack), I could solve it with a different BT stack. But I don't want to part with the Widcomm on my HD2.
I think the main problem is that the OK softbutton is disabled as long as there is no passcode in the inputbox. It only gets enabled if you enter somthing, which would never match up with the empty passcode of the WiiMote (somthing <> nothing ;-).
If the OK softbutton was enabled even with empty passcode box, the codeless pairing might actually work.
Is there anybody capable of unlocking this OK button?
Please
ScruffR
The problem is that the WM Devices misses a special HID driver . You may connect it with out a passcode with some tricks but this won't help because you cannot connect to the device
Look at this Symbian project http://www.symbianresources.com/projects/wiirider.php - maybe that will help. I got the same problem like everybody - can't pair device :s
We cannot connect the WiMote low-level easily, that is the big problem. If we could it would be easy.
...I'm assuming this has been abandoned? :/
Until someone finds a way to get a stream, the development is stopped
There is a way to connect to the Wii Remote with a WM 6 device.
The driver you want to look for should come with WM 5 and 6 devices. It has the prefix "BHI" it is not meant for production use, and it somewhat bare-bones, however you can successfully connect to the Wii Remote with it.
The registry path for this driver is:
HKLM\Software\Microsoft\Bluetooth\Hid\Hid_Class
and
HKLM\Software\Microsoft\Bluetooth\Hid\Instance
If you activate these drivers using the Win32 ActivateDeviceEx command (upon hard reset you don't have to do this), you should be able to open up a file stream to the driver.
Code:
HANDLE read_test = CreateFile(L"BHI0:", 0, 0, NULL, OPEN_EXISTING, 0, NULL);
Code:
unsigned __int64 wii_addr = 0x002659F4EEEDL; // BT_ADDR, 64 bits (8 bytes)
Then, I call the DeviceIoControl function to connect to the Wii Remote:
Code:
bool device_io_success = DeviceIoControl(read_test, 1, &wii_addr, sizeof(wii_addr), NULL, 0, NULL,NULL);
e = GetLastError();
Just replace the wii_addr with your Wii Remote's Bluetooth address.
The source code for this driver can be found by googling:
"bthhid.cxx source code" it should be the first link.
The set of APIs it provides is minimal, and I was not able to get any other function to work besides HIDConnect.
I'm still working on getting some sort of data from it.
Let me know if this works for you,
Mike
Could you send me a link to the source? I am finding any
I will take a look later, maybe we get it running
Unfortunately, I can't post the link due to spam restrictions (I just joined the forums recently). However, I have attached the folder that includes all the source files with this post.
This folder comes with Windows CE Platform Builder. It is located here (if you have Platform Builder installed):
C:\WINCE500\PRIVATE\WINCEOS\COMM\BLUETOOTH\PROFILES\HID
If you navigate to the BASE folder, you will find bthid.cpp. This is the main source that contains the stream driver implementation.
The main section of this file to examine is around line 2500 on down. These are the functions that are exposed when you create a file handle to the driver.
Let me know how it works out,
Mike

Developping a bluetooth gateway on htc hd2 to interface blutooth keyboard BK600

Greetings,
sorry to post again, but it seems that i posted in a wrong place (htc hd2 forum), because this post adress a wm software development.
So, this is the problem : I'm stuck with my old BK600 (com one, but omiz and freedom kb rebranded)
There are new keyboard (expensive), news driver (not working), future drivers (never going to be released), so as i'm a software developper, i wasn't really glad to abandon and to buy another. The problem is that've never made a driver for windows mobile, and i'm not specialized on bluetooth, so be indulgent...
After searching internet and seeing some articles, i've been on broadcom site (they're doin' the bt stack, so it's normal to go on their site ... guess what ...
i've downloaded the bluetooth stack sdk)
As i develop under linux, but also under windows, i've a visual studio 2008 installed. I compiled the Spp (probably serial port) sample, and without any driver the keyboard paired, negociated a serial port and the monitor show byte received when typing on the keyboard.
So now, if someone know some place to find tutorials to write windows phone driver, i take.
I also would like to discuss about another approch.
What would you think to transcode the keyboard code received in a thread and to redirect them on standard input ? would it be possible ?
Anyway, my needs are very simple, just a bluetooth kb to type on it, no extra functions, ...
Regards, and thanks you for your answers and help.
CLS.
Hi, it seems that there already is such a software, see:
http://www.youtube.com/watch?v=dLRXSBcu6WI
It is stated that it also supports bluetooth keyboards and mouses.
HI radhoo,
they seems to have a problem to release the software (5-6 month they say they're going to), but nothing
on this page : http://www.teksoftco.com/index.php?section=blueinput&tab=download
you click on this link http://www.teksoftco.com/index.php?section=blueinputbroadcom
and you get on this broken page :
http://www.teksoftco.com/index.php?section=blueinputbroadcom
as you see on the xda-forums
http://forum.xda-developers.com/showthread.php?t=628538&page=2
we are a lot to wait for this software, but nothing.
that's why i'm trying to do a little piece of software (which i'll consolide after i think)
I'm taking the base of the broadcom/widcom stack, and my approach will be to transcode chars to stdin.
It seems that there is a C# wrapper, so it think that i'll recode in c#
anyway,
thanks for answering and long life to xda-dev (very useful)
Ludovic.
work status
- have found a c# wrapper of widcom dll (recompiled) : works bu ti'm rewritting some part of the wrapper as it seems to lacks some feature
- in parallel : working on c++ legacy broadcom sample (works perfectly now with my keyboard, bind with com port done, receiving "things"
now struggling with threads to pump messages and transcode.
If you have something that gets the basic keyboard working, I'd love to test it out.
if your driver is ready for testing, please send me a beta of it for testing on my htc hd2
thanks
I have a same problem .
CLS have u finish your program already? please
I would like to use BK600 on my htc hd mini too
hi, how far did you get?
still at it...?
lots of succes, vicenza

Categories

Resources