From b877e7943b43cae6c12da38e6839fda028bffb36 Mon Sep 17 00:00:00 2001 From: Dylan Van Assche Date: Thu, 14 May 2026 16:49:57 +0200 Subject: [PATCH] main/postmarketos-usb-moded: support dynamic iface Read iface name from gadget, including config name. Also check for errors Part-of: --- main/postmarketos-usb-moded/APKBUILD | 6 +++--- .../rootfs-usr-bin-usb-moded-developer-mode | 9 ++++++--- .../rootfs-usr-bin-usb-moded-tethering-mode | 9 ++++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/main/postmarketos-usb-moded/APKBUILD b/main/postmarketos-usb-moded/APKBUILD index c95a15c84..5123e5aba 100644 --- a/main/postmarketos-usb-moded/APKBUILD +++ b/main/postmarketos-usb-moded/APKBUILD @@ -1,6 +1,6 @@ maintainer="Clayton Craft " pkgname=postmarketos-usb-moded -pkgver=7 +pkgver=8 pkgrel=0 pkgdesc="Meta package for configuring usb-moded on postmarketOS" url="https://postmarketos.org" @@ -126,8 +126,8 @@ fe4d085730d448e51bbce9e99c3cc7b4662e5fadd6108e5f2e74040f0d4e901132aa7f3367acad18 95681a9bb2d5f8d99f51762d09dc4f0c487442a20070ad1439de1309b775ac1752fe60a205389cc74a1ee9026afc4ad984ac3363659a6749792835654a111d7f rootfs-etc-init.d-usb-moded-developer-mode.initd 1d8b98508f7969a4ba671866eee5e54261c50362e41b18bfebf004a6ed1e97d01a8eb83e3a33c392cbd00ea1a20f0f004b4794582ef1b71dedbba0fba2dc4602 rootfs-etc-init.d-usb-moded-tethering-mode.initd b8a4d9c8d1e2cde8d6b31bbb3e61d37c05cf2aa1e04cb25c24308839d045205e0604b103d2d60f9834782dcc64ab346cfe8f97797d4d0c86f54e4cfceb6af679 rootfs-etc-init.d-usb-moded-mtp-mode.initd -9aab1a91a817e2337320ee0fa1bf6133e65e9269631560c1860c3b777adb336d036cebbc2510d1df35a82bf4396d553ff9e2edd0004027c7a3130168f7f50d90 rootfs-usr-bin-usb-moded-developer-mode -4539e5ba2d72b585b24b8a8606019f680226026d8316cdd69d476e3aa8126e5f2d236c5faaa2541f4b24e10bbb69ca5233e0b8e025a8307d4688e0c8fa071800 rootfs-usr-bin-usb-moded-tethering-mode +e021a58fcabef47c3806bea14c86def6ba6787be2f725b1b5f9a24a5b0eb5ba8bee2887337b17c9db9a7df84d2b07b8f14da5092f2afeedaf57689b8e5e82ef0 rootfs-usr-bin-usb-moded-developer-mode +dbc653b07f220a0fa4533be4ceac65651b19e32c88d66cafd0bcd4ee2cded2627c410917052eb113612cdea1c9e489bbaf290dade0f9b8c897363cb8fe34631f rootfs-usr-bin-usb-moded-tethering-mode 0174ce39326b09d982cfcc7a91893e23e1fb0505a65c0bc3d049c144739435589faf973b3102f7da2e32b6bc6ddfc308f52bfddefd398a0e13156f4875a6a5ff rootfs-usr-bin-usb-moded-mtp-mode ca4b82b0cccbbb498b8898c4e360142136c46687e97bce85553dc1793bf8ae2e0f509c2a1acdf96b08dc7c6b69f098b56181f9033ad669cabbf5a159ad8efbaa rootfs-usr-lib-systemd-system-generators-umtprd-config-generator " diff --git a/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-developer-mode b/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-developer-mode index 65db8dbfb..8f7ecf538 100644 --- a/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-developer-mode +++ b/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-developer-mode @@ -3,11 +3,15 @@ # Dynamically generate NetworkManager connection because it is only available in the right USB mode # # Copyright (c) Dylan Van Assche (2025) +set -e -IFACE=usb0 +CONFIGFS="/sys/kernel/config/usb_gadget" +IFACE=$(cat "$CONFIGFS"/usb-signaller-developer/functions/ncm.*/ifname 2>/dev/null) +IFACE=${IFACE:-"usb0"} IP_ADDRESS_SERVER=172.16.42.1 IP_ADDRESS_CLIENT=172.16.42.2 -CONNECTION_NAME="USB Developer Mode" +CONNECTION_NAME=$(cat "$CONFIGFS"/usb-signaller-developer/configs/*/strings/0x409/configuration 2>/dev/null) +CONNECTION_NAME=${CONNECTION_NAME:-"USB Developer Mode"} up() { # Bring interface and NetworkManager connection up @@ -44,4 +48,3 @@ case $1 in exit 0 ;; esac - diff --git a/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-tethering-mode b/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-tethering-mode index 66093795e..4a500fc50 100644 --- a/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-tethering-mode +++ b/main/postmarketos-usb-moded/rootfs-usr-bin-usb-moded-tethering-mode @@ -3,9 +3,13 @@ # Dynamically generate NetworkManager connection because it is only available in the right USB mode. # # Copyright (c) Dylan Van Assche (2025) +set -e -IFACE=usb0 -CONNECTION_NAME="USB Tethering Mode" +CONFIGFS="/sys/kernel/config/usb_gadget" +IFACE=$(cat "$CONFIGFS"/usb-signaller-tethering/functions/ncm.*/ifname 2>/dev/null) +IFACE=${IFACE:-"usb0"} +CONNECTION_NAME=$(cat "$CONFIGFS"/usb-signaller-tethering/configs/*/strings/0x409/configuration 2>/dev/null) +CONNECTION_NAME=${CONNECTION_NAME:-"USB Tethering Mode"} up() { # Bring interface and NetworkManager connection up @@ -39,4 +43,3 @@ case $1 in exit 0 ;; esac -