I tried looking into the issue of verizon tabs unable to connect with BT keyboards. With the help of Maris here, we identified that there is a file that is present on Tmo tabs that is not on verizons:
/dev/bthid
We're guessing this is the HID driver that verizon is lacking, since Tmo connects with BT keyboard just fine.
however, since his tab is not rooted, he cannot copy this file to me. Can someone with a rooted Tmo or sprint copy this file (using root explorer, free off the market) and upload it to any free space or message me and mail it to me?
thanks everyone, I'll let yal know if this leads to anywhere
(I checked in my samsung verizon fascinate, it lacks this file too, and cannot connect to bt keyboard too. funny.)
This file isn't going to help you on its own. The files in /dev are really just interfaces to the kernel (they're defined by their major and minor node numbers, and have no actual content).
The file you're looking for is (on my T-Mobile Tab) /lib/modules/bthid.ko. Once you have that, you can use terminal to 'mknod /dev/bthid c 10 224' to create the associated device file.
I'll try to remember to pull this off my tab tonight for you, though IIRC even the T-Mobile Tab has some problems with bluetooth headsets that are remedied by the European firmware.
Well, I have a verizon tab too and am trying to figure this out.
The bthid.ko already existing in that directory.
When I run the mknod, I get mknod: not found.
Do I need to run it from a particular directory (sorry, major noob to this)
You probably need to root your system and install busybox to be able to do that.
I have rooted, guess I need to find busybox.
Sent from my SCH-I800 using XDA App
Well, ran mknod and it said the file already existed. I never checked first, took hyann's word for it that it was missing. No go on the connection either.
Hyann, you friend have any other differences?
ResonanceZero said:
This file isn't going to help you on its own. The files in /dev are really just interfaces to the kernel (they're defined by their major and minor node numbers, and have no actual content).
The file you're looking for is (on my T-Mobile Tab) /lib/modules/bthid.ko. Once you have that, you can use terminal to 'mknod /dev/bthid c 10 224' to create the associated device file.
I'll try to remember to pull this off my tab tonight for you, though IIRC even the T-Mobile Tab has some problems with bluetooth headsets that are remedied by the European firmware.
Click to expand...
Click to collapse
Thanks my friend, at least its worth a shot since ppl with TMO and Sprint have successfully used BT keyboard, and verizon tabs have never succeeded.
robinsmy1 said:
Well, ran mknod and it said the file already existed. I never checked first, took hyann's word for it that it was missing. No go on the connection either.
Hyann, you friend have any other differences?
Click to expand...
Click to collapse
which file do you mean? in my post, me and my friends concluded that only dev/bthid was different between the verizon tab and Tmo tab.
We searched for the system files and came up with all the files that had the name "HID" in it. However, except dev/bthid, all the others were present in the verizon tab.
below is the list:
"
/system/bin shows:
bluetoothd
there is also a btld, not sure if that relates to this
the just one calld "hd" (no hid)
/system/lib had a folder bluez-plugin and inside it is:
audio
input
/system/lib has files:
libbluedroid
libbluetooth
libbluetoothhd
Then decided to do a search for HID and astro found the following (more promising?):
/system/usr/keylayout/Broadcom_Bluetooth_HID.kl
/system/usr/keychars/Broadcom_Bluetooth_HID.kcm.bin
/lib/modules/bthid.ko
/dev/bthid
"
I still think that if I could get the dev/bthid, whatever kind of file that is, maybe it is a shot. because verizon tab pairs successfully with the BT keyboard, we know the BT function is okay. Its just lacking something, either a command, a registry, or a reference file that allows keyboard input to come through by BT.
Funny thing is, on my samsung fascinate phone, I could also pair but not connect the BT keyboard too. I think verizon is purposely blocking this feature on their phones. What the heck would that serve I do not know.
I think you are right about Verizon.
I got the bthid to by there by following the advice above to run the mknod and it did not fix the problem.
I have also tried using the hidd from another post and got the error "Can't open HIDP control socket: protocol not supported"
I am afraid Verizon might have done something in the base Bluetooth support. I do not know enough to know if that is in the kernel or a support file.
Doing some more research into linux (I know, long shot), please have your friend look in their bluetooth configuration files for possible differences.
I found some in /etc/bluetooth there may be more elsewhere, this is all I have found so far.
In linux there is an HIDD_Enabled flag, maybe there is one here too.............wishful thinking!
hyann said:
We searched for the system files and came up with all the files that had the name "HID" in it. However, except dev/bthid, all the others were present in the verizon tab.
Click to expand...
Click to collapse
"Present" doesnt mean they are the same! If I were you i'd extract all these files from a working ROM and compare them.
Regards,
Dave
I've finally gotten around to pulling off the bthid.ko from a stock T-Mobile Galaxy Tab. It's available from:
http://www.resonant.org/android/lib/modules/bthid.ko
(There's no index, but I actually copied my entire modules directory there, if you need the other files as well.)
Hope it helps your experiments.
This looks like it is the same file as the one that came with this tab too. Might be a configuration thing (hopefully).
Any chance you can pull the conf files from the /etc/bluetooth directory too?
Thanks
Sent from my SCH-I800 using XDA App
robinsmy1 said:
This looks like it is the same file as the one that came with this tab too. Might be a configuration thing (hopefully).
Any chance you can pull the conf files from the /etc/bluetooth directory too?
Click to expand...
Click to collapse
Here you go:
http://www.resonant.org/android/etc/bluetooth.zip
Thanks I will take a look.
It is a long shot, but worth a look.
These are the same too.
I pulled a tmobile stock rom from xda....gonna try to see if I can find differences but I am starting to be convinced it is blocked from the Kernel.
Any Devs out there have any insight into where the BT HID is controlled. Any input would be greatly appreciated.
Think I found it
I have been looking through the Verizon source from the Samsung site, and they were kind enough to include an output file from their compiles called config.
It looks this the did hot include the hidp in the build of the kernel, which I believe is the HID protocol.
No the key would be to compile it as a module and try to install it. Not sure where since I cannot find it on the tmobile stock I downloaded, but they may have compiled it into the kernel instead of as a module, which from the kconfig, seems to be an option.
I do not have a linux box at work so I will not be able to try to compile it until tonight.
If someone else wants to try, I would be happy to hear the results.
Also, if there are any devs who read this who might be able to provide some insight I would love to hear it as I am flying by the seat of my pants here
Thanks
Oh man while you guys havent gotten this to work it still makes me SOOO HAPPY to see people working on it. I am extremly windows knowledgable and still getting into the android game so I cant help yet (although I really want to).
It just makes me happy to know people are just as peeved about this problem as I am
This is excellent news robinsmy1! I'm really thrilled to death!!!!
Um, do you want to post the config file or at least a link, so more people could look into it? I have very limited linux programming experience (used to maintain a UNIX system) so I dont think I can help much, but I would like to take a look. And in these days, almost everything is googleable
robinsmy1 said:
I have been looking through the Verizon source from the Samsung site, and they were kind enough to include an output file from their compiles called config.
It looks this the did hot include the hidp in the build of the kernel, which I believe is the HID protocol.
No the key would be to compile it as a module and try to install it. Not sure where since I cannot find it on the tmobile stock I downloaded, but they may have compiled it into the kernel instead of as a module, which from the kconfig, seems to be an option.
I do not have a linux box at work so I will not be able to try to compile it until tonight.
If someone else wants to try, I would be happy to hear the results.
Also, if there are any devs who read this who might be able to provide some insight I would love to hear it as I am flying by the seat of my pants here
Thanks
Click to expand...
Click to collapse
I don't really have a place to host it the file. If you pm me your email address, I can email it to you.
The config file is just a dump of their answers to the Kconfig questions from what I can tell and they did not include the HIDP profile.
I have programming experience, but nothing in Linux at all. I put a VM on my W7 box with ubuntu just so I could troubleshoot this issue.
I am going to try to find time tonight to compile the kernel with the HIDP as a module and see where it puts it and try to pull it out and shove it into the tab to see if that will get it to work.
robinsmy1 said:
I don't really have a place to host it the file. If you pm me your email address, I can email it to you.
The config file is just a dump of their answers to the Kconfig questions from what I can tell and they did not include the HIDP profile.
I have programming experience, but nothing in Linux at all. I put a VM on my W7 box with ubuntu just so I could troubleshoot this issue.
I am going to try to find time tonight to compile the kernel with the HIDP as a module and see where it puts it and try to pull it out and shove it into the tab to see if that will get it to work.
Click to expand...
Click to collapse
I PMed my email to you. Thanks man.
OK
Emailed the config...let us know what you think.
A second opinion is always welcome
Related
Most of us are already aware that PPC and smartphone edition are similar enough to be mostly compatible in their apps across the platforms.
That is, with enough coaxing and the help of input simulators like SPHelper, I've managed to run almost any Pocket PC app on a smartphone device.
Well, until now.
I've officialy run into my first brick wall of sorts, and I'm hoping someone here can shed some light onto the situation.
Since the MS implementation of A2DP has quality issues, I'm trying to run MSI Blueplayer app ( found at http://cweb.msi.com.tw/program/support/download/dld/spt_dld_detail.php?UID=619&kind=8) on a smartphone.
Analyzing the cab, I extracted 4 .dll's that go in the \windows dir (msibtstk.dll, msibtapi.dll, CHS.dll and TW.dll), and two .exe program files that go in program files\msi\blueplayer (STLoader.exe, and MPOBCE.exe).
Now, normally its as simple as running the .exe, at least it always has been in the past.
However, every time I hit MPOBCE.exe, all I get is:
"Alert
Can't find MPOBCE or one of its components. Make sure the path and filename are correct and that all the required libraries are available."
Just to control this experiment, I copied the exact same files over to a PPC device and ran it to find that it DOES work.
Now, I've never encountered PPC specific code before- in fact, I didn't even know such a thing was possible. Has anyone see/heard of this sort of thing before?
Can someone help me take this apart and find out what makes it work on a PPC only? Perhaps a PPC-specific path (if there is such a thing)?
At this point, as much as I'd like to get this working, I'm just as much intellectually curious as to what would cause a program to only operate on a PPC installation.
Hello Dishe.
Your problem is simple: Certain DLLs that come built in Pocket PC version of windows mobile do not exist in the Smartphone version. An example is MFC DLLs.
What you need to do is get hold of 'dependency walker' which is a neat little app that MS incorporated in to VS 6 (though I understand it was written by an independent developer and should be available separately).
It will show you exactly which DLL files each exe is linked to. You then have to get a good copy (from a ROM dump) of the needed DLL and put it in windows directory.
Hope this helps.
That's a great idea. Thanks! I never heard of the dependency walker before, but it sounds like a perfect tool for this. I'll have to check it out on my office computer (I don't have VS 6 at home).
I wont be back in my office until wed., so if anyone had a bit of spare time, I'll attach the files here for someone to examine.
If anyone wants to look into it and tell me what dll's are required, I can get ahold of them from a healthy Pocket PC image.
Thanks!
This zip file has the two .exe's contained in the installation. I think only mpobce.exe is complaining about missing components, though.
Oops, apparently I should have checked first...
Dependency Walker is a free app. I downloaded it and tried it out.
It lists a bunch of .dll's, most of which I had on smartphone.
However, the two missing ones are:
mfcce300.dll
olece300.dll
Now, I'm not exactly sure what these do, so I need to look into it some more. Does anyone have any clue what these are for? If I copy them from a Pocket PC, will they operate on a smartphone?
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
levenum said:
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
Click to expand...
Click to collapse
Thanks for the help, I'm realizing there's a lot more to this I should have known before embarking on such a task. I've never had such a problem doing this before, I guess MFC isn't so popular!
Anyway, I need a good ROM dump, I haven't been able to aquire one. In the mean time I tried some files I found searching google... didn't expect it to work, but tried it anyway. Still complained of missing files- you're right, I'll bet MFC is calling more dll's as well that I need.
Perhaps there's hope...
You were right... I just needed more .dlls!
I found a whole series of .dlls required by mfcce300.dll that my smartphone was missing, so I put them all in the program directory and it opened!
Problem is, its not so stable... the files were pulled from a ce.net-4.1 set of files since I don't have access to a wm5 rom image.
One more thong I should have thought about earlier:
Some COM dlls, maybe even olece300.dll have a function called DllRegisterServer that writes them to registry as COM provider (under HKCR\CLSID).
Check to see if I am right using Dep. Walker and if so try to get regsvr32.exe or something similar for the PPC. (On a PC you use regsvr32 somedll.dll to register a COM server)
This may help with stability issue.
I have recently installed dcd 2.10 ROM 6.1wm. Since GPS is active now I wanted to try TomTom to see how it works with Mogul. I followed direction and ended up on error where TT say '' No Maps Found ''. I have extensively search this topic across the web, and there are tons of solution recommended to fix this issue. I have tried all of them including uninstalling opera and to move files all over the folders but no luck so far.
However most recommended and most reported working fix is to disable BT explorer. and pretty much everyone recommended to uncheck box in FTP tab from bluetooth setting. but mogul user's problem is... there is no FTP tab.
So here is what I am asking:
1: has anyone sucessfully got TomTom Navigator 6 working on Mogul / Titan with Sprint / DCD windowmobile 6.1 wm6.1 ROM. If so would would care to share your how tos.
2: Does anyone know how to disable BT explorer in Mogul where there is no FTP tab. Perhaps registry setting. Some user has posted working registry setting to disable it but it is for Dell Axim with wm5 and does not apply to Titan (setting does not exist in mogul).
Let me know if you need more info
Looks like you have acquired an illegal copy of TomTom 6.
Xda-developers do not endorse these kinds of illegal activities.
Nonetheless, plz check your pm
I use tomtom6 on my mogul. It works perfectly. The error you are getting is because you probably downloaded the software WITHOUT the maps. The maps for North America alone are just over 1gb. Try actually buying the software and it will work just fine.
I think its hilarious that you went around disabling bluetooth and uninstalling Opera, in order to get your TomTom program to find maps, LOL. As said previously, try buying the software. And if you are going to pirate it, don't trouble others with your problems if you can't figure out how to get it working, even if you are going to bring a bit of levity with your HILARIOUS failed solutions to the forum.
This from peeps who unlock their phones and put cooked roms on it. Now thats funny I don't care who you are...
Mezlo said:
This from peeps who unlock their phones and put cooked roms on it. Now thats funny I don't care who you are...
Click to expand...
Click to collapse
stealing a $150 program is a little different than modifying a phone we Paid $200+ for and Own.
ccuser said:
I have recently installed dcd 2.10 ROM 6.1wm. Since GPS is active now I wanted to try TomTom to see how it works with Mogul. I followed direction and ended up on error where TT say '' No Maps Found ''. I have extensively search this topic across the web, and there are tons of solution recommended to fix this issue. I have tried all of them including uninstalling opera and to move files all over the folders but no luck so far.
However most recommended and most reported working fix is to disable BT explorer. and pretty much everyone recommended to uncheck box in FTP tab from bluetooth setting. but mogul user's problem is... there is no FTP tab.
So here is what I am asking:
1: has anyone sucessfully got TomTom Navigator 6 working on Mogul / Titan with Sprint / DCD windowmobile 6.1 wm6.1 ROM. If so would would care to share your how tos.
2: Does anyone know how to disable BT explorer in Mogul where there is no FTP tab. Perhaps registry setting. Some user has posted working registry setting to disable it but it is for Dell Axim with wm5 and does not apply to Titan (setting does not exist in mogul).
Let me know if you need more info
Click to expand...
Click to collapse
the reason this is happening to you is because there is a .dat file that tomtom looks for when starting up to point to the map location...it has NOTHING to do with whether youve pirated it or not. this file is/must be located at My Documents/TomTom/CurrentMap.dat. all you need in that file is the directory path to your map. in my case its /Storage Card/USA....(etc, etc) also, the directory slashes are the other way, but im typing this on my mogul and im too lazy to fat-finger the on screen keyboard
also, and this one might be the biggie...your map folder MUST be in the root of your storage card, not nestled within another folder, or a tomtom folder which is what I initially did.
ikemiller2662 said:
stealing a $150 program is a little different than modifying a phone we Paid $200+ for and Own.
Click to expand...
Click to collapse
Actually there is no difference. The phones were locked by the providers for a reason. You are cracking their security encryption to gain access to features that were unavailable. With hacked software you are cracking security encryption to gain features that were not available before also. The price you paid for the phone really deosn't matter. With this theory the people that buy their DSS satelite boxes and hack Dishnetork ird's to receive a priated signal are ok because they bought the ird. You and I both know this to be untrue. With all that said I don't believe that you should use hacked software either, I just think that some take a high and mighty stance when a simple "We don't condone or discuss warez here" would be all that is needed. I guess your threshold for crossing the line is the only thing in question here, and we all know why most peeps come to these sights.
Whhhhaaattt!!!!!!!
Mezlo
I for one use this site as an educational tool. So do many other forum members. If you think that we are all "peepers", what are you doing here?
I know for a fact that the programmers from HTC, Moto, LG, etc as well as the major carriers are members of this site directly or by proxy - how do you think they find out where their weaknesses are? How do you think they make their products better? Warez is not my thing but who are you to say????
So please, get off your pedestal and "Peep" your horn somewhere else, maybe at www.Disneyland.com
kmartburrito said:
this file is/must be located at My Documents/TomTom/CurrentMap.dat. all you need in that file is the directory path to your map. in my case its /Storage Card/USA....(etc, etc) also, the directory slashes are the other way
also, and this one might be the biggie...your map folder MUST be in the root of your storage card, not nestled within another folder, or a tomtom folder which is what I initially did.
Click to expand...
Click to collapse
Hello,
Still not work, "No Maps found!"
I created a file called CurrentMap.dat that contains my path directory \SDMMC\Calimap and put it in the My Documents\TomTom\ folder. I also had the Calimap folder at the MicroSD card root, which as SDMMC. I don't know what I did wrong.
Can you check your script file CurrentMap.dat for the correct path? Thanks in advance.
ok first off do you actually have maps loaded on your SD card? all i had to do it put the maps on the SD card and TomTom found them right away. (on mine the storage card has a folder called north_america675, in that folder is all the map data)
if you did happen to pirate the software well you should buy it, but if you are content stealing then what you probably did was just download TomTom -- the maps are sperate, about a 1.5GB download, which you would need to put on your card... again if you pirating and you did put the maps on there, i would then guess that you didn't put the patched EXE on your device which allows you to use maps without activation.
Mezlo said:
Actually there is no difference. The phones were locked by the providers for a reason. You are cracking their security encryption to gain access to features that were unavailable. With hacked software you are cracking security encryption to gain features that were not available before also. The price you paid for the phone really deosn't matter. With this theory the people that buy their DSS satelite boxes and hack Dishnetork ird's to receive a priated signal are ok because they bought the ird. You and I both know this to be untrue. With all that said I don't believe that you should use hacked software either, I just think that some take a high and mighty stance when a simple "We don't condone or discuss warez here" would be all that is needed. I guess your threshold for crossing the line is the only thing in question here, and we all know why most peeps come to these sights.
Click to expand...
Click to collapse
again i think you are wrong... we aren't gaining access to services that we would normally have to pay for... cracking a dish reciever means you are stealing a service that you would normally pay for. for me at least putting new roms on here is to get GPS, and play around with the phone a bit. I'm not getting any service that i wouldn't normally get, or isn't built into the phone. so i see a big differance. but i digress, because really it doesn't matter either way since we won't change each other's minds.
t99randy said:
Hello,
Still not work, "No Maps found!"
I created a file called CurrentMap.dat that contains my path directory \SDMMC\Calimap and put it in the My Documents\TomTom\ folder. I also had the Calimap folder at the MicroSD card root, which as SDMMC. I don't know what I did wrong.
Can you check your script file CurrentMap.dat for the correct path? Thanks in advance.
Click to expand...
Click to collapse
so, your storage card is actually called SDMMC in file explorer?
Also, I think it might be necessary to have the map folder named exactly the same as the map's specific name. I doubt that 'Callimap' is the name of the map, but it might be. I'm not totally sure on this one though, I just know that I was fumbling for a bit to get it out to the root folder. I remember renaming the folder to EXACTLY what the map name was, just to be sure. This could have been the golden ticket and I wasn't even aware at the time. Try that too and see if it helps.
kmartburrito said:
so, your storage card is actually called SDMMC in file explorer?
Click to expand...
Click to collapse
Yes, That is correct!
kmartburrito said:
Also, I think it might be necessary to have the map folder named exactly the same as the map's specific name. I doubt that 'Callimap' is the name of the map, but it might be. I'm not totally sure on this one though, I just know that I was fumbling for a bit to get it out to the root folder. I remember renaming the folder to EXACTLY what the map name was, just to be sure. This could have been the golden ticket and I wasn't even aware at the time. Try that too and see if it helps.
Click to expand...
Click to collapse
I tried it and still did not work. It must be the activiation code for the map. Even though we put the map at the right location, TomTom would still not load if not correctly activated.
Last rant and I will let this go as I usually just lurk and am content to read and learn (note my post count).
My original point was that instead of popping off about buying the software and not stealing it, one could as alot do just post nothing or a simple we don't condone warez here. If as some do, you put a rom that was not manufactured for your phone (ie an alltel rom on the sprint mogul) because you like the features better, I am sure that that is a form of stealing as the rom was built for alltel phones not sprint carrier phones. By unlocking the phone you have basically cracked it. This debate is the same as the one about taking a pen from work. It is still stealing just not the same as takng $1000.00 out of the safe (installing a $150.00 cracked software). But it is stealing all the same, it is just the degree to which we allow ourselves to think it is ok.
As the post above states the carriers come here to find weakness and to make thier products better. This statement implies that the carriers would want to stop these types of activites or it would not be called a weakness.
I have learned massive amounts of knowledge from this and other sites and also like to tweak my phone ( I use freeware or purchase the programs ) and will contiue to read as I like learning the ins and outs of electronics. I just think that sometimes people are quick to see the speck of sawdust in anothers eye and completely miss the 2X4 hanging out of their own.
end rant.....
the only other thing i can think of is try to use TomTom Home to transfer the maps. it's free and can be found here:
http://www.tomtom.com/plus/service.php?ID=17
Mezlo said:
I just think that sometimes people are quick to see the speck of sawdust in anothers eye and completely miss the 2X4 hanging out of their own.
end rant.....
Click to expand...
Click to collapse
The only way you are breaking any rules is if you break your warranty and try to return the phone. I bought this phone and it is mine. If it doesn't work, I now am responsible. I cannot be arrested for modding my phone, but I am voiding my warranty.
P.S. I am not breaking the law by modding my viewsat either, its only when I connect to the 1200 channels do I bend it a little.
serfboreds said:
its only when I connect to the 1200 channels do I bend it a little.
Click to expand...
Click to collapse
I like your mode of thinking of "bending it a little"
on my install the map folder needs to be in the root of the SD card, and the name of the map folder is:
USA and Canada 675_1409
Don't know if this helps or not but worth a try
I recently got myself an ATT Tilt (Kaiser), which I plan on taking with me to a conference in Europe next month, and I'm not planning on taking a laptop so I can travel lightly afterwards. The phone currently has WM6 on there (I'm not going to play with flashing the ROM until after my trip).
To the point: I want a C/C++ compiler on my phone that I can use for potentially testing a few things over there (assuming the application I have in mind will work, but that's another story). I'm assuming that if I get the compiler working, it will have access to the standard C libs, including network stack.
I've tried PocketGCC, but I can't get it to work. The cabs from pocketgcc.sourceforge.net install fine, but the CMD Prompt won't open (I click on the icon and nothing happens).
Searching these boards, the only reference I've found was to http://www.mobilitysite.com/boards/business-development/135816-pocket-c.html#post1187340, but the links it points to for getting the various files no longer work.
Any suggestions or alternate links on how to get a working compiler on my smartphone?
As a backup, is CeGCC the best option for pre-compiling for the phone? Anyone know if it runs under 64-bit linux? Or if not, under win32 cygwin? Ideally, I'd love to have a cygwin-equivalent on the phone...but I guess that'll be deprecated with Android later on.
Thanks,
- David
Hi David,
I'm also looking for this and the best aproach was a DOS emulator (I think it is called Pocket DOS and there is another one that is free but don't remember the name) and Turbo C. I used it just to test very basic software that was just displayed in the DOS windows. But it was a really really little software (a couple of FORs and couple of variable incrementing), it was not fast to copile/run.
Hope this helps a little.
there is a cool project here, it's C#, not C++ but it might be of interest.
This one is supposed to be C++, but it is old and you may have problems with it. From what I recall, the command shell isn't compatible with wm6, but if you look around you may be able to find one to replace it that works.
Here is a command shell that's supposed to work with WM5/6
Good luck and let us know if you find anything else.
Also, the link to Mamaich's Version on that page you referenced works
Digicrat said:
I
is CeGCC the best option for pre-compiling for the phone? Anyone know if it runs under 64-bit linux?
Click to expand...
Click to collapse
mingw32ce (cegcc) is used to compile haret and roadmap (afaik vlc too).
It runs on amd64 very well. Have not tried it on my old DEC alpha.
Thanks for the quick responses.
edgar: PocketDOS looks interesting, but where can I find versions of Turbo C/C++ compatible with the pocketPC?
The program I'll be testing is actually a simple command-line C application, but it does use networking, UDP to be precise.
The link to Mamiach's link works on that page, but not the links on there for PocketConsole, PocketCMD, or the .bat files, though the bat files can be taken from the rar file itself.
I tried the PocketConsole and PocketCMD versions from the pocketgcc.sourceforge.net site again, and managed to get them (mostly) working after changing the reg key value.
I tried the PocketGCC cab file from gforge. It kind of works, but the test program won't compile. I still had to manually set the path for this, and for some reason it doesn't include gcc but calls the various other parts of it.
I'll try uninstalling the PocketGCC Cab and extracting Mamiach's version again and see if I have better luck with that later in the week and see how that goes.
Looks like I got it working for the most part.
Compilation is slow, but I don't want to waste space on the internal memory extracting all those .rar libs, unless I can get it installed/moved to the SD card later and adjust the paths accordingly (using spaces in file paths is always annoying).
I'm using Mamiach's version of GCC from the link above (extracted to /pgcc), plus PocketConsole and PocketCMD cabs from the pocketgcc.sourceforge.net distribution.
The only lingering (and annoying) issue is that it does not save the PATH setting after closing the cmd prompt.
Correction, I just noticed another more important issue. After switching programs, the CMD prompt seems to disappear. If I open another application, and then close that program, it will take me back to the CMD prompt. However, if I return to the "Today" screen, that prompt is still open but I can't get it back. It does not appear in that little task-switcher icon, nor in the detailed 'Task Manager'.
Any ideas?
Thanks
Update:
I just installed Dotfred's Task Manager. It looks like the problem is that the CMD prompt is being seen as a Process and not as an application. Now the question is can I change that...
PSFreedom's recent port to various Android devices using the msm72k chipset got me thinking. Has anyone taken a look at building it for the HD?
I currently use an X10 which unfortunately isn't supported but I have a Blackstone lying around that would be perfect. The hardware *should* be able to handle it but I have no clue how to even begin.
I can cross-compile modules for my X10 and so on but that's about it. I have no experience building a working kernel, the external module and finally making boot images for use with haret.
Anyone working on it?
ddewbofh said:
PSFreedom's recent port to various Android devices using the msm72k chipset got me thinking. Has anyone taken a look at building it for the HD?
I currently use an X10 which unfortunately isn't supported but I have a Blackstone lying around that would be perfect. The hardware *should* be able to handle it but I have no clue how to even begin.
I can cross-compile modules for my X10 and so on but that's about it. I have no experience building a working kernel, the external module and finally making boot images for use with haret.
Anyone working on it?
Click to expand...
Click to collapse
for educational purposes only..
oNNoZeLe said:
for educational purposes only..
Click to expand...
Click to collapse
Naturally.
So after some intense googling I've worked out a plan but I have some questions on compiling and assembling images. The plan goes like this:
Since I don't use the device as an actual phone I'm not bothered about losing things like making phone-calls or things like that. So I'll probably used a stripped down version of Donut or Eclair depending on whichever's the easiest.
Any recommendations on guides for compiling custom kernels, building external modules and preparing the kernel for use with haret?
I've set up toolchains for building Donut modules in the past and earlier I got a Blackstone toolchain set up from a guide over at www.androidonhtc.com but then I got stuck. Any help would be much appreciated, I've been at this way too long now.
Thanks
This would rock..
Sent from my MSM using XDA App
I would also love to see this happen.
I maybe wrong, but currently the Android releases are setup on the Blackstone it doesnt give you access to the card (for files) or USB connection (for transfer) yet as it's still in an unstable state...?
the battery issue is keeping me away from android.
usb connection is not there and access to card is not there from pc .
but access to card is there... using terminal emulator.
to check the usb config , i copied config.gz from /proc folder to /sdcard and copied it back while using windows..
so if the activsync type of connection is not there to put or get the files... that can still be done thru winmo... unless it is also hindering some other functionality that i'm not aware of
edit:
i'm using Android 2.2 (FroYo) On HTC [03 Sep 2010] (V1.6)
sunish said:
the battery issue is keeping me away from android.
usb connection is not there and access to card is not there from pc .
but access to card is there... using terminal emulator.
to check the usb config , i copied config.gz from /proc folder to /sdcard and copied it back while using windows..
so if the activsync type of connection is not there to put or get the files... that can still be done thru winmo... unless it is also hindering some other functionality that i'm not aware of
edit:
i'm using Android 2.2 (FroYo) On HTC [03 Sep 2010] (V1.6)
Click to expand...
Click to collapse
I have atleast ADB working over USB but it requires that I boot with the cable plugged in. So USB works, but I don't know to what extent.
ddewbofh said:
I have atleast ADB working over USB but it requires that I boot with the cable plugged in. So USB works, but I don't know to what extent.
Click to expand...
Click to collapse
did you try droid explorer? several things work with ADB enabled..
I have a lot of time on my hands, but no knowledge of what needs to be done in order to work out how to get this working.
Is there any system already ported that we can look at that has similar devices to the Blackstone - perhaps the HD2?
If not, if someone can advise on what needs to be worked out, I dont mind putting the time in.
DejaVu1977 said:
I have a lot of time on my hands, but no knowledge of what needs to be done in order to work out how to get this working.
Is there any system already ported that we can look at that has similar devices to the Blackstone - perhaps the HD2?
If not, if someone can advise on what needs to be worked out, I dont mind putting the time in.
Click to expand...
Click to collapse
did you check one of the other threads on "getting this to work on XDA?"
I've been on checking XDA-Dev (as well as other sites) since the release of psgroove/psfreedom for updates.
I've been watching all the other devices getting ported too (Nexus One, Bravo, Dream, Desire, Sapphire, TI-84+ (CALCULATOR!), Dingoo), but really dont know where to start for the Blackstone - which has been dishearting as the Teensy++ boards are sold out worldwide!
But surely, if a calculator can do it...!!
Supposedly, the USB Device is the same as the others (MSM72K) that have already been ported. It just needs to be written into the psfreedom code I guess and run a certain way depending on the system the Blackstone would use.
I dont think Windows Mobile has 'root access' so hence the use of Android via Haret. Although it's not stable as such, I think it should be sufficient to run this (if possible through Haret?)
Some of this may seem like complete crap - but I will be the first to admit, I dont know what I'm talking about. It's just the gist I'm getting from surfing the internet over the last few days.
From what I gather, all the (hardest?) work has been accomplished (it's proven it can work with Android!) and I'm sure the Dev's that have completed it will share their findings to help other devices to work?
Also, looking through most the forums on here, Blackstone being THE most popular, I think the port would be appreciated by a lot more people.
The reason that Blackstone is the most popular IMHO is that Windows Mobile running on it is terrible. When I got mine originally from O2, the ROM was sooo slow. The great work the Chef's do on here are appreciated by thousands as they are making the phone usable again. Bring on Adroid for this phone... IT NEEDS IT!!!
If it's pointed out what needs doing. I'll happily do it - I've flashed my phone sooo many times lately, a few more wont hurt!
It'll be Awesome!!!!
I was under the impression that Blackstone has MSM72K (reference to which I found in a very old thread.
following is the text form config.gz which uses MSM_HSUSB
so only a ROM chef can tell us which driver is used in blackstone.
We can only request all the developers on this site to look into this and guide us.
Code:
# USB Function Support
#
CONFIG_USB_FUNCTION=y
CONFIG_USB_FUNCTION_MSM_HSUSB=y
# CONFIG_USB_FUNCTION_NULL is not set
# CONFIG_USB_FUNCTION_ZERO is not set
# CONFIG_USB_FUNCTION_LOOPBACK is not set
CONFIG_USB_FUNCTION_ADB=y
# CONFIG_USB_FUNCTION_UMS is not set
CONFIG_USB_FUNCTION_MASS_STORAGE=y
# CONFIG_USB_FUNCTION_DIAG is not set
CONFIG_USB_FUNCTION_ETHER=y
CONFIG_USB_FUNCTION_RNDIS=y
# CONFIG_USB_FUNCTION_FSYNC is not set
# CONFIG_USB_FUNCTION_SERIAL is not set
# CONFIG_USB_FUNCTION_PROJECTOR is not set
# CONFIG_USB_FUNCTION_MTP_TUNNEL is not set
http://forum.xda-developers.com/showthread.php?t=777120 The HD2 get a haret Port
It doesn't work on a HTC Touch HD T8282, Won't boot. I think, as a WM6.1 phone it can't be rooted.
HD1
sunish said:
I was under the impression that Blackstone has MSM72K (reference to which I found in a very old thread.
following is the text form config.gz which uses MSM_HSUSB
so only a ROM chef can tell us which driver is used in blackstone.
We can only request all the developers on this site to look into this and guide us.
Code:
# USB Function Support
#
CONFIG_USB_FUNCTION=y
CONFIG_USB_FUNCTION_MSM_HSUSB=y
# CONFIG_USB_FUNCTION_NULL is not set
# CONFIG_USB_FUNCTION_ZERO is not set
# CONFIG_USB_FUNCTION_LOOPBACK is not set
CONFIG_USB_FUNCTION_ADB=y
# CONFIG_USB_FUNCTION_UMS is not set
CONFIG_USB_FUNCTION_MASS_STORAGE=y
# CONFIG_USB_FUNCTION_DIAG is not set
CONFIG_USB_FUNCTION_ETHER=y
CONFIG_USB_FUNCTION_RNDIS=y
# CONFIG_USB_FUNCTION_FSYNC is not set
# CONFIG_USB_FUNCTION_SERIAL is not set
# CONFIG_USB_FUNCTION_PROJECTOR is not set
# CONFIG_USB_FUNCTION_MTP_TUNNEL is not set
Click to expand...
Click to collapse
Afaik msm72k and msm_hsusb are different drivers for the same hardware. The kernel in use for the Blackstone port is 2.6.27 and it uses msm_hsusb. Newer kernels are probably different.
psfreedom-for-htc-touch-pro1-2diamond-1-2
Look at this site, you got to copy 3 things and you must have Xandroid 2.2
h**p://howtohackps3.com/psfreedom-for-htc-touch-pro1-2diamond-1-2-is-now-available/
^^ will try it once i get home
It Works !!!!
Yeah Yeah Yeah !!
good temp solution.
as u need to connect the phone to pc when android is booted.
will wait for dongle's price to fall down
Hi all,
A few weeks ago I started taking apart the LiveView software and manager. I'm really unhappy with the current plugin system, the menu structure and more. So, I started to reverse-engineer the Bluetooth protocol. I'm at the very beginning but it's looking promising.
Here's the repo: https://github.com/BurntBrunch/LivelierView
The protocol is not very difficult - just request-acknowledge-response serial communication over RFCOMM. Also, the kind people from SE didn't run the manager through Proguard (wink, wink, nudge, nudge ).
I also have what I *think* is a dump of the firmware but it seems either compressed or encrypted. Binwalk didn't find anything in it. If someone would be kind enough to take apart the software updater, we might figure out what's running on the actual device as well.
Overall, I'm just starting but so far it's looking good (got time syncing working! it's at least a watch, if nothing else! ).
Any help would be greatly appreciated (pull requests are more than welcome! )
thinking of doing something similar with one of my gadgets.
What did you use to reverse-engineer the Bluetooth protocol, just wireshark and a bluetooth dongle
Neither Did it from disassembly of the manager - much easier than sniffing and guessing.
If you don't have that option and said gadget connects to an Android phone, put on a decent ROM with the full BlueZ stack (e.g., Cyanogen) and use hcidump. It's really, really useful!
Come to think of it, Wireshark might be good enough - the only thing I found useful about hcidump was the SCO audio dump.
Nice effort. I've already forked your work on github, might have a look at it soon, I got some geeky ideas for myself as well, and I think integrating this functionality natively on CyanogenMod or even a custom app to replace the SE's one would be great to have as well.
Nice,
i'm was disapointed by the liveview manager myself, i hope something good emerges from your work
I've also decompiled the APK, and it seems that everything that displays on screen comes from the application, which means everything could be costumized. Seems like SE is using a PNG lib LodePNG to convert images and pushing them to the phone. Also, when it comes to strings, I've found some useful references in JerryProtocol that might indicate how the correct text encoding (not that we can push it right now, but just for the record):
Code:
private static final String mEncoding = "iso-8859-1";
private static final char cCarriageReturn = '\r';
private static final char cLineFeed = '\n';
Controlling the led seems quite simple to, it seems message's data is divided in 3 parts:
[RGB] [DELAY = Integer Number] [ON STATE = 0|1]
[old]although I've not figured out the ID of the LED control yet[/old].
LED request ID is 40 and LED response ID is 41. Hope this is enough for you to get started on that one too
I've not yet tested the app, but I've read your code and gave a shot at decompiling trying to see what I could dig up, will try it later (not very used to running python scripts though, will have to see how to install pyserial first and all that)
pedrodh said:
it seems that everything that displays on screen comes from the application
Click to expand...
Click to collapse
Yup, the main stuff is on the phone - the state machine is clearly isolated (on a side note, the manager is rather well-written, thankfully). On the other hand, I'm somewhat confused by all the constants - it almost feels as if the device has native navigation or icon cache or something.
pedrodh said:
Controlling the led seems quite simple to, it seems message's data is divided in 3 parts:
[RGB] [DELAY = Integer Number] [ON STATE = 0|1]
LED request ID is 40 and LED response ID is 41. Hope this is enough for you to get started on that one too
Click to expand...
Click to collapse
Thanks for the interest and the tip, I'll look into it soon - I need to figure out a good way to send commands from stdin. It seems that I'll need to figure out non-blocking reading in Python anyway (good news for you - I might drop pyserial! )
In any case, I'll add it to protocol.txt, unless you beat me to it!
Lastly, the only reason it's in Python is 'cause I'm productive in it *and* it has good, fast bindings (I try to stay away from gobject in C!). Whatever comes out of this effort would be running on the phone, surely
Edit: You *did* beat me to it!
Edit: Implemented LED, vibration, and a pretty good scheme for sending commands from the CLI
Nice work, saw quite a few commits in a small amount of time.
I've not yet been able to run it sucefully, I (think) have installed pyserial correctly, but maybe the problem is that the bluez that comes with my ubuntu is somewhat newer than the one you used, anyway here's as far as I got http://pastebin.com/uVRdr5T3 if you by chance know just by looking at it what it is would be great .
I've started an Android applicatoin Project in hopes of porting this to an Android application as well, but I'm somewhat new to Bluetooth handling on Android, still working it out. I'm already able to connect and pair with device (noob stuff), but it fails to READ from it. I've used java's DataOutputStream and DataInputStream since they deal with data in a big-endian notation, but I haven't understood yet how the initialization process goes. I've looked to your code, I get some parts but not the whole thing yet. Do you have to wait for the LiveView to tell something back, or you can just start to send commands at random? Also, does the script act as a bluetooth server or client (it seems that they are distinct when coding in Android, I've choosen to Connect as a Client, and yes I used the same UUID that you got from decompiling so at least that part I guess to be correct) ?
Anyway is just a bunch of very ugly code at the moment, after I get it to do something usefull I'll clean up the project and host it on github as well.
Hmm, that error is rather suspicious. Looking at the docs, Connect() is not even supposed to throw org.bluez.Failed, let alone with that message. And service discovery supposedly finished successfully..
Was the device in pairing mode (with the arrows/circle turning)? Was the computer the last thing it paired with (once you pair with the computer, the phone shouldn't be able to connect to it, since the device only remembers the last authorization)?
Install d-feet, the DBus browser, go under System bus, org.bluez, find the device, verify that it has the org.bluez.Serial interface and try calling Connect() with the proper UUID from there. Other than that, I've really no idea what it's on about.. Do you have more than one LiveView device by any chance (weird things might happen then)?
I don't actually think it's the difference in bluez versions (the Serial interface hasn't changed in the past 2 and something years) but it might be a (driver) bug you're hitting. I *think* I'm doing everything right as far as communication with BlueZ is concerned. Try running `hciconfig hci0 reset`.
Sorry I couldn't be more helpful..
Regarding your Java effort, if I recall my Bluetooth terminology correctly, you are a client, since the server is the thing advertising the service. You should *not* be reading immediately from the device. The phone/computer sends the first message - in my case, my first message is always STANDBY. Then and only then can you start reading back.
Lastly, I hope Android abstracts the whole RFCOMM pipe thing, 'cause it's a pain to use (and the reason I still need pyserial) - select() would sporadically tell me it has data to read and when I try to read it, I get ERRIO :/ I suspect RTS triggers select()..
Make sure you're only reading as many bytes as you know are in the next packet (take a look at consume() - it returns the number of bytes it expects next) and not more than that - it would either block or throw an exception. I've not done any Bluetooth work on Android, so that's as much as I can help, I'm afraid.
Lastly, as big as the temptation is, do not under any circumstances reuse code from the official manager. "Sony" is in the name of the company after all. I'm half-expecting a Cease & Desist any moment now
Edit: Implemented Display Properties Request and Clear Display Request (doesn't do anything). I think I'm out of low-hanging fruit
Really interesting work, guys. The Liveview is a fantastic idea and is almost brilliant - if only it worked properly! If you could get the basics working properly so we don't have to use the Sony software that would be fantastic, it's got so much potential.
Cheers,
Tim
So, I had a brilliant idea today. You know how the LiveView Manager app is full of debug messages. Turns out, they are disabled by means of a constant in ElaineUtils. My idea was to change that constant, put the apk back on my phone and rejoice from all the extra info I'd have.
Turns out, that's not how it works. I changed the constant (bumped it to 0x100 - literally a single bit change) and re-signed the apk. I got some output out of it but not all, and none of the useful ELEMENT_ID_* messages
Any help on that front would massively speed up the reverse-engineering effort.
EDIT: Scratch that, I'm stupid. I forgot that the .field annotations are not executable code - I was changing the wrong bit so to speak. Changed the value in <cinit> and voila, proper logcat!
EDIT: Here's some food for thought - http://pastebin.ca/2099804 - it's the log from startup + a bit of moving around and opening/closing the mediaplayer control.
Very cool project.
I believe, for the damn thing to be usable, focusing on improving Bluetooth performance would be quite good. By "performance" I mean "power consumption." Having to give up on the watch after two hours of light use is really unacceptable.
I would love it if you got this thing working efficiently like SmartWatchm/OpenWatch did for my MBW-150. I ordered my LiveView from the UK when it first released there instead of waiting for the US release. The darn thing disappointed the hell out of me and has been sitting in my garage for almost a year now.
Hopefully you get something going on with this.
archivator said:
So, I had a brilliant idea today. You know how the LiveView Manager app is full of debug messages. Turns out, they are disabled by means of a constant in ElaineUtils. My idea was to change that constant, put the apk back on my phone and rejoice from all the extra info I'd have.
Turns out, that's not how it works. I changed the constant (bumped it to 0x100 - literally a single bit change) and re-signed the apk. I got some output out of it but not all, and none of the useful ELEMENT_ID_* messages
Any help on that front would massively speed up the reverse-engineering effort.
EDIT: Scratch that, I'm stupid. I forgot that the .field annotations are not executable code - I was changing the wrong bit so to speak. Changed the value in <cinit> and voila, proper logcat!
EDIT: Here's some food for thought - http://pastebin.ca/2099804 - it's the log from startup + a bit of moving around and opening/closing the mediaplayer control.
Click to expand...
Click to collapse
Wow, that's very useful thank you. I've been very occupied and did not work more with the Android Side application since my last post, I intend to return to it soon enough though, that output is very welcome when it comes to understanding then the icons are sent and the whole mechanism itself.
I've been doing a bit of reverse engineering work on the liveview as well, and I think I have a complete (although i fear possibly slightly corrupt) firmware dump!
I have been able to extract was some PNG images from the firmware (Thanks to their rather distinctive %PNG Header and ending with IEND).
It would appear that the menus and stuff are in fact definitively transferred over bluetooth!
I've attached the images I've extracted if anyone's interested in seeing them!
I'm currently trying to work through it in IDA to disassemble it, which is a pain in the arse!
Is anyone else also interested in completely rewriting the firmware?
@aj256, nice work! I thought I had a dump as well but mine looked compressed :\ Mind uploading yours somewhere for all to see? (edit: sorry, saw it in the archive)
aj256 said:
It would appear that the menus and stuff are in fact definitively transferred over bluetooth!
Click to expand...
Click to collapse
That's correct - I almost have that part of the protocol figured out but I'm low on spare time.
aj256 said:
Is anyone else also interested in completely rewriting the firmware?
Click to expand...
Click to collapse
Well.. I'd be interested in modifying it and isolating the Bluetooth stack but don't really have the time OR the chops to write the whole firmware from datasheets and disassembly.
As for where I'm standing, I know what I need to decompile next (renderShowUi) but it's a couple of thousand lines of smali. There are so many branches, it's easy to get lost. I need to write better tools for decompiling smali first
Just bought a Live View! I know it may not be the best but I got it cheap and mainly want the Caller ID portion of it. I hope this reverse engineering pays off. Once I get mine I may start poking around and see if I can help out! Thanks for the post OP!
Hi,
do you guys have some irc channel or anything else? Just got my LiveView and want to help you with this...
I've quickly put together a project website at openliveview (dot) com (apparently I don't have enough posts for an external link!) with some forums as well to help to document peoples progress!
I've done a quick writeup on my progress so far (which isn't very much!)
@archivator, glad you found the firmware in the zip, I was just about to reply that it was there!
aj256 said:
I've quickly put together a project website at openliveview (dot) com (apparently I don't have enough posts for an external link!) with some forums as well to help to document peoples progress!
I've done a quick writeup on my progress so far (which isn't very much!)
@archivator, glad you found the firmware in the zip, I was just about to reply that it was there!
Click to expand...
Click to collapse
Nice. I've been on your website and the documentation is getting in good shape. When I got some free time I'll try and read it more carefully and complement the Android project.
Talking about that, I've uploaded my progress so far to github: https://github.com/pedronveloso/OpenLiveView
bare in mind that apart from pairing with the Device not much is actually working by now, contributions are welcome of course