[UNDER DEVELOPMENT]Windows Mobile 6 Bluetooth and Wiimote - Windows Mobile Development and Hacking General

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

Related

Blooover Hacking Bluetooth with Windows Smartphone

Hi i wanted to use Bloover (http://trifinite.org/trifinite_stuff_blooover.html) on my Smartphone but it doesn't work.
I downloaded WebSphere Everyplace Micro Environment MIDP 2.0 so i thought it has to work...all Midlets are working now, but only Blooover can't start. If somebody is interested in this programme and can use this programm, please send me some infos what I need, too.
MIDP 2.0 and something else?
http://trifinite.org/trifinite_stuff_blooover.html
Same problem, doesn't work in my Atom
Any idea?
I get
"Invalid java archive"
LOL how many times does it have to be said,
Snarfing is a pipe dream !!!
most phones are protected against this kinda thing now (providing someone even has bluetooth on) and theres no garentee that you will have the address book access to get entries outa it.
besides the fact why would you want to,
i know, why dont you just randomly send text messages in random ranges of mobile numbers, its basically the same thing.
Pipedream or not, he may have his reasons.. Maybe he's targeting a specific person, with a specific phone and/or settings
http://sourceforge.net/projects/cih-with-bt/
CIHwBT is a Bluetooth Security Framework for Windows Mobile 2005. Currently it only support some bluetooth exploits and tools like BlueSnarf, BlueJack, and some DoS attacks. It is intended to work with any pocketpc with Microsoft Bluetooth Stack.
Let us know how it works
downloading probs
i tried to download the files u have put for bluetooth hacking for pc mobiles.i cant get those files download to my pc from net can u help me in this . im using imate jam...
i will bw very thankfull to u if u help me.
rana
Here U R:
the compiled ones:
http://rapidshare.com/files/21645940/CIHwBT_bin.zip.html
and the source code:
http://rapidshare.com/files/21646106/CIHwBT_sources.zip.html
have fun
help
how to use CIHwBT?
your jvm has to be jsr-82 compliant to use blooover (or any other app that wants to access bluetooth via java).
That's probably the reason its not working. I have been trying to find a work around for my phone to use a midlet that requires bluetooth through java but its almost impossible to get help on it.
I found a nice program for this for some month ago. The name of the program is Bluezzard works with my qtek 9100.
Hope this helped. Im intrested in this stuff, so if someone find anything intresting about this, please post it.
Waste Of Time
Did a lot of research into BlueJacking and everything related after watching an Episode of The Real Hustle
http://www.bbc.co.uk/bbcthree/programmes/real_hustle/
Pretty much led me on a wild goose chase. Discovered that these Bluejacking programs were made for the first versions of Bluetooth. The new versions of Bluetooth make the conventional methods of BlueJacking quite impossible. But I'm sure out there somewhere there is a room full of hackers out to prove me wrong.
Any one with a working BT hacking app please??
I'm new to all this stuff, so working info for newbie would be greately appreciated.
I'd really like to get this working on my phone: http://trifinite.org/trifinite_stuff_carwhisperer.html
Unfortunately we'll need to get linux to load first...
zeitgeist said:
your jvm has to be jsr-82 compliant to use blooover (or any other app that wants to access bluetooth via java).
That's probably the reason its not working. I have been trying to find a work around for my phone to use a midlet that requires bluetooth through java but its almost impossible to get help on it.
Click to expand...
Click to collapse
Currently, a no-go: see http://wiki.xda-developers.com/index.php?pagename=The (Java) MIDlet Bible

Widcomm stack for Hermes development thread

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...

Handy Sniffer v2.0

Hi IT people,
Handy Sniffer v2.0 has been released! It is cardinally altered.
11 protocol parsers are included and now anybody can develop new packet analyzers (.dll).
Unregistered version has a little restrictions but has no trial period.
You can find the program and module sample on our site.
http://winm-soft.atspace.com
Good Luck!
Great Release
Congratulations Alex, you managed to make cellular trafic capture, it's great news! Sorry that i didn't replyed to you about 1.6 but I had some personal problems that time. Anyway when we might expect WM5/6 version?
HS2 is specially designed for WM2003, WM5, WM6 and maybe smartphones (not tested). If there are some artifacts, ect. write me about it. I have WM5 and WM6 devices and HS2 and EDh work well. Play it! It is very great If anybody makes some additional protocol parser. Any ideas? Maybe some Instant Messenger protocol?
One more sample module
This is a sample module that can process each packet captured by sniffer. It replaces the main program module ("modules\hs_ether.dll") and calculates some Rx statistics. Maybe its source can be interested for somebody.
The link not work, now!
I clicked the previous link and all is ok. Copy is here.
Greetings AlexB,
I downloaded your program which sounds great. I installed the SDK certs and tried to get hsniffer running but it fails with an error message:
"Cannot activate the driver!" and then quits.
I'm using a HTC Kaiser with the latest official WM6 ROM from HTC.
If I start the program a second time, it starts without this error and if I click File->Tools->Adapters I get my adapters listed. Trying to start a capture generates the following error message: "Cannot get adapters list!"
Any hints? Did I miss something?
Hi c0rnholio,
I do not know why on some devices the sniffer cannot load the driver module (Windows\hsdriver.dll). The error 2 happens (ActivateDeviceEx, GetLastError, ERROR_FILE_NOT_FOUND) and next you see "Cannot activate the driver!". After this message the program works (you can open sample files) but cannot perform sniffing functions those need driver functionality. I think after this message the main window was behind and after next run you simply bring program window to top.
If anybody knows what causes such driver loading error I will be grateful for help. The program and driver are signed with SDK privileged certificate and it unfortunately does not help... **** happens.
Fixed it. The problem was that a GPRS connection was already established. After closing the existing connection the driver could be loaded and everything is working fine.
It is VERY strange! OK, if anybody ask me why HS does not work I'll say ask c0rnholio how need to do...
Hi,
i'm trying the new Handy sniffer into my TouchHD (Blackstone) but i can only get ARP packets (which are broadcasted). I also installed sdkcert as site advice, but nothing changes.
Alex, can you write down a list of devices which can capture in promiscuous mode?
In particular, how about Trinity and Blackstone?
Thanks!
sorry for my ignorance but what is the purpose of this? can i connect using gprs for free?
No, it's not for that purpose.
Handy Sniffer "Sniffs" (listen to) the traffic into a network. If working in "promiscuous mode" it can track down (and show to user) all the traffic (data in form of TCP packets) inside that network.
What's is supposed to?
There are many uses for this kind of tool, some legal and some ... "not legit".
While "sniffing" traffic of a given network, you can detect if someone is doing a unrightful use of the network, if an intrusion is being made, but also you can see passwords and other sensible data (like personal data).
It's like having a big hear cabable of listening network traffic. By itself, it can do nothing. It's up to the user to be capable of understanding packets of captured traffic.
So, forget a "stole the passwords" button. You'll not find it
woring with the HD2?
Hi, I have the HTC HD2, and I want to know if it was working with my phone?
I have actualy tried it, but the result was not good... (I only get ARP...).
thanks for any help
good for you guys, with my the HTC Kaiser I don't get anything...how do you do/set up the program
Thanks,
DOMy

[PRJ][AND][LNX] OPANDROID (The Wing-Linux Opal branch)

Please, don't reply with a quote of this post.
Wing Linux​
This thread is a continuation to what happened in the LINUX BOOTS at OPAL! Thanks to linwizard project! thread. I thought it's about time a proper thread is made to get this project the attention it needs.
What is Wing Linux all about
Wing Linux aims to bring Linux and Google's Android operating systems to OMAP850-based devices.
Wait, did you say Linux AND Android?
Yep, you did read that right. If you're running Wing Linux, you are simultaneously running Ångström and Android on top of that. That means you get all of the cool Linux functionality with the intuitive interface and usability of Android.
For more information about Wing Linux please visit the official site. It'll save you from having to read through this whole thread
If I installed Wing Linux, will I lose WM? / Will this brick my device?
No. There's no flashing involved here. Still, it's best practice to have thing backed up before doing anything. I've heard of a few cases were people lost some files from there SD cards.
Great! How can I try this?
I'm glad you asked!
Installation is very easy and smooth, all you have to do is following these simple steps:
Navigate to the Wing Linux site.
On the navigation menu to the right of the main page, you'll find a "Download" link. Obviously, you're supposed to click it
Once the download completes, you'll end up with a zip file that contains a few cab files and 4 text files. Please do open these files using notepad for a quick look. They contain plenty of useful information.
After extracting that zip, and hopefully taking a look at the text files, you'll need to move two of the cab files to your device: rootfs and opal.
From your device, install the two cabs (navigate to them using your favourite file explorer then click them) and make sure to install both files to storage card.
Before proceeding any further, make sure that you still have at least 250MB of free space on your storage card. If you don't then you'll need to do some clean up before you can continue.
Also, make sure to close any open application, otherwise you'll lose any unsaved progress in any of them.
Open the brand new wing-linux short-cut in your start menu.
Hit run.
While Linux is booting up. You'll be asked to input a size for the image file used as storage for Wing Linux (consider it like virtual hard disk). Don't touch anything and just wait, default value (250MB) will be used after a couple of seconds.
Grab yourself a cup of coffee/tea/beer/... then sit back and relax. Installation will take a while.
When everything is over, you'll get a calibration screen. Try your best to get a good calibration on the first time as fixing it later takes some work.
Enjoy Android
Key-map for Android
As the Opal doesn't have that many keys, some changes had to be made:
D-Pad + Centre: works normally.
Green: Dialer.
Red: Default behaviour under Android is like this:
Short press: puts device in standby. This can be changed in the settings (which I recommend).
Long press: Display menu to turn off device, put device in airplane mode...
Volume Up: menu key (it's the key that unlocks the screen as well).
Volume Down: back/cancel.
Power button: It's working, but it doesn't do anything because it's functionality doesn't work in Android yet.
Okay, I'm done playing around and I want to go back to WM.
That's easy:
Click and hold the red button and you'll get a menu.
Select "Shutdown" and the phone will reboot.
Once the phone boots again, you'll be in WM.
I want to completely get rid of Wing Linux
Eh, it's your loss.
Un-install both cabs as you would do for any application.
Check if there's still a folder called "linux" in the root of your storage card.
If there's one, delete it.
What works and what does not work:
For details look at this page here. In short:
For the time being, these stuff work:
Making/receiving calls, although you won't be able to hear the other side during phone calls. But there's a small workaround for that:
When in windows mobile, start Wing Linux during a phone call, that way you'll have sound in Android during calls.
Sending/receiving SMS.
GPRS also works. If your carrier/service providers details are included already, it'll work out of the box. Otherwise you'll need to set up a new APN under settings.
For the time being, these stuff do not work:
Battery (will always report it's 100% full).
Bluetooth
WIFI
Camera
Sound (other than what you'll get with the workaround)
Vibration
LED notifications
Standby/Suspend mode.
Unlocking SIM (Android will accept the PIN code but it won't connect to network, you'll need to disable PIN from WM).
FAQ
Q: When I let the phone sit for a while it goes to a text screen that just rolls android_power_suspend messages?
Right now these message are normal, just hit any key or the screen to go back. The suspend portion of Android is being actively worked on so just hang tight!
Q: I installed and booted Wing Linux and when I attach it via USB to my Windows computer it asks me for a driver for an "Ethernet Gadget". Where can I get this?
Linux has this driver natively. For Windows, there's no driver right now, if you know where we can find one (that is free to distribute legally) please do share it with us.
Q: When I boot for the first time the installer hangs at partitioning 0%, is it not working?
Walk away from your phone, this part will take some time. It will only have to do this on initial install so have faith.
Q: Can I install this to my phone's internal memory?
Not presently. Although the cab file will install, you won't be able to boot from internal memory. Ensure you install to your storage card.
Q: Does this run emulated under Windows Mobile?
Not at all! Although it's started from inside Windows Mobile, HaRET completely replaces Windows with Linux in memory, so you actually are booting native Linux -- No emulation at all.
Q: I successfully entered my PIN and unlocked my SIM card through Android, but I can't get on the network. Why?
This is a known issue -- unlocking a SIM card works, but Android does not follow through with connecting to the network. The best solution to this for now is to remove the PIN from your SIM card.
Q: I opened an application but how to I get back to the main page or quit the program? Where is my back button?
Check the keymap posted above.
Q: When will X work on Opal?
In due time. The project is made of volunteer effort working in their spare time. If you'd like the development to speed up, feel free to give a hand!
Not every single one of the people working on this is a developer. Some, like me, are learning as they go. And none is able to dedicate all his time for this project.
Q: I messed up with the calibration. How can I re-calibrate the screen?
Go to storage card, then go to the folder called 'linux'. You'll find a file called default.txt
In that file, look for the line that says "set CMDLINE", add "reset_ts" to it (between the two quotations). Then boot normally.
Remember to remove that once you're satisfied with the calibration.
(If Microsoft Word asks you to save it in their format, always say no)
Q: I waited a lot but the device won't finish booting after installation. What should I do?
First of all, try resetting the phone and booting Wing Linux again. In most of the cases, this'll work. If that doesn't work, try deleting the "rootfs" file from "/Storage Card/linux". If you don't see that file, delete rootfs.img instead. Then boot back in and it should start installing from scratch.
If you're still having issues, remove everything (refer to the "I want to completely get rid of Wing Linux" section) and reinstall the two cabs.
Q: What version of Android is Wing Linux running?
Right now, it's running Cupcake (1.5). An upgrade is planned.
Q: What version of Ångström is Wing Linux running?
Latest as of time of posting.
Q: I'm trying to use the virtual terminal but the enter button on the virtual keyboard won't do anything. Is that normal?
It happens occasionally. Try pressing the d-pad in various directions then hit then enter button again.
Q: Can I SSH to the phone?
Yes you can
Code:
sudo ifconfig usb0 10.100.0.2 up
ssh [email protected]
The password is "wing".
Q: Is installing to a dedicated partition supported?
Yes it is, for more information check the 'INSTALL' file included in the zip, and that can also be found under /storage card/linux
Q: How can I set up a development environment to help with coding?
Take a look here.
Q: How can I get in contact with developers?
Through this thread, the project's forums and on the IRC channel at #wing-linux on Freenode.net. Please, do not use E-Mails, PMs, IMs...
Personal thanks from me to the following people for making this a reality:
darkstar62 for being the main man behind the whole project. And for going easy on me despite my noobness
The people at Linwizard for creating the base kernel and helping throughout development.
kshaurya for helping me to get the Opal branch started
raditzgds, life02 and zenned for helping to get the touchscreen working on Opal.
HTC for this nice device.
Google for Android.
The people behind Ångström for the base system.
I hope I didn't forget anyone...
Please, don't reply with a quote of this post.
Release Informations
Released Versions:
0.1 released on 2009-02-16
0.2 released on 2009-05-26
0.3pre3 released on 2009-06-14
0.3 released on 2009-06-16
0.4pre1 released on 2009-07-04
0.4pre2 released on 2009-07-25
0.4pre3 released on 2009-08-12
0.4pre4 released on 2009-08-12
0.4 released on 2009-11-09
0.4.1 released on 2009-11-19
0.4.2 released on 2009-11-21
Planned Releases:
Nothing is currently set in stone. Next release can be either 0.4.3 or 0.5.
Things to look forward for in the next release.
Hopefully: Sound and there might be some changes concerning Android.
Latest Change Log:
Will be updated on next release.
Please, don't reply with a quote of this post.
How to help with testing and development on Opal:
The people behind Linwizard and Wing-Linux are in need of the results of running this test:
ali1234 said:
Hi,
Thanks to everyone who came to our sprint and tested things. We got a
basic kernel booting on several platforms.
After looking at the results I started to look at the LCD detection
code. I would like to ask everyone to run this test and send me the
results.
I need testers with any omap7xx phone. You only need to run a haret
script and mail me the output, no kernel boot in necessary. The test
scripts are here:
http://al.robotfuzz.com/~al/htc/lcd1.zip
You need a modified version of haret which is included. Unpack the zip
to the phone's internal memory and run haret. Press the "boot" button
like normal. It won't boot linux, it will run the tests instead. Your
screen will flicker during the test, it is normal. It will generate
lcdlog.txt. Mail that file to me or the list, along with any
information you have about your phone. Especially if you have an
after-market LCD, or you know what model of LCD you have for another
reason.
The test works by rapidly switching between LCD mode and GPIO mode on
the LCD controller pins, to check which pins are tied high, low, or
are floating. It does this 30 or so times. Any pin that changes value
is deemed floating. The others are tied high or low (1 or 0). Ignoring
floating pins (zero them) and you get a code which identifies the
panel type of the phone.
More about the LCD detection, including device database and log
processor: https://sourceforge.net/apps/trac/linwizard/wiki/LCDDetect
Thanks
Click to expand...
Click to collapse
While the quote tells you to email the results to ali1234, it would be best if you PM them to me and I'll handle passing them forwards.
Very nice thread with all the info needed
musikmonk that rom is ready contact me today eve or tom i will send u... then u can do testing works.
good discription brother........
i have tried it out already....but sound wifi etc not working.....hopefully the developers will solve the problems in next build....
indresh88 said:
good discription brother........
i have tried it out already....but sound wifi etc not working.....hopefully the developers will solve the problems in next build....
Click to expand...
Click to collapse
I guess you dont know that musikmonk himself is one of the developer of android for omap 850 devices
i downloaded it from the web to my mobile...took me a couple of hours but was worth it.
installation was a breeze.
wifi is not a necessary for me...so i am okay with it...
there are some probs tho...like the battery percentage...it is stuck at 100%. even after fiddling with it, it remained the same.
i rebooted to wm to find that battery was about 45%. this issue is critical...i feel. what about you guys??
btw...my sincere thanks to all who toiled so hard...without getting paid...to port this amazing os.
hats off to you guys...and do keep up the good work.
i'm testing android from some week
i test version 0.4.2 and the 0.4.3 pre4
bluetooth don't work... when I turn on the bt the scrren increase brightnees...
for the audio problems if you start winglinux during a call audio works
now i want try your kernel
jagan2 said:
I guess you dont know that musikmonk himself is one of the developer of android for omap 850 devices
Click to expand...
Click to collapse
Thanks But I'm still faaaaaar from being a developer. I'm just learning.
freelancer81 said:
there are some probs tho...like the battery percentage...it is stuck at 100%. even after fiddling with it, it remained the same.
i rebooted to wm to find that battery was about 45%. this issue is critical...i feel.
Click to expand...
Click to collapse
Ah, I forgot to mention that . I added it to the not working section now.
Right now, wing-linux is using a fake battery driver that always reports battery as 100% full. There's still no working driver and I'm afraid that it might be a long time till there is one.
gp.triple said:
i'm testing android from some week
i test version 0.4.2 and the 0.4.3 pre4
bluetooth don't work... when I turn on the bt the scrren increase brightnees...
for the audio problems if you start winglinux during a call audio works
now i want try your kernel
Click to expand...
Click to collapse
Please do try that kernel and tell me how it goes for you.
nice work MusikMonk, i m so happy to see development for android on our phones
Bluetooth works on mine, but not all the time(once in 10 it doesn't)
Thank you so much for sharing your work
Edit: Sometimes,network problems occur after changing kernel
i try your new kernel
now when i start bluethoot its start
but don't discovery my sonyericsson w950i
and the s.e. don't find the opal
but the opal find other device...
soon as possible i try to connect other device and give you some feedback
i hope that you can understand my bad english
one question...
it is possible tu build the kernel 2.6.30 or successive?
its contains more driver
mrushabh said:
nice work MusikMonk, i m so happy to see development for android on our phones
Bluetooth works on mine, but not all the time(once in 10 it doesn't)
Thank you so much for sharing your work
Edit: Sometimes,network problems occur after changing kernel
Click to expand...
Click to collapse
Can you please tell me what you tried for bluetooth? I could use some details.
And about network problems, that's normal. It randomly happens with wing-linux, it isn't something specific to that kernel.
Most of the times switching to aeroplane mode and back works. Sometimes you'll have to reboot.
gp.triple said:
i try your new kernel
now when i start bluethoot its start
but don't discovery my sonyericsson w950i
and the s.e. don't find the opal
but the opal find other device...
soon as possible i try to connect other device and give you some feedback
i hope that you can understand my bad english
one question...
it is possible tu build the kernel 2.6.30 or successive?
its contains more driver
Click to expand...
Click to collapse
Does it always find that other device or does it only find it sometimes?
About using a new kernel, there are some problems with that. darkstar62 is working on moving upstream to latest kernel and he submitted some patches to the linux-omap tree to get his device (Herald/Wing) supported some were accepted, others are pending.
I tried these patches on Opal but memory card and usb didn't work. I'm waiting till the patches are complete to try again because, right now, I don't know how to fix them myself. I had a couple of ideas that I tried, but none worked.
Oh, and your English is okay. I can understand you fine.
MusikMonk said:
Does it always find that other device or does it only find it sometimes?
i had few time to try this morning
one time bt start and find some device
one time bt don't start
and one time bt start but don't find any device
as soon as possible i'll do other test
Click to expand...
Click to collapse
Click to expand...
Click to collapse
im glad the network problem is not related to the kernel..
as for the bluetooth, it can find my other phone but somehow cant connect with it, also when set to discoverable also no other device finds it
Thank you all I really appreciate your help with testing.
If you guys have the time, can you also give this kernel a test:
http://dl.dropbox.com/u/1944361/zImage-09-02-10
Edit:
Oh, and can you please give me details such as:
What was the bluetooth state in WM (off/on/hidden/discoverable)?
If you're using WM6.5.x, does bluetooth work normally on the rom you're using? (There seems to be many customized roms with bluetooth problems)
When you searched from Android, if some devices are found, do the name appears or only the address?
Stuff like that...
nice ...work
nice work thank u .
i have test the OS but there are some problem , that i cant make a call and
i cant but it on sleep mode and some time Bluetooth does'nt work .
but until now it's great to see the android work on our mobiles .
.
MusikMonk said:
Thank you all I really appreciate your help with testing.
If you guys have the time, can you also give this kernel a test:
Edit:
Oh, and can you please give me details such as:
What was the bluetooth state in WM (off/on/hidden/discoverable)?
If you're using WM6.5.x, does bluetooth work normally on the rom you're using? (There seems to be many customized roms with bluetooth problems)
When you searched from Android, if some devices are found, do the name appears or only the address?
Stuff like that...
Click to expand...
Click to collapse
i did other test
at first i use the original wm6.1
condition of test
wm bt on/discoverable ---> android don't start bt
wm bt of ---> bt start in android, only one time find other device but appears only the adress, the other device don't find the opaldroid
if i can this evening try the new kernel
Results with the new kernel
Rom used:Official HTC WWE Rom
Bluetooth state in windows mobile:Off
Bluetooth activates and can be set to discoverable but no device can find phone and phone cant find any device
VERY RARELY IN THIS STATE IT CAN FIND MY MAGIC MOUSE
Bluetooth state in windows mobile:On
Same as the one before but no rare luck here..(Bluetooth activates and can be set to discoverable but no device can find phone and phone cant find any device)
hi;
Please take a screen shot from your device and put them there!
thanks.
i did some test whit the new kernel
win 6.1 standard rom
bt off in wm---> sometimes find other device showing the adress but other device cant find opal
bt on in wm--->didn't find other device and other device cant find opal

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