I'm working on a Windows Mobile 6.1/6.5 application running on .NET Compact 3.5. This application has been running successfully for years on the old HP iPaq 210, but I'm having some trouble getting it to run on a Socket SoMo 655.
Almost everything works as it should, with the exception of the LargeIntervalTimer feature of the OpenNETCF library. The timer does actually work if the device is left connected to a PC, but otherwise the device falls into a suspend mode that this timer is not able to wake up.
Now, this is the entire purpose of the LargeIntervalTimer. It wakes up a device that has entered suspend mode, so that it can perform a task of some kind. It works correctly on the iPaq, waking it from seemingly any kind of sleep mode as it should. On the SoMo, however, the timer does not fire after the device has been left alone long enough to turn off.
Does anyone have any ideas? Is there another way to wake the device from any power state that I can use within managed code?
Edit:
Thanks for the helpful suggestion, Josef, and for going to the trouble to write a test app. From what I can tell, the event is being added correctly to the database. If I run your application and press Start immediately followed by Stop, I see there is 1 new entry (the one created by the test app itself). However, if I press Start and then open my own application before switching back and pressing Stop, I get 2 new entries. This is true for both devices, the working iPaq and the problematic Socket.
I'm thinking the problem must have to do with the Socket's power state after the device is allowed to go into suspend mode. The LargeIntervalTimer works correctly when the Socket is left connected via USB to my PC, and I think that's because the device never completely goes to sleep while connected. However, if I unplug the device and allow it to enter suspend mode, the timer simply never activates.
Anyway, thanks for your help. I'm still open to ideas, but it doesn't seem like there's a simple solution that I've just overlooked...
Edit 2:
I noticed that the Socket SoMo 655 is running Windows CE, while the Socket SoMo 650 (on which the application works perfectly) is running Windows Mobile 6.5. Could there be a difference between these mobile operating systems that is interfering with the OpenNETCF library?