How Things Work. - HD2 Android Q&A, Help & Troubleshooting and Genera

This may be my first post, although I've been lurking since the wallaby days. I've made quite a bit of use of the hard work of a lot of good people without contributing anything, and I thank you all. This is my way of returning the favor, in a small way.
I have quite a lot of Linux experience, and a certain amount of embedded systems experience, and I hope to straighten out a few things that may be holding you all back. There is a lot of guessing in the forums about how and why different combinations of WM roms, radio, and Linux kernel have their effect on how your Linux/Android setup functions. A lot of these guesses are quite thoughtful and well reasoned, yet wrong. Keep guessing anyway. That's the starting point to figuring things out.
I'm giving you an overview of how these types of things run. I'm not on the htc-Linux project, so I might flub up on a point or two (everyone guesses a bit) but I think you will fine this brain dump useful. Many of you know some or all of this, but many others don't.
In the beginning, there was the phone. And it was good.
Then, came the radio, and it was cool. Then came the computer, and it was way, way cool. Finally, someone but all of them together, and the pda/phone was born. And it was so amazingly cool that geeks like me had to change their shorts. But the focus of our attention here, is the computer part.
A computer, from a hardware point of view, has these parts: Non-volatile memory, which keeps its data when the power is off, Volatile memory, which doesn't, and a CPU that crunches all this data. Why don't they just use non-volatile memory for everything? Because volatile memory is fast. Really fast. Orders of magnitude faster than non-volatile memory (although people are working on changing that).
The reason your HD2 can run Android so fast when it runs off the non-volatile SD card, is that the programs, including the OS kernel, from the slow non-volatile memory are copied to the fast stuff, and run from there. So really, It doesn't run off the card. It loads from the card (making boot-up slow) and runs off the volatile memory (making operation fast).
Currently, the Linux kernel is not using the non-volatile memory in the phone itself to store the operating system like WM does. People are working on this, but it is a lower priority job, because the ability to load off the SD card, without flashing your rom every time you make a change is the most powerful development tool they have. It does have pitfalls, however, which we will get to later.
From a software point of view, (and I'm really simplifying) there is the kernel, which runs the show, the drivers (many of which live in modules, but lets ignore modules for now), the programs, and the data space.
The kernel controls file permissions, handles the larger aspects of memory use, switches between processes, and handles input and output and all the boring crap that makes things happen behind the scenes. The kernel, for the most part, is very similar across the range of phones with the same CPU chip type, but since much of the other hardware is so different (otherwise they would all be the same phone), drivers are written for the different hardware. By the way, the Linux kernel does not use WM drivers in any way. It can seem so for reasons that we'll get to soon, so I'm not saying its all in your head.
The programs are obviously the apps you use, and also certain system programs that the kernel uses for it's own nefarious purposes. Android is really just another program that the kernel runs, just like Sense on WM, except much cooler.
The data space is memory set aside for the data that the kernel and the other programs process. Variables in the programs are stored in the data space on the volatile memory. There can be many separate data spaces, but at this point talking about that is not helpful.
Now things get interesting. Volatile memory loses everything in it when the power goes off. On many systems, this means all the memory is zeroed out. Any memory that is not specifically written to, is zero by default. The kernel for the HD2, is a modified version of a kernel written for another machine. As are some of the drivers, and other miscellaneous stuff. On the other phones, the kernel and some of the data space are loaded immediately at start-up, into freshly zeroed out memory. On the HD2, the kernel is loaded from the card into memory that's been shaken and stirred quite a bit already. If the programmers are just a little bit sloppy in forgetting to initialize all their variables, then variables that they are counting on to be zero, might instead be full of all kinds of leftover crud in the data space of the HD2.
I suspect that many of the problems people have with one WM rom and not another, are due to the different roms leaving different crap behind them when they are overwritten by the Linux system. If a feature works with a certain WM rom it may be that the developers are testing it with that rom, or one very similar.
Another reason that your WM roms, radios and even registry settings might have effects on the Linux system is simply because the HD2 has a lot going on besides the CPU. Other tasks are handled by other, very separate systems using other chips. An example is the radio controller, which is where your radio flash file goes. It is a separate processor (although it can be on the same physical chip). WM and Linux can tell it what to do, and a little bit of how to do it, but all the actual cellphone stuff is handled by the radio controller on its own.
The operating system can interact with these guys, and change their settings, but otherwise doesn't have any control over how they operate internally. Changing operating systems without powering down, as the Linux/Android system currently does, won't have any effect at all on these systems, which will continue to work the way WM told them to. In fact, the kernel developers might be quite happy to let things retain their WM settings, until they get around to fixing up drivers for this stuff. Different WM roms set things up differently. This is why it may appear that the Linux kernel is using WM drivers, when it's really just making use of their after-effects. This is also why running CLRCAD.exe in WM gives you sound in Android.
Well, that's all I've got. It won't make that robot voice go away any quicker, but at least you have a general idea about why its there.

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

Great write-up.
Sent from my HTC Desire using XDA App

Thanks for the brain dump. It was very interesting and gave me an idea of how this all works!

Good to read that!! Loved it. Thanks for your time

very very interesting. Thank you for your thoughts on the matter.
And Dont be A lurker dang it. We need more thinkers like you!

very interesting read, thank you

i Learned alot at school today
no !! seriously this helped me alot, especially the clrcad.exe part i always wondered if Linux shuts down WinMo then how does clrcad.exe gives u sound in android .
you didn't explain it as i expected but thanks it's cleared alot in my mind

sterz85 said:
Click to expand...
Click to collapse
Oh wow, your funny. Really, Im in bits here.
Great write up OP

Nice one OP, thanks!
One of the consequences of this bit of info would be that a NAND version of an Android build wouldn't improve battery life substantially. If most processes already run from volatile memory in the present situation the only difference would be faster boot times. Or am I misunderstanding something?
Furthermore, the new EVO builds do support the lightsensor. But only if you enable it in WM first (so I read). Another one is maximum volume. If you don't set it to max in WM it won't get very high after booting into Android.
Does this fit within the picture you sketched?

Very authoritative and excellent write up.
please take the leisure of having more time and
inform this community of "how things work"
Many thanks.

Good read. Thanks man.

ming of mongo said:
". . . . . Now things get interesting. Volatile memory loses everything in it when the power goes off. On many systems, this means all the memory is zeroed out. Any memory that is not specifically written to, is zero by default. The kernel for the HD2, is a modified version of a kernel written for another machine. As are some of the drivers, and other miscellaneous stuff. On the other phones, the kernel and some of the data space are loaded immediately at start-up, into freshly zeroed out memory. On the HD2, the kernel is loaded from the card into memory that's been shaken and stirred quite a bit already. If the programmers are just a little bit sloppy in forgetting to initialize all their variables, then variables that they are counting on to be zero, might instead be full of all kinds of leftover crud in the data space of the HD2.
I suspect that many of the problems people have with one WM rom and not another, are due to the different roms leaving different crap behind them when they are overwritten by the Linux system. If a feature works with a certain WM rom it may be that the developers are testing it with that rom, or one very similar.
Another reason that your WM roms, radios and even registry settings might have effects on the Linux system is simply because the HD2 has a lot going on besides the CPU. Other tasks are handled by other, very separate systems using other chips. An example is the radio controller, which is where your radio flash file goes. It is a separate processor (although it can be on the same physical chip). WM and Linux can tell it what to do, and a little bit of how to do it, but all the actual cellphone stuff is handled by the radio controller on its own.
The operating system can interact with these guys, and change their settings, but otherwise doesn't have any control over how they operate internally. Changing operating systems without powering down, as the Linux/Android system currently does, won't have any effect at all on these systems, which will continue to work the way WM told them to. In fact, the kernel developers might be quite happy to let things retain their WM settings, until they get around to fixing up drivers for this stuff. Different WM roms set things up differently. This is why it may appear that the Linux kernel is using WM drivers, when it's really just making use of their after-effects. This is also why running CLRCAD.exe in WM gives you sound in Android. . . . .
Click to expand...
Click to collapse
I take this to mean that we have to do Task 29 everytime we try a new build?

jigners said:
I take this to mean that we have to do Task 29 everytime we try a new build?
Click to expand...
Click to collapse
Would that not be null and void though as:
WinMo leaves crud behind on the RAM that upsets Android's kernel - that we know. If we task29 the memory and then we reflash with the same WinMo version there will be the same crud left on the RAM. Also as a WinMo reboot zeros the RAM (from the SPL / HSPL) before booting up, so once WinMo has booted the memory map is reset for Android.
Or thats how i understand what he is saying, so the only time a task 29 is useful is if changing from one version of WinMo to another and not when changing Android ROMS. If a WinMo version is compatible with Android then a task 29 is not needed when changing from one version of Android to another, unless the requirements for Android change and you need to load a new version of WinMo

If only half of the forum's members read your post OP. If only...
Needless to say that the OP is excellent. I jumped on the Linux bandwagon back in '96 when things were a lot harder to understand and the learning curve was a lot steeper. To cut things short this is exactly how the Linux kernel works and this is exactly why this post should be a sticky
And to answer a few more questions, yes, a Task29 followed by ROM flashing AND a Hard Reset is highly recommended, and a full format of your SD card as well.

That was definitely an EXCELLENT informative post for all of us who may have no understanding or complete misunderstanding of how all of this works. We greatly appreciate you taking the time to explain.

panosg1977 said:
...
And to answer a few more questions, yes, a Task29 followed by ROM flashing AND a Hard Reset is highly recommended, and a full format of your SD card as well.
Click to expand...
Click to collapse
i think i'm missing something here. why hard reset is needed after task 29 if the later formats the memory?
thanks,
antaed

antaed said:
i think i'm missing something here. why hard reset is needed after task 29 if the later formats the memory?
thanks,
antaed
Click to expand...
Click to collapse
My mistake there . A hard reset is entirely optional. Sorry about that.

ming, thank you for the excellent write up. I have been searching for this for months.
One question, apart from overwriting, can a wm rom significantly affect Android? For example, is a "lite" wm rom better than a full Miri rom? It seems to me that basic wm services run in all roms therefore a lite rom would make little difference. Thank you!!!

panosg1977 said:
My mistake there . A hard reset is entirely optional. Sorry about that.
Click to expand...
Click to collapse
No need to be sorry mate, I really thought there was something I didn't quite get right about that.
Cheers
Sent from my HTC HD2 using XDA App

Related

phone app doesn't close???

I got my EXEC a few days ago and went ahead with the corporate install - never been a fan of O2 Active.
The first thing I wanted to do was to install a decent task manager. So after reading good things about it - I went ahead with Magic Button.
However, what I have found is that after launching the phone dialer - it refuses to close and remains resident in program memory. Everything else closes fine and with no problems but the phone app just wont close unless you soft reset the device.
At first I thought it was a problem with Magic Button but I then tried GSPocketMagic+. Again, I launched the phone app and then tried to close it using the GSPocketMagic-> Close All option but that didnt work either.
So it appears that once launched, the phone app cannot be closed. Has anyone else noticed this on their EXEC/MDA Pro?
I don't use magic button but most of the closer apps exclude the phone app - do you really want to close that
If you really must close it, check this task killer out
This is from the Microsoft SDK, just modded very slightly by me to allow you to close errant apps, especially useful when I was developing VJBigPhone.
Be careful, it can close pretty much any app, including system stuff like GWES. But if that's one you want, that's what'll 'appen.
VJTrayTaskList
If you press the "Ok" button it'll sit in your Today Tray for ease of use.
Click the checkbox to allow you to close stubborn apps.
V
Thanks guys.
Yes, I really would find it useful to be able to close the phone app - program memory on the Universal is precious to say the least and the phone app uses about 1.1MB (according to MemMaid)
@vijay555
I will definitely try out your app when i get home (dont have my EXEC with me) as it seems a much quicker way to kill the process instead of having to open memmaid - although it is a pretty useful app in itself.
Just a question from a fellow would-be developer - what dev software do you use to build your apps? I am looking to get into doing some dev work my self and was thinking about using .NET.
However, seeing as none of your apps require the .NET framework to be installed, I'm guessing you use the standard MS SDK?
I didnt see the above app on your website... is it still in BETA?
mzaslam: I didn't write TrayTask list, it's provided as example code in the SDK. From memory I enabled its ability to close stubborn tasks, possibly did some GUI work and possibly changed the icon. Was some time ago now, can't remember!
I wouldn't say it's beta, although what Microsoft code isn't!? But I can't really take any credit for it, so I don't distribute it as mine. I just put VJ on it so can distinguish it from the non modded version on my PC. It works well though: I've noticed it does have one issue, that it won't load properly when your system is undergoing some problem, eg an application has hung etc. Then it won't populate the task list at all. But it's a good indicator it's time to soft reset then!
It's the best task killer I've seen, particularly for my kind of development where you need to kill hidden tasks.
Dev software: I'm going to be starting my info/blog site shortly, which will address just this kind of stuff. I've got very little experience programming for the PPC; so far I don't consider myself able to program, just throw stuff around
But I program with Visual Studio 2005. You can get hold of the beta free online, and if you need a copy of Beta 2 and are in the UK, I can probably send you a copy (I've only got 1!) But note, Beta 2 has issues with the WM5 emulator, which stalled a lot of my programming. But it's a nice enough environment.
You can get EVC 4 for free completely, so that's still a good choice, but VS2005 is perfectly competent.
However:
I had the pleasure of meeting this guy
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
from microsoft at a Modaco meeting in London a couple of month ago (the one where that guy stole the prize phone!)
Prior to this I had been fretting that the PPC was good, but not good enough for thumb friendly use. So I wanted to write a program or two. I considered EVB, but it's pretty useless for my low level stuff. I met David Goon, who was evangalising .net CF 2. I discussed with him about writing today plugins and he said that for that kinda work, C++ was still the best way to do it.
So, being a C++ virgin, and only about 20 years behind the times, I started learning c++ in september.
C++ is unforgiving, but very low level, and it makes increasing sense to me. I still only know about 0.5% of all there is to know about it, but it's doing what I want, most of the time. .net is beautiful to program with I guess, but right now, since I'm still awash with c++, I guess I'll start learning .net in about another 20 years! .net is great if you're not doing low level stuff, and I recommend it. For me, c++ is still like trying to create the universe to create the horse to create the ability to teach it to drink! It's a lot of work, but it gets there in the end!
V
PS I can hopefully make you guys an app to just close the phone if you want. Give me a mo...
Arrgh! Someone else obsessed with force-closing apps on Windows Mobile!
Let the OS do its job and handle memory management the way MS intended! I haven't force-closed any applications for a week. No resets or anything, and I have a list of running apps a mile long. (Just checked, and I have 26 apps open, including ListPro, TCPMP and this PIE window. I'm also running PocketZenPhone and VJBigPhone.) It works perfectly. If WM needs memory it will close apps for you in the background. Why worry about it?
Just my opinion.
Well, all I can say is wow. You certainly accomplished alot in a short space of time.
Ive been in the IT sector for a good number of years now but my expertise lies primarily with VB... yes yes I know!! I have in my time developed in Oracle and a number of other languages but most just didnt provide a true RAD environment.
So C++ (and its many variants) was not one of my languages of choice, not that I havent done some dev in my time. Its just not for me. C++ is very powerful but you have to put alot more in to get the best out of it.
Of course, the benefits of C++ are evident in its speed of execution but those advantages are no more (or so MS would suggest) with the release of .NET. All the .NET languages are more closely integrated and coded in the same IDE. OK so the syntax is different but they are all based on the same FCL and CLS ad nsame runtime environment
Anyway, thanks for the app and if you do get a chance to knock up a 'simple' app that kills just the phone app then that would be great.
Cheers.
SiliconS said:
Arrgh! Someone else obsessed with force-closing apps on Windows Mobile!
Let the OS do its job and handle memory management the way MS intended! I haven't force-closed any applications for a week. No resets or anything, and I have a list of running apps a mile long. (Just checked, and I have 26 apps open, including ListPro, TCPMP and this PIE window. I'm also running PocketZenPhone and VJBigPhone.) It works perfectly. If WM needs memory it will close apps for you in the background. Why worry about it?
Just my opinion.
Click to expand...
Click to collapse
I think the phone app is possibly the exception to this rule... I could of course be wrong. With program memory being as limited as it is, I dont think there is any reason not to want to give the OS a helping hand in its memory mamangement.
Lets face it, if HTC (and I suppose MS) had gone about designing the HTC and WM5 the way most of us wanted then we (as in all EXEC/MDA Pro/JJ) users wouldnt have to spend the insane amount of time on this forum trying to fix the so-called "features" of our beloved PPC.
Dont get me wrong, I love my EXEC but with a bit more thought it could have been soo much better.
I'm sure before long we will see the PPC headed the same way as the desktop OS i.e. Service Packs, Security Patches etc. which isnt a bad thing really.
Sorry if I've gone on a bit...
SiliconS said:
Arrgh! Someone else obsessed with force-closing apps on Windows Mobile!
I'm also running PocketZenPhone and VJBigPhone.
Click to expand...
Click to collapse
How is PocketZenPhone on your EXEC? I read from other threads that they are having problems with it. Is it true? What is its main function?
mzaslam: Thanks for your comments!
Check out vjtaskkiller here. This is a generic task killer.
I'll try to write a phone toggle a little later, to quit or launch the phone approriately.
Re Programming: I'm happy with C++ for now. I'll learn .net at some point, but I think the hardware needs to catch up and have better integration of CF. Then we'll have no reason not to use it. But right now, I want to keep my overheads as low as possible, (what with SiliconS using VJBigphone in the background!)
SiliconS is exactly right, WM hibernation is supposed to take care of all memory management. However, I think especially as seen on the wizard, it's beneficial sometimes to give it a hand! Also, although for MS certification programs should be coded to be responsive to hibernation requests, not all are, particularly non certified code... so again, could be beneficial.
I have to say, WM5 is slightly laggy generally, so it's nice to keep it perky. But I would suggest most users don't need to use a taskkiller. However, I use smallmenu and never keep more than a couple of apps open, but then again, I've never had memory problems with or without intervention...
However, for development, certainly beneficial.
SiliconS: is VJBigPhone working ok?
V
Guys, new release
VJPhoneToggle
Just for you mzaslam!
V
cktlcmd said:
How is PocketZenPhone on your EXEC? I read from other threads that they are having problems with it. Is it true?
Click to expand...
Click to collapse
I dunno. Seems to work perfectly for me, but I'm not convinced that the Outlook-based profile switches are working 100%. I haven't properly tested it though because it doesn't cause a problem.
cktlcmd said:
What is its main function?
Click to expand...
Click to collapse
http://zendrui.free.fr/
vijay555 said:
SiliconS: is VJBigPhone working ok?
Click to expand...
Click to collapse
Yeah, seems to be. It's v0.8 so I haven't tried your latest yet, but I will when I get chance. The phone's working fine for me and is always scaled correctly.
OT: How long before v1.0 do you reckon? I must admit I miss having the Wireless Manager not fixed too, and IIRC you were going to try and work on that again? It's about time I bought you that (non-alcoholic) drink!
SiliconS said:
cktlcmd said:
How is PocketZenPhone on your EXEC? I read from other threads that they are having problems with it. Is it true?
Click to expand...
Click to collapse
I dunno. Seems to work perfectly for me, but I'm not convinced that the Outlook-based profile switches are working 100%. I haven't properly tested it though because it doesn't cause a problem.
cktlcmd said:
What is its main function?
Click to expand...
Click to collapse
http://zendrui.free.fr/
Click to expand...
Click to collapse
Thanks SiliconS!
mzaslam said:
SiliconS said:
Arrgh! Someone else obsessed with force-closing apps on Windows Mobile!
Let the OS do its job and handle memory management the way MS intended! I haven't force-closed any applications for a week. No resets or anything, and I have a list of running apps a mile long. (Just checked, and I have 26 apps open, including ListPro, TCPMP and this PIE window. I'm also running PocketZenPhone and VJBigPhone.) It works perfectly. If WM needs memory it will close apps for you in the background. Why worry about it?
Just my opinion.
Click to expand...
Click to collapse
I think the phone app is possibly the exception to this rule... I could of course be wrong. With program memory being as limited as it is, I dont think there is any reason not to want to give the OS a helping hand in its memory mamangement.
Click to expand...
Click to collapse
Glad you didn't take my comments the wrong way. Re-reading them again this morning they could be taken as offensive, and that wasn't my intention, hence the .
Well, I dunno. People complain a lot in this forum that it takes ages for the Exec to ring when someone calls them, and people keep missing calls, so anything that delays the phone app (e.g. closing it down manually) would IMHO be a V.Bad Thing. I've never had a problem just letting the OS handle it. When I was looking at my task list last night, though, (with 26 tasks running) I had 14MB program memory free, so I'm a long way from running out.
Leaving applications open makes the Universal more responsive and perky, since I don't have to wait for the OS to initialise them every time I want them.
Anyway, your phone, your choice of course. I'm just offering an alternative viewpoint since the desire to close apps seems to be just a peace-of-mind thing for the enthusiasts on this forum rather than being driven by any tangible need.
vijay555 said:
Guys, new release
VJPhoneToggle
Just for you mzaslam!
V
Click to expand...
Click to collapse
WOW that was fast!! I woke up this morning and this is the last thing I expected
I really do feel honoured 8) Best not let it go to my head though!! You also wrote a general cmd line Task Killer, even better I reckon. How long did it take you to knock those up then?
Today is my last day at work, I'm on leave for 3 weeks so will have plenty of time to check out all your smart apps and of course play with my little black beauty
SiliconS said:
Glad you didn't take my comments the wrong way. Re-reading them again this morning they could be taken as offensive, and that wasn't my intention, hence the .
Well, I dunno. People complain a lot in this forum that it takes ages for the Exec to ring when someone calls them, and people keep missing calls, so anything that delays the phone app (e.g. closing it down manually) would IMHO be a V.Bad Thing. I've never had a problem just letting the OS handle it. When I was looking at my task list last night, though, (with 26 tasks running) I had 14MB program memory free, so I'm a long way from running out.
Leaving applications open makes the Universal more responsive and perky, since I don't have to wait for the OS to initialise them every time I want them.
Anyway, your phone, your choice of course. I'm just offering an alternative viewpoint since the desire to close apps seems to be just a peace-of-mind thing for the enthusiasts on this forum rather than being driven by any tangible need.
Click to expand...
Click to collapse
No worries
I didnt take offence and you made a perfectly legitimate case for leaving the phone app running in the background. I think I will see how long it takes for the phone to respond with the phone app running and without.
It is still VERY useful (using vijay555's apps) to be able to kill tasks as and when you need - because there will come a time when you run low on prog memory. I think especially if you run something like TTN or CP!!
I am surprised that you have 26 apps running comfortably on your EXEC with no performance degradation. Are you sure you havent been slipped a limited edition EXEC with more memory than the rest of us poor souls
Just my humble observations, but when I first got my Exec I kept wanting to force close the Phone app, but every time I did it would refuse to reload. A soft reset resulted in the splash screen saying no GSM, so I had to wait for it to reboot, use the phone and then soft reset again to get it working properly. Anyone else found this?
Great tool by the way!
Fin
Hey, thanks for all your comments guys. Hope it was useful! Visit my site often for more releases (although not today, or at least so far!)
mzaslam: how long did it take? Um, basic code is used in VJBigPhone to find and modify the phone. Then writing the close code was relatively straightforward. However, debugging, testing and preparing the icon, screenshots, cabs, uploading and preparing webpage all took an hour or two. Got a good telling off from my better half for it! I really need to sleep more...
Findus: I've never had that problem, sorry!
SiliconS: VJBigPhone. I'm quite prepared to step to v1.0 if I can, if there are no issues. No one's mentioned anything bad I think, so I think the core code is safe to stick with. I'm intending to add a phone close option on the tray icon (just in case anyone wants it!) and hopefully one other minor but useful function. Beyond there, hopefully that's v1.0. If I can, I will try to enlarge the caller's photo as requested elsewhere, and if so I will incorporate it as a menu option. (that might be >v1.0)
Finally, I intend to re-address the wireless manager fix, and if it works, I'll reincorporate it as an option on the menu, and also perhaps as a standalone for those who don't need VJBigPhone! Sound ok? Any other ideas for incorporating in? :wink:
How are you guys finding this tool? There's one or two tricks you can pull off with VJTaskKiller, but I shouldn't let you in on how because you could cause some difficulties :wink:
V

Are SPB programs compatible with WM5

Well i heard of this software made by the company "SPBsoftware"
And i'm prepared to spend money for top quality applications but, as I was reading on another site-that were offering a "trial version"- said meant for PPC WM6?
I hope that it would work, cause the layout's are so simplistic, organized, and unique
+Im to scared to try the XM6(WM6?) Rom available, cause the guys post is filled with so many warnings- that you could brick your dvice, that its itimidating to even begin
So the question is will downloading and installing these SPB programs, work on the default WM5 OS of the 8125 Wizard?
-BTW if these programs are compatible with WM5, should I install/Add/Load it onto my device's System memory?, or My mini sd card?
Any, and all post greatly appreciated
Thanks!
It's pretty unlikely that you'll brick your phone by trying software from a more-or-less legitimate software developer. Try it. The worst thing likely to happen is you'll have to go through some kind of rigamarole to uninstall the thing later, if it doesn't work properly.
If you don't feel comfortable with doing things like making registry entry changes, or digging around in system files, then you probably should stick to things that are clearly marked "Works on <<your system/phone/service>>."
As far as loading to system vs. SD, the general rule of thumb is, if you run the program all the time (such as skinning programs and today plug-ins, like SPB is known for) then it should be in system memory. The only software that you should load to SD are things you run sparingly and don't need constant access to. Accessing SD memory is pretty slow on these devices, and it'll seriously affect operability if you load "always run" or "mostly always run" programs from SD.
Lastly, loading new ROMs is a complex and easily flubbed process, from what I've read, and I share your disinterest in bricking an expensive piece of hardware. Frankly, I suspect that the main reason HTC never bothered to upgrade the 8125 to WM6 is because it actually can't handle it, from a hardware standpoint. Every person who has loaded a cooked ROM to a Wizard seems to have reported bugs, errors, and other problems, even with cleanly performed installations. I haven't seen nearly as much complaint from WM5 users.
So, strip down your installation, get rid of the junk, even over-clock the processor if you want (mine runs just fine at around 247MHz), but for my part, I would recommend against loading WM6 on a Wizard, purely based on stability of the hardware/software working in tandem.
<rant>After all, there's a reason why you can't run Windows Vista on an old 486 machine (even if it has enough memory, etc.), and that's because the new software depends heavily upon newer hardware designs to run more complex algorithms and lean hard on those math co-processors (read: hide their bloat and junk from end-users). Run new software on an old machine, and it bogs down and errors out. Again, I don't recommend this, although others probably will.</rant>
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Take a look at Wisbar Advance version 2.x, too. It was written for WM5, and won't crash your phone. WA version 3 looks nice too, though I haven't got experience first-hand with it. This assumes the reason you're looking at SPB is for skinning, of course.
As far as customizing your today screen goes, I'd also recommend rlToday. It's easily designed using basic XML, and was written for WM5, too. Can heavily incorporate graphics and so forth.
Myrddin Wyllt said:
Lastly, loading new ROMs is a complex and easily flubbed process, from what I've read, and I share your disinterest in bricking an expensive piece of hardware. Frankly, I suspect that the main reason HTC never bothered to upgrade the 8125 to WM6 is because it actually can't handle it, from a hardware standpoint. Every person who has loaded a cooked ROM to a Wizard seems to have reported bugs, errors, and other problems, even with cleanly performed installations. I haven't seen nearly as much complaint from WM5 users.
So, strip down your installation, get rid of the junk, even over-clock the processor if you want (mine runs just fine at around 247MHz), but for my part, I would recommend against loading WM6 on a Wizard, purely based on stability of the hardware/software working in tandem.
<rant>After all, there's a reason why you can't run Windows Vista on an old 486 machine (even if Really???it has enough memory, etc.), and that's because the new software depends heavily upon newer hardware designs to run more complex algorithms and lean hard on those math co-processors (read: hide their bloat and junk from end-users). Run new software on an old machine, and it bogs down and errors out. Again, I don't recommend this, although others probably will.</rant>
Click to expand...
Click to collapse
Really...is that so???
I've run WM6 on my wizard for quite a bit of time with no bugs or issues of any kind. My rom is very stable, fast and quite dependable...and a helluva lot better than Tmo's stock rom which I had to reboot pretty much daily. My Wizard runs my WM6 rom with no problems at all.
And always learn everything you can about your device first...yes you can damage it, but only if you are foolish enough to not READ READ READ the stickies and wiki first. Unlocking your device and upgrading it is actually pretty easy and painless. As for running SPB...SPB can run on both WM5 and WM6...and uninstalling is a breeze.
Wizards are actually VERY HARD to break. I know, I've tried. Mine has been dropped, rained on, upgraded and downgraded...it wasn't until the usb gave out mid rom flash that it finally gave up the ghost. I replaced it and immediately began abusing the new one. It might as well be called Timex, because the damned thing takes a lickin' and keeps on tickin'!!!!

Useful Information for people new to XDA and Windows Mobiles

My first post.
First of all to all the seniors, gr8 forum u guys got here.
Second, it's got so much information I cant make head or tail of anything
I am going to be purchasing a HTC P3400i WM 6.0 version soon, most probably in the next week or so.
This is the first time am going to be using a WM device so I was trying to get a feel of things by reading through the posts here.
I have few questions,
1. What exactly is a ROM, why is it called so and will it void my warranty?
2. I understand it is possible to give the p3400i a "touchflow" look can i do it w/o using a "ROM".
3. When using a WM device what are the basic things that one should learn/understand/take care of??
4. Which posts should I go through and what order to understand the whole concept of WM devices, without actually experimenting with my own device.
5 Finally thanks in advance looking forward to your replies and guidance.
P.S: I sincerely hope my post is in the correct section, coz a lot of my questions are of the "General" category.
1. ROM is actually "Read Only files in your pda" ... Its actually the OS and its files running on your gadget........The default OS in p3400i or gene100 comes with lot of junk files and drivers and the RAM will not be sufficient to run all the new Programs....SO dvlpers are cooking faster ROMS than the default one by modifying these files and drivers..... also they make use of files from other faster devices.....YEs it will void your warranty... But normally all the software issues can be rectified.......
2.YEs u can give ur pda touch flo without using by softwares like.......M2D , SPB Mobile shell, Pointui......etc...etc.... But it will faster it will be better if its in a ROM....
3. There are many things.....one advice.....do a research before doing anything stupid on your device,...... Ask lot of questions and doubts...... dont get ur device bricked......
4.Read the Sticky Thread by Sumit before flashing........
Great answer go4thomman Here are my views :
1. A ROM actually is an image, much like images of CDs you create with burning software. It contains the Windows Mobile Operating system, Drivers to run your device as well as Manufacturer made programs to make the best use of device. All these things are packed into a single file, much like you do with zip files. Your phones contains 128 MB of memory for putting things on it. So to provide base functionality to the device, this ROM is written to that memory and that portion is made read only so that things like viruses (and humans ) don't mess around with the important files. The concept of ROM is there only to make this process simpler, as you don't have a CDROM drive in your mobile to pop a cd and install OS into it. Also a phone is expected to come in ready to use condition, not like a computer. So a ROM provides all the software related functionality to your phone. After that, rest of the remaining memory becomes your phone memory.
Device Manufacturers don't allow making custom roms and flashing them to phones as it makes it difficult for them to provide support. So they lock the device using their digital certificates as protection. This locking is done in the special part of the phone called the SPL (Second Program Loader) and the lock is called CID (Carrier IDentifier). SO to unlock the phone, you need to install a SPL that is CID unlocked but this is against the warranty policy of HTC or any other manufacturer for that matter. Plus the process is dangerous and if not done properly can make your device non functional, non booting also called a "Brick" coz the only thing you can then do with it is using it like the one
Fortunately, we have some really good people here who have developed safe unlocking methods as well as unbricking solutions for certain situations (but not all). Two such people that have worked for GENE SPL are Olipro (old gene) and Orefkov (new gene).
For more info regarding this and to know how to do it, ready the sticky post by me.
2. Touchflo refers to two things, Finger scrolling in applications and the Manilla 2D interface. Finger scrolling is something that you will find in recent versions of Windows Mobile OS. So if you upgrade to newer ROMs you will get it. There is also a 3rd party driver available called FTouchFLO but the older versions have problems and newer are not free.
The Manilla 2D interface, which HTC calls TouchFLO in its specs but manilla inside the ROM, is a Today plug in that allows accessing most of the phone functions without going through the usual Windows Mobile OS menus. This plugin is great, looks cool and works nicely. But its disk and ram footprints are quiet large. so HTC only uses it with devices which have 256 MB flash memory and 128 MB of RAM. It is possible to use this plugin on GENE but using it from phone memory is not recommended as it is way too slow that way. When it is cooked into the ROM, it takes half the space as ROM files are compressed and runs smoother. Cons of this plugin are that it acquires all of the screen space so you cant use any other plugin with it, it doesn't even allows to enable any other plugin, It hogs considerable amount of RAM, Decreases the battery backup by 5%, and is not easily customizable.
3. There is not much special you have to do to take care of this baby, its quiet sturdy. But do keep these things in mind:
a. Discharge the battery fully atleast once a week.
b. Use a good quality screen protector with the screen, never ever do cold lamination on the screen, it damages it. Also replace the protector every 6-8 months or so.
c. Avoid hard tapping on the screen, its quiet sensitive and if its not responding, its probably because software is hanging. Dont hit your hardware for that
d. Keep it away from liquids, get cold lamination on the rest of the body to avoid scratches.
e. Keep the volume at a point less than full, speaker sounds good that way.
f. Keep brightness and power settings to the minimum that you prefer, to save battery.
4. This is a forum not a book so i cannot recommend you any particular order, but do read things related to flashing and cooking as well as the threads related to ROMs in the gene section. Wiki is also a good place to learn things, as well as do keep an eye on General Discussions and Development and Hacking section for getting important information and software upgrades.
Always Search before you start a thread or be ready for flaming, respect other members, never demand things as you are not paying for anything and nobody owes you anything, And read thoroughly and between the lines before attempting anything with your phone.
Good luck!
One more thing, rename this thread to "Useful Information for people new to XDA and Windows Mobiles". That way, i guess i wont have to type it all again. You can rename you threads by double cliking besides the title of the thread in the list of threads.
Thanks a lot guys.

Benefits of the RAM tweak in HD2

Hi all,
First of all I was not sure where to post my question, so I decided to put it in General. I hope I made the right choice.
As for my question, I tried to Google this, but no clear answer.
What is the benefit of the RAM tweak (576Mg)? Does it really give something more than just bragging rights?
And, is it possible to make a change to a ROM that does not have this (before flashing it) to enable the more RAM? (and can it be done by someone that is not a chef)
I am ask this because I like to use the Artemis PTG ROM. I like how clean, updated and smooth it is, but I have had some times happen to me that I would get an error when having some programs running in the background and trying to open the camera, that it would not open due to being low on RAM. Many people asked the developer to implement it, but he does not think it is an issue, so I ask if it can be done, and how hard it would be?
Thanks for bearing with me.
you can't apply it to a rom that has already been cooked.
You need to make the change in the kitchen before pressing 'cook'.
Whilst the extra ram is handy for bragging rights, and ram disks, the regular ram should be easily capable of running the hd2 without maxing out.
Low memory warnings are usually not really connected to the amount of free ram, they are usually more about a program not handling its memory allocation correctly.
Thank you very much for your reply, it was very strait to the point and elucidating. I will update the ROM I am using with the newer version that came out, and hopefully it low RAM warning will be gone.

[Q] Some infos before flashing

Hey guys,
it's my first post here, but I'm still some days here in this board, consuming the contents for my HD2 with apreciation.
HD2 was and still is -hardwaresides- a milestone. When it comes up to the stock OS, there are some major things that I don't get. M*cr*s*fts OS is making this device a cripple, if you ask me. But that's another discussion and even more I was excited when I firstly saw a good friend these days holding me his Leo up the nose with Android embedded.
Now, I'd like to know some things before "flashing" my Leo - if you can say so, as the only thing to do seems to apply some kind of bootloader instaed of cleaning and rewriting the ROM. Which leads me to the
1. Will the installer overwrite the WM6.5 ROM or will it run in a dual-boot system?
2. Will a physical hardreset (volume-buttons) return to the stock-Rom?
3. Which of the local Froyo versions is the most stable with nearly all components working and - if possible - NO skin customizations except SENSE?
Thanks for your help and I hope that Android will bring my Leo to a whole new level.
Prepare yourself for a flaming of a lifetime.
Postaldude said:
Hey guys,
it's my first post here, but I'm still some days here in this board, consuming the contents for my HD2 with apreciation.
HD2 was and still is -hardwaresides- a milestone. When it comes up to the stock OS, there are some major things that I don't get. M*cr*s*fts OS is making this device a cripple, if you ask me. But that's another discussion and even more I was excited when I firstly saw a good friend these days holding me his Leo up the nose with Android embedded.
Now, I'd like to know some things before "flashing" my Leo - if you can say so, as the only thing to do seems to apply some kind of bootloader instaed of cleaning and rewriting the ROM. Which leads me to the
1. Will the installer overwrite the WM6.5 ROM or will it run in a dual-boot system?
2. Will a physical hardreset (volume-buttons) return to the stock-Rom?
3. Which of the local Froyo versions is the most stable with nearly all components working and - if possible - NO skin customizations except SENSE?
Thanks for your help and I hope that Android will bring my Leo to a whole new level.
Click to expand...
Click to collapse
First of all, why are you afraid to spell out Microsoft?
Second, Winmo didn't cripple HD2 at all, you have fully function phone.
Now, if you put Android on this phone, this make HD2 a cripple phone.
To answer your questions
1. No, Android will not overwrite the wm 6.5 rom, it need wm to run and it runs from sd card.
2. see #1, it will not alter wm rom, wm will be wm after reboot, you dont need to hardset.
3. This is like... personal preference, you have to try to see which build is for you.
the core here is kernel, if you try this build and you have problem, and you see another the build with the same kernel, it likely not going to fix your problem.
justwonder said:
First of all, why are you afraid to spell out Microsoft?
Second, Winmo didn't cripple HD2 at all, you have fully function phone.
Now, if you put Android on this phone, this make HD2 a cripple phone.
To answer your questions
1. No, Android will not overwrite the wm 6.5 rom, it need wm to run and it runs from sd card.
2. see #1, it will not alter wm rom, wm will be wm after reboot, you dont need to hardset.
3. This is like... personal preference, you have to try to see which build is for you.
the core here is kernel, if you try this build and you have problem, and you see another the build with the same kernel, it likely not going to fix your problem.
Click to expand...
Click to collapse
1. Why shouldn't I? There are enough examples, that anonymity is not given in every way these days on the web...
2. No, it did run well. But it
-isn't nearly as smooth as the iPhone-OS or Android
-HTC Sense seems to stuck several times with WM 6.5, which brings me to conclusion that HTC wasn't allowed to create a consequent GUI without corrupting MS license restrictions
-Browsers (Stock Opera, Opera 10, Opera Mini, Skyfire) are really slow
-I got a bunch of crashes even with updated stock ROMs and CF 3.5 installed
-the response between OS and touchscreen is still very laggy which results in the over-sensibility and the so-called ghost-effect, when the screenkeys begin jerking out/ the screen is working commands that had been given more than a minute along
-pinch-to-zoom only seems to be a gimmick clearly running in the SENSE environment and apps based upon it. The WM GUI isn't compatible to it in many ways
- and most important, it still is giving me white knuckles that MS at last decided to make WMP 7 NOT available, needless to say, AFTER several Leos were sold with prediction for WMP 7 being available sooner or later
Sure, you got a working OS for everydays use, but it is as unattractive and as imperformant as it could be the day it came on such a steroidic device like the HD2. MS has epicly failed in giving attention to the mobile phone market, that's for sure. It isn't done with borderless synchonization of Outlook e-mail and contacts - because todays smartphones are capabale of so much more. For something like this, you don't need a 1 GHz Snapdragon, together with 512 MB systemmemory. And after making such hard license restrictions for developers that are in charge to use WMP7, I think this won't ever change.
And sure, you're able to customize this OS as far as you want. But take the usual Jon Doe, excited by HD2-Ads and offended by an OS, that feels and looks like it is 10 years old under the SENSE-surface, with an app-catalogue that's growing slower and slower. And Jon Doe's not the man to deal with custom roms and tweaks.
Now take Android on the other hand. Based on the Linux-Kernel, which is known to give you every possible freedom, together with every possible brick to handle - which you're able to fix by yourself and what makes it attractive mostly for enthusiastics - it's a good blend of functionality ergonomics/ease-of-use. These two words together exclamated each other more or less in the past and this is one of the reasons, why Linux as a desktop-system hasn't become more popular over the years of development. Besides this, linux distributions are the fastest and most stable running OS I ever used on a PC. Now, Android is in charge and able to become as popular as MS is on desktop-systems, because it's working good. Most of the start-up problems that occured on early Droids are eliminated, this phone-OS becomes more and more performant. And it seems to be a lot more flexible than any other phone-OS
Finally, this discussion turned right the way i thought it would end. I'd like to thank you all for your information at first. If you'd like to make further dialogue affecting the goods and bads of WM, please contact me PM.

Resources