Frage

currently I am working on a Qt application running on an Embedded platform (i.MX53).

My problem is, that while this app is running, I cannot make my system suspend.

I am using "busybox rtcwake" to administer the suspend funktion, which i would like to just run from my Qt app, as this app is the main reason for my system, but I cannot seem to make the system go to suspend when calling rtc wake:

//From Qt app.
Qstring str = "/bin/busybox rtcwake -d /dev/rtc0 -m standby -s 15";
system(str.toAscii());

this just gets me this message:

wakeup from "standby" at Sun Jun 24 20:59:00 2012
PM: Syncing filesystems ... done.

which should be something like:

**This is not code, but somehow I could'nt submit this because SO said it was code.

wakeup from "standby" at Sun Jun 24 22:22:02 2012   
PM: Syncing filesystems ... done.   
Freezing user space processes ... (elapsed 0.01 seconds) done.  
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.  
mxc_ipu mxc_ipu: Channel already disabled 9  
mxc_ipu mxc_ipu: Channel already uninitialized 9  
PM: suspend of devices complete after 28.942 msecs  
suspend wp cpu=400000000  
PM: late suspend of devices complete after 0.726 msecs

Because this is what is says when I run the busybox command while the qt app is not running.

*Note: I'm running Linux: 2.6.35.3-11.09.01

Does anyone know what could be the problem?

War es hilfreich?

Lösung

The problem is that The QT app is running a console on its own, in my case tty0 which is stalling my suspend request.

In my case since I dont use keyboard or mouse inputs through QWS, I solved the issue by running the application as:

qt_app_name -qws -nomouse -nokeyboard
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top