For the record, here is how I did, thanks to other users help.
Perhaps it can serve someone else.
But it’s one more noob2noob tuto: There are much more skilled people here. They could explain this better, in a more correct way to do things and in a more richer way. But they have more important things to do (develop apps, catch bugs, try to push/pull Jolla…), so I do it with my modest knowledge.
To switch on airplane mode:
dbus-send --system --dest=com.nokia.mce --print-reply /com/nokia/mce/request com.nokia.mce.request.req_radio_states_change uint32:0 uint32:1
To switch off airplane mode:
dbus-send --system --dest=com.nokia.mce --print-reply /com/nokia/mce/request com.nokia.mce.request.req_radio_states_change uint32:1 uint32:1
And to run this task repetitively and automatically, one can use systemd timers.
Here is how I did. It is working. But correct me if there’s a better way.
The goal: Having the phone connected to cellular network 15 minutes per day only.
1.The scripts
I needed two scripts. One to disable airplane mode, the other one to re-enable airplane mode.
/home/somewhere/airplane_off.sh:
#!/bin/bash
dbus-send --system --dest=com.nokia.mce --print-reply /com/nokia/mce/request com.nokia.mce.request.req_radio_states_change uint32:1 uint32:1
/home/somewhere/airplane_on.sh:
#!/bin/bash
dbus-send --system --dest=com.nokia.mce --print-reply /com/nokia/mce/request com.nokia.mce.request.req_radio_states_change uint32:0 uint32:1
Make the scripts executable:
chmod +x /home/somewhere/airplane_*.sh
2.Service files
These files describe what is to be done. Actually, execute the above .sh scripts.
/etc/systemd/system/ric9k_airplane_off.service:
[Unit]
Description=Run a script to turn airplane mode off
[Service]
ExecStart=/home/somewhere/airplane_off.sh
/etc/systemd/system/ric9k_airplane_on.service:
[Unit]
Description=Run a script to turn airplane mode on
[Service]
ExecStart=/home/somewhere/airplane_on.sh
3.The timer files
Mainly, they tell the system when to run the above service.
/etc/systemd/system/ric9k_airplane_off.timer:
[Unit]
Description=Auto system backup
[Timer]
WakeSystem=true
OnCalendar=--* 12:00:00
AccuracySec=1800
Persistent=true
[Install]
WantedBy=timers.target
/etc/systemd/system/ric9k_airplane_on.timer:
[Unit]
Description=Auto system backup
[Timer]
WakeSystem=true
OnCalendar=--* 12:15:00
AccuracySec=1800
Persistent=true
[Install]
WantedBy=timers.target
Then, to enable the timers, still as root, run:
systemctl enable ric9k_airplane_off.timer
systemctl enable ric9k_airplane_on.timer
(use disable
to unactivate)
This description is a short introduction, not even the tip of the iceberg. But systemd offers a lot of functional options and timing solutions. (I read and forgot all of them so please search the web for more info)
As my phone and it’s clone -the spare phone- are both used with two users (one user with no data for Android apps and one user for private life), I used systemd timer as service instead of as user.
Also, a previous experience was not working as user for a question of rights so I was too lazy to try again as user. But I think this would be recomanded… well, approximative tinkering…