From 252342d767e20dfb91a83c0c8c60d4a8c7390a51 Mon Sep 17 00:00:00 2001 From: micpf Date: Mon, 9 Feb 2026 16:52:10 +0100 Subject: [PATCH 1/2] modemmanager: fix netifd proto sim path Use specific SIM path instead of 'any' when unlocking with PIN code. This fixes PIN unlock issues on devices with multiple modems where 'any' could select the wrong modem. Bump modemmanager PKG_RELEASE Signed-off-by: micpf (cherry picked from commit e1d680d19a24f0989da424c8169829f384a09707) --- net/modemmanager/Makefile | 2 +- net/modemmanager/files/lib/netifd/proto/modemmanager.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 3949e0d2777c2..7835a183ed8fa 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_VERSION:=1.24.0 -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/net/modemmanager/files/lib/netifd/proto/modemmanager.sh b/net/modemmanager/files/lib/netifd/proto/modemmanager.sh index 4cfc9bcdb6323..1b72a91bcd8e5 100644 --- a/net/modemmanager/files/lib/netifd/proto/modemmanager.sh +++ b/net/modemmanager/files/lib/netifd/proto/modemmanager.sh @@ -393,6 +393,7 @@ modemmanager_check_state_locked() { local unlock_required unlock_retries unlock_retry unlock_lock local unlock_value unlock_match + local sim_path if [ -z "$pincode" ]; then echo "PIN required" @@ -434,7 +435,8 @@ modemmanager_check_state_locked() { return 1 fi - mmcli --modem="${device}" -i any --pin=${pincode} || { + sim_path="$(modemmanager_get_field "${modemstatus}" "modem.generic.sim")" + mmcli --modem="${device}" -i "${sim_path}" --pin=${pincode} || { proto_notify_error "${interface}" MM_PINCODE_WRONG proto_block_restart "${interface}" return 1 From abe9b0722a7b63923be9ad80e94c66ff4d106e88 Mon Sep 17 00:00:00 2001 From: Etienne Champetier Date: Sun, 5 Jul 2026 05:01:13 -0400 Subject: [PATCH 2/2] modemmanager: fix dependency and ci lua-cjson depends on liblua, so add missing lua dependency. modemmanager-rpcd has no version, so add a simple test, and skip version check. Signed-off-by: Etienne Champetier (cherry picked from commit d3a7f9af1edcdc8ad15bf5db21867322f98d4f64) --- net/modemmanager/Makefile | 3 ++- net/modemmanager/test-version.sh | 19 +++++++++++++++++++ net/modemmanager/test.sh | 18 ++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100755 net/modemmanager/test-version.sh create mode 100755 net/modemmanager/test.sh diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 7835a183ed8fa..bc671bfc6f7fa 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_VERSION:=1.24.0 -PKG_RELEASE:=9 +PKG_RELEASE:=10 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git @@ -61,6 +61,7 @@ define Package/modemmanager-rpcd URL:=https://www.freedesktop.org/wiki/Software/ModemManager DEPENDS:= \ modemmanager \ + +lua \ +lua-cjson endef diff --git a/net/modemmanager/test-version.sh b/net/modemmanager/test-version.sh new file mode 100755 index 0000000000000..9b784f3849dfd --- /dev/null +++ b/net/modemmanager/test-version.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# shellcheck shell=busybox + +case "$PKG_NAME" in +modemmanager) + ModemManager --version | grep -F "$PKG_VERSION" + ;; + +modemmanager-rpcd) + # no version to check + exit 0 + ;; + +*) + echo "Untested package: $PKG_NAME" >&2 + exit 1 + ;; +esac diff --git a/net/modemmanager/test.sh b/net/modemmanager/test.sh new file mode 100755 index 0000000000000..6a5cbc7789474 --- /dev/null +++ b/net/modemmanager/test.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# shellcheck shell=busybox + +case "$PKG_NAME" in +modemmanager) + exit 0 + ;; + +modemmanager-rpcd) + /usr/libexec/rpcd/modemmanager list "" + ;; + +*) + echo "Untested package: $PKG_NAME" >&2 + exit 1 + ;; +esac