yaml rule to stop suspending when using gps

Helge Hafting helge.hafting at hist.no
Fri Feb 27 11:13:44 CET 2009


Klaus Kurzmann wrote:

>> org.shr.ophonekitd.Usage /org/shr/ophonekitd/Usage
>> org.shr.ophonekitd.Usage.RequestResource Display
> which requests the resource until you release it. That way you can wrap
> for example tangogps between a call to request display and a call to
> release display...

This is currently very fragile.

Because it didn't work at all, I upgraded SHR last night.
Today, the backlight stayed on, I could see my map all the way to work.

I then quit tangogps and expected the backlight to time out.
It did not! So no I have a phone with the backlight stuck on,
a very power hungry condition.

Hm - on closer inspection I see that ophonekitd has crashed.
Its resources are not released unconditionally when the process ends?

I didn't notice the crash at first, because the phone works so well
without. I can send and receive SMS and call out. (the new message 
doesn't show, but the sound is there and I can read it in the messages 
app.)  The only thing missing is that there is no way to answer the 
phone when it rings.

I restarted ophonekitd and tried to release the resource again.
ophonekitd ended without error message, and mdbus complained:

/org/shr/ophonekitd/Usage: ReleaseResource failed: 
org.freedesktop.DBus.Error.NoReply

I hope this isn't too hard to fix. I plan on using scripts requesting 
the CPU for all data-gathering apps (tangogps, cellhunter) so the phone 
don't suspend while they are in use.

And I also plan on requesting the display for mokomaze and tangogps. 
Because these should be on for a long time without touch input. 
Actually, I have two tangogps icons - one that keeps the backlight on 
for car navigation, and one that merely reqeust the cpu for data 
gathering without external power.

I assume ophonekitd uses reference counting, so multiple apps can 
request the display/cpu at the same time? And release one after another, 
with suspend happening only after the last user has quit?


Is there a way to check what resources are held and by who? Sort of like 
a "ls" command for resources?  Is it possible to forcibly release the 
display so the phone can work normally again - except for the obvious 
reboot way?



Helge Hafting




More information about the community mailing list