I’m trying to implement a systemd service to trigger on device wake up after suspend. I’m following
Suspend/Resume (Linux) guide and the Apalis iMX8QM I’m using is not mentioned there. I was able use,
echo deep > /sys/power/mem_sleep; echo mem > /sys/power/state
commands suspend and WAKE1_MICO# pin to resume the device.
I’ve created a systemd service file as following at /etc/systemd/system as test_service.service.
[Unit] Description=Test event trigger after resume After=sleep.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/home/torizon/logdata.sh User=root [Install] RequiredBy=sleep.target
logdata.sh file is as following.
#!/bin/bash echo "hello world" >> /home/torizon/my_file.txt
I’ve added the service and enabled by following commands.
systemctl enable test_service.service systemctl start test_service.service systemctl daemon-reload
Unit works fine as it adds new data to text file when I manually start or restart the service. The service status shows as following.
test_service.service - Test event trigger after resume
Loaded: loaded (/etc/systemd/system/test_service.service; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2022-12-22 03:02:51 UTC; 1h 9min ago
Process: 1357 ExecStart=/home/torizon/logdata.sh (code=exited, status=0/SUCCESS)
Main PID: 1357 (code=exited, status=0/SUCCESS)
When I suspend the device and resume with gpio, service seems to be not triggered as no new data added to text file even after reboot. I’m running Torizoncore with following hardware.
Apalis iMX8QM 4GB WB IT v1.1 B
Any support is really appreciated. Thanks in advance.