Ticket #1898 (closed defect: community)
Phone subsystem does not always suspend/resume properly
|Reported by:||robolange||Owned by:||openmoko-devel|
|Blocking:||Estimated Completion (week):|
Using OM2007.2 with the power management turned on, after the phone suspends, the phone subsystem does not always resume properly. When this happens, a reboot seems to be required to regain phone functionality.
When first booting the phone, once network registration happens, you can make and receive phone calls. Let the phone go unused for a while, so that it suspends itself. Now make a call to the phone.
With some probability (p), the phone will wake up and you can receive the call, and then make other calls. With (1-p), the phone will not wake up. In this case, even if you wake it up manually by pushing the power button, you will not be able to send or receive calls. Regardless, the icon for signal strength and the operator name remain the same as they were before the suspend.
Using libgsmd-tool -m shell, I get the error "Can't connect to gsmd". I restart gsmd. I invoke libgsmd-tool -m shell again, and attempt to power up the antenna using command O. It will fail often; see bug #1415. Once it powers up, use the registration command r. You will see signal strength and a registration printed to the console. However, you do not get the pop-up announcing the registration, and the signal strength and operator name does not change. You still will not be able to make or receive phone calls.
Something must not have woken up correctly. At this point, the only way I know to fix it is to reboot the phone. :(
This bug seriously affects my ability to use the device as a phone, because I need suspend/resume, else the battery does not last even one business day. I consider the bug quite severe, but its severity would be less if I knew of a way to regain phone functionality without a time-consuming reboot.
Also, I don't know this for sure, but it seems that the probability of the phone resuming correctly is inversely correlated to how long it has been suspended. It seems that when I frequently resume the phone, I rarely have to reboot, whereas when I go a "long" time without resuming, I almost always have to reboot.