diff --git a/aports/temp/libqmi/0001-loc-add-client-identification-TLVs-to-Register-Event.patch b/aports/temp/libqmi/0001-loc-add-client-identification-TLVs-to-Register-Event.patch deleted file mode 100644 index 3e72e35..0000000 --- a/aports/temp/libqmi/0001-loc-add-client-identification-TLVs-to-Register-Event.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 532de37e84dac82936b056e28fb71ce4c7af60d6 Mon Sep 17 00:00:00 2001 -From: Jorijn van der Graaf -Date: Sat, 27 Jun 2026 00:19:05 +0200 -Subject: [PATCH] loc: add client identification TLVs to Register Events - -Newer Snapdragon GNSS engines (e.g. SM7635/milos, gnss8) gate -positioning behind an application-framework ("AFW", i.e. the Android -framework) client check: unless the client registers as an AFW client -via QMI_LOC_REG_EVENTS, event registration fails with INVALID_ARGUMENT -and QMI_LOC_START with GENERAL_FAILURE. The stock Android loc HAL -sends three extra TLVs in Register Events that libqmi did not model: - - 0x10 Client String ID (string, max 4 chars, e.g. "MHAL") - 0x11 Client Type (enum: AFW/NFW/Privileged) - 0x12 Enable Positioning Request Notification (boolean) - -TLV names follow qmiLocRegEventsReqMsgT_v02 (clientStrId, clientType, -enablePosRequestNotification) in the public location service API: -https://github.com/qualcomm-linux/location-apis-qcom/blob/location.lnx.0.0/loc_api/loc_api_v02/location_service_v02.h - -Client Type is modeled as a new QmiLocClientType enum matching -qmiLocClientTypeEnumT_v02 from the same header (AFW=1, NFW=2, -PRIVILEGED=3; the engine defaults to NFW when the TLV is absent). - -Add them as optional inputs. libqmi serializes them only when a caller -sets them, so this change does not alter any existing message on the -wire. - -Signed-off-by: Jorijn van der Graaf ---- - data/qmi-service-loc.json | 20 +++++++++++++++++++- - src/libqmi-glib/qmi-enums-loc.h | 20 ++++++++++++++++++++ - 2 files changed, 39 insertions(+), 1 deletion(-) - -diff --git a/data/qmi-service-loc.json b/data/qmi-service-loc.json -index 314b4325..b6f079a5 100644 ---- a/data/qmi-service-loc.json -+++ b/data/qmi-service-loc.json -@@ -84,7 +84,25 @@ - "type" : "TLV", - "since" : "1.22", - "format" : "guint64", -- "public-format" : "QmiLocEventRegistrationFlag" } ], -+ "public-format" : "QmiLocEventRegistrationFlag" }, -+ { "name" : "Client String ID", -+ "id" : "0x10", -+ "type" : "TLV", -+ "since" : "1.40", -+ "format" : "string", -+ "max-size" : "4" }, -+ { "name" : "Client Type", -+ "id" : "0x11", -+ "type" : "TLV", -+ "since" : "1.40", -+ "format" : "guint32", -+ "public-format" : "QmiLocClientType" }, -+ { "name" : "Enable Positioning Request Notification", -+ "id" : "0x12", -+ "type" : "TLV", -+ "since" : "1.40", -+ "format" : "guint8", -+ "public-format" : "gboolean" } ], - "output" : [ { "common-ref" : "Operation Result" } ] }, - - // ********************************************************************************* -diff --git a/src/libqmi-glib/qmi-enums-loc.h b/src/libqmi-glib/qmi-enums-loc.h -index 2fe76449..52b279bd 100644 ---- a/src/libqmi-glib/qmi-enums-loc.h -+++ b/src/libqmi-glib/qmi-enums-loc.h -@@ -37,6 +37,26 @@ - * interface. - */ - -+/*****************************************************************************/ -+/* Helper enums for the 'QMI LOC Register Events' request */ -+ -+/** -+ * QmiLocClientType: -+ * @QMI_LOC_CLIENT_TYPE_AFW: Application framework client (i.e. the Android framework). -+ * @QMI_LOC_CLIENT_TYPE_NFW: Non-framework client. -+ * @QMI_LOC_CLIENT_TYPE_PRIVILEGED: Privileged client. -+ * -+ * Type of client registering with the location engine. If not specified, -+ * the engine treats the client as a non-framework client. -+ * -+ * Since: 1.40 -+ */ -+typedef enum { /*< since=1.40 >*/ -+ QMI_LOC_CLIENT_TYPE_AFW = 1, -+ QMI_LOC_CLIENT_TYPE_NFW = 2, -+ QMI_LOC_CLIENT_TYPE_PRIVILEGED = 3, -+} QmiLocClientType; -+ - /*****************************************************************************/ - /* Helper enums for the 'QMI LOC Start' indication */ - --- -2.55.0 - diff --git a/aports/temp/libqmi/APKBUILD b/aports/temp/libqmi/APKBUILD index 9322bd2..26ff5bf 100644 --- a/aports/temp/libqmi/APKBUILD +++ b/aports/temp/libqmi/APKBUILD @@ -1,11 +1,12 @@ -# fp6-img fork of Alpine community/libqmi: + the upstream-merged (!470, -# unreleased) LOC Register Events client-identification TLVs - half of -# working GNSS on the FP6. Drop when Alpine ships libqmi > 1.39.0. +# fp6-img fork of Alpine community/libqmi: snapshot bumped to upstream main +# just past the !470 merge (LOC Register Events client-identification TLVs, +# half of working GNSS on the FP6) - which also provides the qmi-glib 1.39.1 +# our modemmanager patches require. Drop when Alpine's snapshot catches up. # Contributor: Stuart Cardall maintainer="Achill Gilgenast " pkgname=libqmi -pkgver=1.38.0_git20260414 -_commit=cff17a676e10d75081516dafa997fe9bc9043c38 +pkgver=1.39.1_git20260808 +_commit=30f3e998e6cbda364ac1bc73223de20561e6d555 pkgrel=100 pkgdesc="QMI modem protocol helper library" url="https://www.freedesktop.org/wiki/Software/libqmi" @@ -31,7 +32,6 @@ subpackages=" " #source="https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$pkgver/libqmi-$pkgver.tar.gz" source="https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$_commit/libqmi-$_commit.tar.gz - 0001-loc-add-client-identification-TLVs-to-Register-Event.patch " builddir="$srcdir/$pkgname-$_commit"