soc-qcom: restart modem-gnss.service on failure

Apparently starting after MM isn't always enough time for the location
service to be up, so this adds a periodic restart of the systemd service
every 30 seconds for up to 5 minutes.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8041>
This commit is contained in:
Clayton Craft 2026-02-18 22:54:51 -08:00 committed by The Friendly Meow (merge) Bot
parent 689366112b
commit cb0d645970
No known key found for this signature in database
2 changed files with 9 additions and 2 deletions

View file

@ -2,7 +2,7 @@
maintainer="Casey Connolly <kcxt@postmarketos.org>"
pkgname=soc-qcom
pkgdesc="Common package for Qualcomm devices"
pkgver=6
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="BSD-3-Clause"
@ -197,5 +197,5 @@ sha512sums="
f86ebf68bb7e41b531e5cd8fc3e54d8fafad314fb80950277e41004303b3bf75b2ae96f0228bdf4ed67645aee8ceaf247140b4843c66365259d2908b8991b877 gstreamer.conf
471583b91bc35608cb75d0b3ceb88fa793a4e763ea228703c50ffb1b45c0e9054646c46f710164ec3ef65a882a204fd59546f3a0ebb94b8d6c6f08c4043bcfd3 gstreamer.sh
99773091f2653f71d4365fdf4cce048a1904cd044a714778567ce0ff6c9c9d76ad537e6e49d1d02bf385f9d35c00794d093ece0fed046072ed5e1ea65baa5201 modem-gnss.initd
db993ee0d19c6c9d33ee2fdf753fabb4a964598a9660fee931f8a27e0570c2b66065848bd388138b899caa9b22f56937f56a97c592ee19dded8a056c285e6522 modem-gnss.service
30b16842f585409992ce5a7f0540228655d991e76ba6b86ded65e7442b900ff35d37507913769f1883664aa985d07fe00f9bc22f751eec88d94c180dbe26be5c modem-gnss.service
"

View file

@ -6,11 +6,18 @@ Description=Qualcomm GNSS Modem Setup
# a ConditionPathExists= on...
After=ModemManager.service
Requires=ModemManager.service
# Give up after 5 minutes
StartLimitInterval=300
StartLimitBurst=10
[Service]
ExecStart=qmicli -d qrtr://0 --loc-set-engine-lock=mt
ExecStart=qmicli -d qrtr://0 --loc-set-nmea-types=all
Type=oneshot
# Apparently starting after MM isn't always enough time for the location service
# to be up
Restart=on-failure
RestartSec=30
[Install]
WantedBy=default.target