From 9bd7bb0392d517e72efe864897baa9086d912182 Mon Sep 17 00:00:00 2001 From: Jongmin Kim Date: Sun, 9 Mar 2025 09:50:48 +0900 Subject: [PATCH 1/2] fcc-unlock: Reduce the port assignment cases Signed-off-by: Jongmin Kim --- data/dispatcher-fcc-unlock/105b | 5 +---- data/dispatcher-fcc-unlock/14c3 | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/data/dispatcher-fcc-unlock/105b b/data/dispatcher-fcc-unlock/105b index aa88261f..95e3cc57 100644 --- a/data/dispatcher-fcc-unlock/105b +++ b/data/dispatcher-fcc-unlock/105b @@ -20,10 +20,7 @@ shift # second and next arguments are control port names for PORT in "$@"; do # match port type in Linux 5.14 and newer - grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null && { - MBIM_PORT=$PORT - break - } + grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null || # match port name in Linux 5.13 echo "$PORT" | grep -q MBIM && { MBIM_PORT=$PORT diff --git a/data/dispatcher-fcc-unlock/14c3 b/data/dispatcher-fcc-unlock/14c3 index 51217f4d..8efeb73e 100755 --- a/data/dispatcher-fcc-unlock/14c3 +++ b/data/dispatcher-fcc-unlock/14c3 @@ -20,10 +20,7 @@ shift # second and next arguments are control port names for PORT in "$@"; do # match port type in Linux 5.14 and newer - grep -q AT "/sys/class/wwan/$PORT/type" 2>/dev/null && { - AT_PORT=$PORT - break - } + grep -q AT "/sys/class/wwan/$PORT/type" 2>/dev/null || # match port name in Linux 5.13 echo "$PORT" | grep -q AT && { AT_PORT=$PORT From e1ab6e6c372669a2991246bfef169a37eafc3b70 Mon Sep 17 00:00:00 2001 From: Jongmin Kim Date: Sun, 9 Mar 2025 09:52:06 +0900 Subject: [PATCH 2/2] fcc-unlock: Case-insensitive grep for identifying MBIM or AT port Signed-off-by: Jongmin Kim --- data/dispatcher-fcc-unlock/105b | 4 ++-- data/dispatcher-fcc-unlock/14c3 | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/data/dispatcher-fcc-unlock/105b b/data/dispatcher-fcc-unlock/105b index 95e3cc57..ed92e6a8 100644 --- a/data/dispatcher-fcc-unlock/105b +++ b/data/dispatcher-fcc-unlock/105b @@ -22,8 +22,8 @@ for PORT in "$@"; do # match port type in Linux 5.14 and newer grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null || # match port name in Linux 5.13 - echo "$PORT" | grep -q MBIM && { - MBIM_PORT=$PORT + echo "$PORT" | grep -qi MBIM && { + MBIM_PORT="$PORT" break } done diff --git a/data/dispatcher-fcc-unlock/14c3 b/data/dispatcher-fcc-unlock/14c3 index 8efeb73e..f4d2f0b4 100755 --- a/data/dispatcher-fcc-unlock/14c3 +++ b/data/dispatcher-fcc-unlock/14c3 @@ -22,8 +22,8 @@ for PORT in "$@"; do # match port type in Linux 5.14 and newer grep -q AT "/sys/class/wwan/$PORT/type" 2>/dev/null || # match port name in Linux 5.13 - echo "$PORT" | grep -q AT && { - AT_PORT=$PORT + echo "$PORT" | grep -qi AT && { + AT_PORT="$PORT" break } done @@ -31,7 +31,7 @@ done # fail if no AT port exposed [ -n "$AT_PORT" ] || exit 2 -DEVICE=/dev/${AT_PORT} +DEVICE="/dev/$AT_PORT" at_command() { exec 99<>"$DEVICE"