Important: Please read the Qt Code of Conduct -

Cannot suspend embedded linux while qt app is running

  • 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";

    this just gets me this message:

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

    which should be something like:

    bq. 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:

    Does anyone know what could be the problem?

    [[Allso posted this question on "StackOverflow":]]

  • 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

Log in to reply