
02-02-2005, 01:05 AM
|
|
Ponderer
Join Date: Sep 2002
Posts: 104
|
|
O.K., snooped around the HP site and found this. . .
This Bluetooth issue is one that's plagued iPAQS from the beginning. The problem is a result of a number of decisions by various groups.
1) Microsoft decided to allocate only one block of memory for drivers. In Windows Mobile 2003, that changed to two blocks, one for system drivers and one for application drivers. That helped a bit, but does not completely solve the problem. Bluetooth is considered a system driver.
2) HP decided not to allocate the driver memory until the Bluetooth radio was turned on. That gives you access to that memory when the radio is off, but, if another program gets there first, you get this annoying message. Actually, HP put the message in there to warn you. Other PPCs just fail to load the Bluetooth stack and don't tell you. Yet other PPCs allocate the driver memory whether Bluetooth is ever used or not.
3) The Bluetooth consortium decided that memory for every profile that is supported in a machine will be allocated when the Bluetooth stack is loaded. That means that, even if you only use one Bluetooth profile, memory is allocated for every one supported.
As a result, if you turn on the Bluetooth radio right after a soft-reset, you'll always be able to use it. If you wait, or turn it off. Other drivers, or even programs, may use the memory that the Bluetooth stack needs. Since all the system drivers load into one specific block, even if you have tons of free memory, if drivers or programs have taken enough of the system driver block that the Bluetooth stack can't load, you get the warning message and the only thing you can do to make it work is to do a soft-reset.
HP could "solve" the problem by pre-allocating the Bluetooth stack when you do a soft-reset. Microsoft could truly solve the problem by allowing drivers to load anywhere in memory.
Let me know if it works for anyone.
I may not have been far off with my solution after all :wink:
|
| |
|
|
|