aboutsummaryrefslogtreecommitdiff
path: root/data/fcc-unlock/1eac
diff options
context:
space:
mode:
Diffstat (limited to 'data/fcc-unlock/1eac')
-rw-r--r--data/fcc-unlock/1eac34
1 files changed, 34 insertions, 0 deletions
diff --git a/data/fcc-unlock/1eac b/data/fcc-unlock/1eac
new file mode 100644
index 00000000..1068d9c2
--- /dev/null
+++ b/data/fcc-unlock/1eac
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# SPDX-License-Identifier: CC0-1.0
+# 2021 Aleksander Morgado <aleksander@aleksander.es>
+#
+# Quectel EM120 FCC unlock operation
+#
+
+# require program name and at least 2 arguments
+[ $# -lt 2 ] && exit 1
+
+# first argument is DBus path, not needed here
+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
+ }
+ # match port name in Linux 5.13
+ [[ $PORT == *"MBIM"* ]] && {
+ MBIM_PORT=$PORT
+ break
+ }
+done
+
+# fail if no MBIM port exposed
+[ -n "${MBIM_PORT}" ] || exit 2
+
+# run mbimcli operation
+mbimcli --device-open-proxy --device=/dev/${MBIM_PORT} --quectel-set-radio-state=on
+exit $?