fp6-device-tweaks 6: run ModemManager in its quick suspend/resume mode

Deep suspend on the FP6 is ended every few seconds by the modem's QMI
indications that ModemManager subscribes to: signal info on a 5 dB delta,
system info, DSD system status (16 + 3 of 25 deep cycles on 2026-10-14).
ModemManager already has the answer: started with
--test-quick-suspend-resume it sets the modem "terse" on logind's
PrepareForSleep (those subscriptions off, calls and texts still delivered)
and synchronises on resume. On the dev phone a logind-driven deep cycle
then runs to its 60 s alarm with the modem registered and imsd up, where
none of 21 did before.

Ship the flag as a drop-in. It does nothing while the sleep targets stay
masked, and is the modem side of the suspend policy when they go.
This commit is contained in:
Jorijn van der Graaf 2026-10-14 18:03:13 +02:00
commit 7191410852
Signed by: jorijnvdgraaf
GPG key ID: 2937E59CDCC1BCFB
2 changed files with 17 additions and 2 deletions

View file

@ -19,8 +19,8 @@
# retried it every 30 s forever (its StartLimit never trips)
maintainer="Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>"
pkgname=fp6-device-tweaks
pkgver=5
pkgrel=1
pkgver=6
pkgrel=0
pkgdesc="Fairphone 6 device-critical system configuration"
url="https://forgejo.catcrafts.net/Catcrafts/fp6-img"
arch="noarch"
@ -36,6 +36,7 @@ source="
iio-sensor-proxy-restart.conf
modem-gnss-nmea-optional.conf
91-fp6-no-ssc-sensors.rules
modemmanager-quick-suspend.conf
"
package() {
@ -53,6 +54,8 @@ package() {
"$pkgdir"/etc/systemd/system/modem-gnss.service.d/10-nmea-types-optional.conf
install -Dm644 "$srcdir"/91-fp6-no-ssc-sensors.rules \
"$pkgdir"/etc/udev/rules.d/91-fp6-no-ssc-sensors.rules
install -Dm644 "$srcdir"/modemmanager-quick-suspend.conf \
"$pkgdir"/etc/systemd/system/ModemManager.service.d/50-quick-suspend.conf
}
sha512sums="
@ -61,4 +64,5 @@ cc13f6abc4538fef976c59893992dd2c193cd0eac5da37a9fb01ba421b3ba8ff303aa438ec2fe4d1
f74c6c5d0ba3015cf123808452e9677c1d087e9540ea7037c30316e48a5c5bbdafe712ff0b07f17969337b1576a34cdfef4319c464ffe38c092a67d313129b57 iio-sensor-proxy-restart.conf
8fec832be59ca616d3e6a4c0a5ef8067d25f767c79155d8b0ef5761b8d21532932235a3236807305937029efe6255a16696d05523e3e654e2dc2212a281fe12c modem-gnss-nmea-optional.conf
1c5fd4a5a2a2c19165dca1381c8c6550fb61c6311561be450c9c6f88046d7649e4c7c6f4a86b163a2ecc1ef5ec93cc1dac1e2aded933a6b3d6d68292a1b609d0 91-fp6-no-ssc-sensors.rules
3e75ac137e76d556279866d8e34080f9724c3d02e58e9d4f55458b59047fcc62b9eff3d7c8a54faff13e6583d76ca5b5f62f362fc4f874b6c748211d1e9d26a5 modemmanager-quick-suspend.conf
"

View file

@ -0,0 +1,11 @@
# ModemManager's quick suspend/resume mode (fp6 repo journal/power/, 2026-10-14):
# on logind's PrepareForSleep the modem is set "terse" (the NAS signal-info,
# system-info and DSD system-status subscriptions are dropped, calls and
# texts still reach us) and on resume its state is synchronised. Without it
# the modem's indications end a deep suspend cycle every few seconds; with
# it a cycle runs to its wake alarm while the modem stays registered. The
# option still carries MM's --test- prefix; it is the only switch for the
# daemon's built-in terse mode.
[Service]
ExecStart=
ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume