diff options
Diffstat (limited to 'data/dispatcher-fcc-unlock/2c7c')
-rw-r--r-- | data/dispatcher-fcc-unlock/2c7c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/data/dispatcher-fcc-unlock/2c7c b/data/dispatcher-fcc-unlock/2c7c index fa372927..d5542918 100644 --- a/data/dispatcher-fcc-unlock/2c7c +++ b/data/dispatcher-fcc-unlock/2c7c @@ -1,9 +1,18 @@ #!/bin/sh # SPDX-License-Identifier: CC0-1.0 +# 2021 Aleksander Morgado <aleksander@aleksander.es> # 2022 Leah Oswald <mail@leahoswald.de> +# 2025 Jongmin Kim <jmkim@debian.org> # -# Queltec EM05-G FCC unlock mechanism +# Quectel MBIM FCC unlock mechanism +# EM05-G, 2c7c:030a +# EM05-G (GR), 2c7c:0313 +# EM05-G (RS), 2c7c:0314 +# RM520N, 2c7c:0801 +# EM120, 1eac:1001 +# RM520N (HP shipped), 1eac:1004 +# RM520N (Lenovo shipped), 1eac:1007 # # require program name and at least 2 arguments @@ -14,16 +23,19 @@ shift # second and next arguments are control port names for PORT in "$@"; do - # match port name + # 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 -qi MBIM || echo "$PORT" | grep -q cdc-wdm && { - CDC_WDM_PORT=$PORT + MBIM_PORT="$PORT" break } done -# fail if no cdc-wdm port exposed -[ -n "$CDC_WDM_PORT" ] || exit 2 +# fail if no MBIM port exposed +[ -n "$MBIM_PORT" ] || exit 2 # run mbimcli operation -mbimcli --device-open-proxy --device="/dev/$CDC_WDM_PORT" --quectel-set-radio-state=on +mbimcli --device-open-proxy --device="/dev/$MBIM_PORT" --quectel-set-radio-state=on exit $? |