diff --git a/aports/temp/modemmanager/0002-shared-qmi-unlock-AFW-gated-GNSS-engines-at-LOC-star.patch b/aports/temp/modemmanager/0002-shared-qmi-unlock-AFW-gated-GNSS-engines-at-LOC-star.patch index b1079f8..17d9e28 100644 --- a/aports/temp/modemmanager/0002-shared-qmi-unlock-AFW-gated-GNSS-engines-at-LOC-star.patch +++ b/aports/temp/modemmanager/0002-shared-qmi-unlock-AFW-gated-GNSS-engines-at-LOC-star.patch @@ -1,7 +1,7 @@ -From 2924dab906b3dc9e3b48e766637618ce53615c23 Mon Sep 17 00:00:00 2001 +From d9e93ad09b75ec2813a01bbb07794a5c85a3a56d Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Thu, 2 Jul 2026 15:30:48 +0200 -Subject: [PATCH 2/3] shared-qmi: unlock AFW-gated GNSS engines at LOC start +Subject: [PATCH] shared-qmi: unlock AFW-gated GNSS engines at LOC start Newer Snapdragon GNSS engines (e.g. gnss8 in the SM7635/Fairphone 6) only allow positioning for clients registered as application framework @@ -44,10 +44,10 @@ Signed-off-by: Jorijn van der Graaf 2 files changed, 86 insertions(+), 55 deletions(-) diff --git a/meson.build b/meson.build -index 3cf29e80..e5e3d0be 100644 +index 9b8ab2d1..1bb10b94 100644 --- a/meson.build +++ b/meson.build -@@ -277,7 +277,7 @@ config_h.set('WITH_MBIM', enable_mbim) +@@ -297,7 +297,7 @@ config_h.set('WITH_MBIM', enable_mbim) # QMI support (enabled by default) enable_qmi = get_option('qmi') if enable_qmi @@ -57,10 +57,10 @@ index 3cf29e80..e5e3d0be 100644 if not qmi_glib_dep.found() and get_option('subproject-fallback') diff --git a/src/mm-shared-qmi.c b/src/mm-shared-qmi.c -index d93698a6..09aa987a 100644 +index f578d876..25990ceb 100644 --- a/src/mm-shared-qmi.c +++ b/src/mm-shared-qmi.c -@@ -5646,33 +5646,67 @@ pds_gps_service_state_start_ready (QmiClientPds *client, +@@ -5652,33 +5652,67 @@ pds_gps_service_state_start_ready (QmiClientPds *client, qmi_message_pds_set_auto_tracking_state_input_unref (input); } @@ -142,7 +142,7 @@ index d93698a6..09aa987a 100644 self = g_task_get_source_object (task); priv = get_private (self); -@@ -5691,16 +5725,16 @@ loc_register_events_ready (QmiClientLoc *client, +@@ -5697,16 +5731,16 @@ loc_register_events_ready (QmiClientLoc *client, } static void @@ -167,7 +167,7 @@ index d93698a6..09aa987a 100644 if (!output) { g_prefix_error (&error, "QMI operation failed: "); g_task_return_error (task, error); -@@ -5708,32 +5742,40 @@ loc_start_ready (QmiClientLoc *client, +@@ -5714,32 +5748,40 @@ loc_start_ready (QmiClientLoc *client, return; } @@ -226,7 +226,7 @@ index d93698a6..09aa987a 100644 static void start_gps_engine (MMSharedQmi *self, GAsyncReadyCallback callback, -@@ -5771,20 +5813,9 @@ start_gps_engine (MMSharedQmi *self, +@@ -5777,20 +5819,9 @@ start_gps_engine (MMSharedQmi *self, MM_PORT_QMI_FLAG_DEFAULT, NULL); if (client) { diff --git a/aports/temp/modemmanager/0003-shared-qmi-derive-location-from-Position-Report-indi.patch b/aports/temp/modemmanager/0003-shared-qmi-derive-location-from-Position-Report-indi.patch index 380d3d7..eb5019d 100644 --- a/aports/temp/modemmanager/0003-shared-qmi-derive-location-from-Position-Report-indi.patch +++ b/aports/temp/modemmanager/0003-shared-qmi-derive-location-from-Position-Report-indi.patch @@ -1,8 +1,7 @@ -From 7566587e77d299ab0f67613ae03cab9973e351db Mon Sep 17 00:00:00 2001 +From 59f2f17246a844e07569e2ee6523c810364e1e52 Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Thu, 2 Jul 2026 15:44:16 +0200 -Subject: [PATCH 3/3] shared-qmi: derive location from Position Report - indications +Subject: [PATCH] shared-qmi: derive location from Position Report indications Some GNSS engines (e.g. gnss8 in the SM7635/Fairphone 6) report fixes only via QMI_LOC Position Report indications and never emit NMEA (Set @@ -43,7 +42,7 @@ Signed-off-by: Jorijn van der Graaf 1 file changed, 147 insertions(+) diff --git a/src/mm-shared-qmi.c b/src/mm-shared-qmi.c -index 09aa987a..cad75080 100644 +index 25990ceb..d2eefb26 100644 --- a/src/mm-shared-qmi.c +++ b/src/mm-shared-qmi.c @@ -88,6 +88,8 @@ typedef struct { @@ -64,7 +63,7 @@ index 09aa987a..cad75080 100644 if (priv->loc_assistance_inject_time_req_indication_id) g_signal_handler_disconnect (priv->loc_client, priv->loc_assistance_inject_time_req_indication_id); if (priv->loc_assistance_inject_position_req_indication_id) -@@ -5161,6 +5165,10 @@ loc_stop_ready (QmiClientLoc *client, +@@ -5167,6 +5171,10 @@ loc_stop_ready (QmiClientLoc *client, g_signal_handler_disconnect (priv->loc_client, priv->loc_location_nmea_indication_id); priv->loc_location_nmea_indication_id = 0; } @@ -75,7 +74,7 @@ index 09aa987a..cad75080 100644 g_clear_object (&priv->loc_client); } -@@ -5264,11 +5272,142 @@ loc_location_nmea_indication_cb (QmiClientLoc *client, +@@ -5270,11 +5278,142 @@ loc_location_nmea_indication_cb (QmiClientLoc *client, if (!nmea) return; @@ -218,7 +217,7 @@ index 09aa987a..cad75080 100644 /*****************************************************************************/ /* Location: internal helper: setup minimum required NMEA traces */ -@@ -5662,6 +5801,7 @@ gps_engine_loc_register_events (QmiClientLoc *client, +@@ -5668,6 +5807,7 @@ gps_engine_loc_register_events (QmiClientLoc *client, guint64 event_mask; event_mask = QMI_LOC_EVENT_REGISTRATION_FLAG_NMEA | @@ -226,7 +225,7 @@ index 09aa987a..cad75080 100644 QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_TIME_REQUEST | QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_POSITION_REQUEST; input = qmi_message_loc_register_events_input_new (); -@@ -5713,12 +5853,19 @@ loc_start_ready (QmiClientLoc *client, +@@ -5719,12 +5859,19 @@ loc_start_ready (QmiClientLoc *client, g_assert (!priv->loc_client); g_assert (!priv->loc_location_nmea_indication_id); diff --git a/aports/temp/modemmanager/APKBUILD b/aports/temp/modemmanager/APKBUILD index 569d1e6..d5ef067 100644 --- a/aports/temp/modemmanager/APKBUILD +++ b/aports/temp/modemmanager/APKBUILD @@ -1,12 +1,15 @@ # fp6-img fork of Alpine community/modemmanager: + the AFW-gated GNSS # engine unlock + Position Report location derivation (upstream MR !1463, -# still draft) - the other half of working GNSS on the FP6. +# still draft) - the other half of working GNSS on the FP6. Snapshot and +# the XMM7360 patch follow Alpine's aport (2026-10-05); the pkgver must stay +# ahead of Alpine's, or 'apk upgrade' replaces this package with theirs and +# the phone loses GNSS. # Contributor: Stuart Cardall maintainer="Achill Gilgenast " pkgname=modemmanager -pkgver=1.25.95_git20260709 +pkgver=1.25.95_git20261005 pkgrel=101 -_commit=d776ea38d29ca472a12323c1d45002ee19a66f57 +_commit=7f0bf17ab518cd78925cf7e53cc0d5c42f88b41a pkgdesc="ModemManager library" url="https://www.freedesktop.org/wiki/Software/ModemManager" arch="all" @@ -29,7 +32,7 @@ makedepends=" gtk-doc libgudev-dev libmbim-dev - libqmi-dev>=1.39.1 + libqmi-dev linux-headers meson polkit-dev @@ -118,7 +121,7 @@ libmm() { } sha512sums=" -fd659330b2ec4e8368807053ec01498241dec153f6f2491bb17c42e2b81c8d9a98ff5f8c153874a6d092e17c545c5ae19734bc23c85c459eb1c7b9b709e5ff58 ModemManager-d776ea38d29ca472a12323c1d45002ee19a66f57.tar.gz +fd659330b2ec4e8368807053ec01498241dec153f6f2491bb17c42e2b81c8d9a98ff5f8c153874a6d092e17c545c5ae19734bc23c85c459eb1c7b9b709e5ff58 ModemManager-7f0bf17ab518cd78925cf7e53cc0d5c42f88b41a.tar.gz 6fab86c27502b29be0c6610d835a3249a4a81993eb986cff2c3ea9393fadd3f693ba4bb0532ae0e50a83d359559511859dd05f7ea2f0cb52839f535a7e49f8a0 modemmanager.rules 6e234cebcdec6d1afbca164ee5c13c96f7132ef31231d5c043cc5750ebe99e362a384d0463874b3c1c30799b433e0d3286add03af13c97fa406b4b5d2b78880c modemmanager.initd f06e9b89acab5b61c5965658d62551b0f168066384674f7c4dd56feb6f811c82c640470e634e32d8c4ef62290588cf974aa5f213e5c67e797a06d33e61fa24ec 0001-intel-XMM7360-fix-big-endian-handling-of-ASN-integer.patch