One of the biggest bugs of WM2003SE, driver memory shortage, explained
You may have already heard about the difference between driver memory (don’t confuse it with the ‘static’ storage memory!) and dynamic memory. The two have nothing to do with each other. That is, you can have even 100 Mbytes of free dynamic (program) memory while having no driver memory at all.
The shortage of the driver memory is very well known for many WM2003SE device users; for example, those of the Pocket Loox 720. On the Loox, upon (re)enabling Bluetooth, you often run into this error message complaining about the lack of the driver memory. Other, mostly WM2003SE (and, to a much lesser degree, WM2003) users have also run into this problem.
Some programs use more and some less driver memory. For example, the Widcomm Bluetooth stack in the Pocket Loox 720 and in the WM2003SE HP iPAQ hx2xxx series uses quite a lot of driver memory. Other applications that consume a lot of driver memory are, for example, Qmail, the great alternative E-mail application, the beta (past) versions of Opera Mobile, the best Web browser for the Pocket PC (the final, trial/commercial version released late May has much less driver memory usage), the also nice Web browser NetFront 3.2/3.3, Adobe Acrobat Reader 2.0, TextMaker and PlanMaker by Softmaker.
It’s completely device-dependent how much driver memory you have. For example, the Pocket Loox 720, the HP iPAQ hx2xxx series and the (default, that is, WM2003SE) x50v have pretty little driver memory which runs out really easily.
WM5 devices (I’ve tested this on a Dell Axim x51v, a WM5-upgraded hx4700 and a HTC Wizard with the latest i-mate ROM), on the other hand, have so much driver memory that, in practice, you won’t ever run into problems related to driver memory shortage. I’ve tested this with running several driver memory intensive apps and, albeit task switching was a bit slow, I have never encountered any problems. The same stands for the WM2003 iPAQ 2210. It's very rarely that you see WM2003 users complaining about driver memory problems – this means WM2003 is also much more robust (in this respect) than WM2003SE.
Under WM2003SE, you can easily reproduce the problem. If you have a Widcomm Bluetooth stack-enabled device (Dell Axim x50, Pocket Loox 720, the original HP iPAQ hx2xxx series etc), make sure you enable it before the test. Then, get for example Adobe Acrobat Reader 2.0 (preferably in forced VGA mode if your PDA has a VGA screen – then, it takes even more system resources) and the trial version of Opera Mobile. Start both. Now, if you try to run, for example, NetFront 3.2 or 3.3, it’s highly likely you will either get a (until you reset the PDA) spinning hourglass and/or a just non-starting NetFront, leaving the Pocket PC in a state where only the current application works (along with its local menu), but not the (global, system-level) command bar, the Software Input Panel icons or the Start menu. Note that, if the local (still accessible) menu of the current application supports exiting, this doesn’t help either: the given app indeed exits but you still won’t be able to access the Start menu/ the SIP in already-running apps. That is, you’ll need to reset.
The same stands for starting other applications while NetFront is running. For example, run Acrobat Reader, NetFront 3.2 or 3.3 and, then, Opera Mobile or Qmail on your WM2003SE device. Try switching back to NetFront. The device will crash. This means you should never start anything driver memory-intensive while NetFront (both the old, 3.2 and the new, 3.3 version) is running on a WM2003SE device if you don't want to lose all your work because of the need for a soft reset!!!!!!
Note that I’ve emphasized you should enable the Widcomm Bluetooth stack to run out of driver memory as soon as possible. You, however, will eventually run out of driver memory even without using the Widcomm BT stack; that is, it’s not all Widcomm’s fault. Also, you’re safe even if you use the Widcomm BT stack shipped with some WM5 devices: the one that comes with the HP iPAQ hx4700 WM5 upgrade doesn’t cause driver memory problems; neither does the 0.50 version of the WM5 x50/x51 Widcomm BT stack.
Naturally, you can run into the same problem not only with the above-mentioned Acrobat Reader, NetFront, SoftMaker apps, Opera Mobile but with a lot of other, driver memory-intensive applications. See for example this thread for more information. It’s that using them, along with Qmail, that I’ve tested on all my test devices to be absolutely sure my test results are absolutely reproducible.
Summary
WM2003SE has been a big step backward, compared to WM2003: it had pretty low driver memory. WM5, fortunately, got rid of this limitation (too), along with another, even more annoying one – that is, the 32-process limitation.
Users that have to live with WM2003SE, however, will frequently need to soft reset their devices before starting driver memory-intensive applications like NetFront 3.2/3.3. This problem, unfortunately, can’t be fixed. The only way to completely get rid of it is either upgrading to WM5 (if possible and you can live with the inherent problems - mostly the filesys.exe compaction problems - of all non-native WM5 devices under WM5) or just selling your current Pocket PC and getting a native WM5 one.
I don't think it's much of a surprise that a Pocket PC (PDA stretched to PC type multitasking) runs out of resources quickly with these types of programs.
I hear people whining that they can't do GPS, play music, and receive phone calls through a bluetooth headset without navigation stopping. Hello!
I agree that I want my PPC to be a monster device. But expecting to run two blingy browsers at once along with Adobe (not a very efficient program) was probably never in the design model. I'm sure each software company designs their software to run on a PPC without any other programs open, and most likely not the other competing browser.
Maybe SE is a little handicapped in it's resources and requires more frequent resets when asking for too many processes to compete, but it certainly works better than WM5 on a similarly loaded device and average multitasking. I use both my device interchangeable day after day, so I know.
My WM5 device fully loaded takes about 3 minutes to soft reset, and getting longer with every install. The WM2003 device takes about 30 seconds no matter how many programs I install. Based on the way my X51v works, and the lack of RAM (about 1/2), I would not upgrade my X50v to WM5 just so I can push multitasking to it's limit. Some of the programs I have just won't run on WM5, and there is no upgrade available.
I appreciate the advice and enjoyed the article.
__________________
"I'm a perfectionist, but not very good at it yet."
I tend to disagree: while booting, task switching etc. is indeed slower under WM5 (and the maximal free RAM is smaller), the operating system itself is much more failsafe.
The non-messed-up driver memory is just one example of this. WM5 has a lot of other goodies directly related to making multitasking easier, the most important being getting rid of the 32-process limitation. Now, if I open, say, 30 tabs in Opera Mobile, the system will in no way shut them down (unless there is an acute shortage of RAM), unlike under previous operating system.
Also, the built-in apps are much more failsafe than before. PIE/IEM no longer crashes when reading certain CSS, HTML constructs, Pocket Word doesn't ctrash if you enter -> etc.
That is, I do consider WM5 a very nice upgrade to the, in many respects, pretty bad WM2003SE.
WM5 devices (I’ve tested this on a Dell Axim x51v, a WM5-upgraded hx4700 and a HTC Wizard with the latest i-mate ROM), on the other hand, have so much driver memory that, in practice, you won’t ever run into problems related to driver memory shortage.
My X51v runs into this problem about once a week (see attached). I search for a solution and reach this thread.
It is always the Bluetooth cannot be turn on because of not enough driver memory when the Axim get out of suspend mode.
I am using the 0.50 version of the WM5 x50/x51 Widcomm BT stack.
How do I know what apps are using how much of driver memory? So I don't have to soft-reset my X51v every week.
Try disabling BT before suspending the device. (I know it's pretty annoying, but don't really know any other solution.)
It is much annoying than soft-reset the device once a week. I always turn bluetooth on because I use it to dail and send SMS to my phone. But anyway, thanks for your help, at least I don't have to search for the non-existant solution.
Maybe I shouldn't bump an old thread like this, but this is such a common problem from what I've seen of others' experiences, I had to relate my fix.
I backed up my X50 to an SD Card, not Built-In Storage - you'll see why later.
I uninstalled every program on my Axim X50 one by one, and did a soft-reset after each one, looking for the program(s) that consumed driver memory which prevented Bluetooth from starting.
After uninstalling absolutely every program, BT still gave me the message "The Bluetooth Radio failed to turn on due to insufficient driver memory available. You must perform a normal reset before you can turn on the Bluetooth radio".
Since all programs were uninstalled at this point, I bit the bullet and did a hard reset.
After restoring my backup (and re-installing Pocket Informant to fix a minor bug), everything is back to normal AND Bluetooth works.
I'm not sure why the hard reset and restore worked, but maybe someone else can enlighten me on this.
Hope this helps someone, since this BT problem is fairly widespread on WM2003SE Axims, judging by the posts I find about this here and elsewhere on the Web.
__________________
Palm V (broken) -> Palm V (stolen) -> iPAQ 3650 (broken) -> 4-yrs without a pda -> Axim X50 -> iPAQ 110 -> HTC Touch
A friend of mine just got an Ipaq running WM5 for Christmas, and it seems like he still runs into this problem with Calligrapher. Along with apmichael above, it seems that this is still an issue, even with WM5.
I've got an X50v, and I've been watching the A02 rom upgrade very closely, precisely because of this issue. I'm running Calligrapher, and Opera mobile, and bluetooth frequently, and it's not uncommon for me to soft-reset once a day to get something working properly.
If my friend hadn't shown me the problem he was having, I would probably have already upgraded my Axim to WM5. Can you confirm that this is not an issue with WM5?
Also, why is this particular bank of memory so vaporous? I find it hard to believe there is no way to check how much free driver memory is available. Is this a specific chip on the board, or is it something that's partitioned from the main memory chip using software (in the ROM)? If the latter, wouldn't it be possible to modify the ROM to increase available driver memory? I'm guessing that a simple registry hack wouldn't do it, because it would have been found already.
Originally Posted by Menneisyys
That is, you can have even 100 Mbytes of free dynamic (program) memory while having no driver memory at all.
I've seen conflicting reports on this. Some people say the PPCTechs memory upgrade resolved this issue, while others say it's still a problem. It sure would be nice to find a utility that reported an actual driver memory value.
__________________
Borderline Psycho from...Michigan it looks like.
WM2003SE has been a big step backward, compared to WM2003: it had pretty low driver memory. WM5, fortunately, got rid of this limitation (too), along with another, even more annoying one – that is, the 32-process limitation.
Where did you find out that they got rid of the 32 process limit in WM5? I can find information saying they removed it in the CE6 core, along with the 32MB limit on process memory, which is something to look forward to in Crossbow from the CE Base blog (http://blogs.msdn.com/ce_base/archiv...-nutshell.aspx)
but cannot find any description of the limitations in WM5.
I'm only asking out of ingnorance and a desire to be enlightened, I would like to know all of these "quirks".....
__________________ pencil and paper: n.An archaic information storage and transmission device that works by depositing smears of graphite on bleached wood pulp. More recent developments in paper-based technology include improved ‘write-once’ update devices which use tiny rolling heads similar to mouse balls to deposit colored pigment.
Where did you find out that they got rid of the 32 process limit in WM5? I can find information saying they removed it in the CE6 core, along with the 32MB limit on process memory, which is something to look forward to in Crossbow from the CE Base blog (http://blogs.msdn.com/ce_base/archiv...-nutshell.aspx)
but cannot find any description of the limitations in WM5.
I'm only asking out of ingnorance and a desire to be enlightened, I would like to know all of these "quirks".....
Try opening 20+ tabs in Opera Mobile in WM5 and WM2003SE. Now, start (switch to) another application. WM2003SE will shut down all your Opera Mobile processes; WM5 won't. The latter will remain usable up to about 30-32 parallel Opera processes.
A friend of mine just got an Ipaq running WM5 for Christmas, and it seems like he still runs into this problem with Calligrapher. Along with apmichael above, it seems that this is still an issue, even with WM5.
I've got an X50v, and I've been watching the A02 rom upgrade very closely, precisely because of this issue. I'm running Calligrapher, and Opera mobile, and bluetooth frequently, and it's not uncommon for me to soft-reset once a day to get something working properly.
If my friend hadn't shown me the problem he was having, I would probably have already upgraded my Axim to WM5. Can you confirm that this is not an issue with WM5?
You're right - it is still an issue, but to a much lesser degree (I too encounter it with my WM5-upgraded hx4700 + the official factory Widcomm BT stack from time to time). It's just that the problem is far less frequent than with (some) WM2003SE devices; this is why I've tought at first (before upgrading my hx4700 to WM5; as my other WM5 devices were all Microsoft MS stack-based back then, I've never run into the problem with them) it's been fixed.