Some checks failed
image / image (push) Has been cancelled
pmOS's modem-gnss.service runs two qmicli calls, and the second -- --loc-set-nmea-types=all -- can never succeed on this modem: the LOC engine answers QMI error 94 'NotSupported' to both get and set. That is a permanent capability gap, not the boot race Restart=on-failure exists for, so the unit failed and restarted every 30 s for the whole uptime (restart counter 25 after 13 minutes; 165 over one evening). Its StartLimit does not stop it either: 10 restarts at RestartSec=30 span ~303 s, just past StartLimitInterval=300. Ship a drop-in that tolerates that one command's failure. The boot-race retry stays armed -- a LOC service that is genuinely not up still fails the first ExecStart. Nothing is lost: ModemManager issues its own set-NMEA-types and takes the same 94 regardless, and location comes from the Position Report path our modemmanager patches add. Byte-identical to the drop-in verified on the dev phone (sha256 b0b5f71b0f25c3c5a8fc9e926f187412a6711da95f773234065f37ddcc1d3c6d): across a reboot the unit runs once, Result=success, 0 restarts. Assisted-by: Claude:claude-opus-5
14 lines
788 B
Text
14 lines
788 B
Text
# FP6 (milos): the modem LOC engine does not implement NMEA-type configuration
|
|
# at all -- both --loc-get-nmea-types and --loc-set-nmea-types return
|
|
# QMI protocol error (94) NotSupported. That is a permanent engine capability,
|
|
# not a boot race, so the unit's Restart=on-failure retried it every 30 s
|
|
# forever (StartLimitBurst=10/StartLimitInterval=300 never trips: 10 restarts
|
|
# at RestartSec=30 span ~303 s > 300 s). NMEA sentences are delivered by the
|
|
# engine regardless -- on-device fixes carry RMC.
|
|
#
|
|
# Tolerate the failure of that one command; a genuinely-not-up LOC service
|
|
# still fails the first ExecStart and keeps the intended boot-race retry.
|
|
[Service]
|
|
ExecStart=
|
|
ExecStart=qmicli -d qrtr://0 --loc-set-engine-lock=mt
|
|
ExecStart=-qmicli -d qrtr://0 --loc-set-nmea-types=all
|