From 99232154b34e0b8034e84678959454fd9763336e Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Thu, 24 Mar 2022 12:55:40 +0100 Subject: build: rename directory where fcc unlocks are kept --- data/Makefile.am | 2 +- data/dispatcher-fcc-unlock/105b | 34 ++++++++++++++++++++++++++++ data/dispatcher-fcc-unlock/1199 | 33 +++++++++++++++++++++++++++ data/dispatcher-fcc-unlock/1eac | 34 ++++++++++++++++++++++++++++ data/dispatcher-fcc-unlock/Makefile.am | 32 ++++++++++++++++++++++++++ data/dispatcher-fcc-unlock/meson.build | 41 ++++++++++++++++++++++++++++++++++ data/fcc-unlock/105b | 34 ---------------------------- data/fcc-unlock/1199 | 33 --------------------------- data/fcc-unlock/1eac | 34 ---------------------------- data/fcc-unlock/Makefile.am | 32 -------------------------- data/fcc-unlock/meson.build | 41 ---------------------------------- 11 files changed, 175 insertions(+), 175 deletions(-) create mode 100644 data/dispatcher-fcc-unlock/105b create mode 100644 data/dispatcher-fcc-unlock/1199 create mode 100644 data/dispatcher-fcc-unlock/1eac create mode 100644 data/dispatcher-fcc-unlock/Makefile.am create mode 100644 data/dispatcher-fcc-unlock/meson.build delete mode 100644 data/fcc-unlock/105b delete mode 100644 data/fcc-unlock/1199 delete mode 100644 data/fcc-unlock/1eac delete mode 100644 data/fcc-unlock/Makefile.am delete mode 100644 data/fcc-unlock/meson.build (limited to 'data') diff --git a/data/Makefile.am b/data/Makefile.am index b42b70f8..d7ede2de 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS = . fcc-unlock tests +SUBDIRS = . dispatcher-fcc-unlock tests edit = @sed \ -e 's|@sbindir[@]|$(sbindir)|g' \ diff --git a/data/dispatcher-fcc-unlock/105b b/data/dispatcher-fcc-unlock/105b new file mode 100644 index 00000000..772c90f4 --- /dev/null +++ b/data/dispatcher-fcc-unlock/105b @@ -0,0 +1,34 @@ +#!/bin/sh + +# SPDX-License-Identifier: CC0-1.0 +# 2021 Aleksander Morgado +# +# Foxconn SDX55 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 + echo "$PORT" | grep -q MBIM && { + MBIM_PORT=$PORT + break + } +done + +# fail if no MBIM port exposed +[ -n "$MBIM_PORT" ] || exit 2 + +# run qmicli operation over MBIM +qmicli --device-open-proxy --device="/dev/$MBIM_PORT" --dms-foxconn-set-fcc-authentication=0 +exit $? diff --git a/data/dispatcher-fcc-unlock/1199 b/data/dispatcher-fcc-unlock/1199 new file mode 100644 index 00000000..6dbf8d1b --- /dev/null +++ b/data/dispatcher-fcc-unlock/1199 @@ -0,0 +1,33 @@ +#!/bin/sh + +# SPDX-License-Identifier: CC0-1.0 +# 2021 Aleksander Morgado +# +# Sierra Wireless FCC unlock mechanism +# HP 820 G1 (EM7355), 03f0:4e1d +# Dell DW5570 (MC8805), 413c:81a3 +# Dell DW5808 (MC7355), 413c:81a8 +# Lenovo-shipped EM7455, 1199:9079 +# + +# 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 name + echo "$PORT" | grep -q cdc-wdm && { + CDC_WDM_PORT=$PORT + break + } +done + +# fail if no cdc-wdm port exposed +[ -n "$CDC_WDM_PORT" ] || exit 2 + +# run qmicli operation +qmicli --device-open-proxy --device="/dev/$CDC_WDM_PORT" --dms-set-fcc-authentication +exit $? diff --git a/data/dispatcher-fcc-unlock/1eac b/data/dispatcher-fcc-unlock/1eac new file mode 100644 index 00000000..44ce46d7 --- /dev/null +++ b/data/dispatcher-fcc-unlock/1eac @@ -0,0 +1,34 @@ +#!/bin/sh + +# SPDX-License-Identifier: CC0-1.0 +# 2021 Aleksander Morgado +# +# 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 + echo "$PORT" | grep -q 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 $? diff --git a/data/dispatcher-fcc-unlock/Makefile.am b/data/dispatcher-fcc-unlock/Makefile.am new file mode 100644 index 00000000..a98a68fa --- /dev/null +++ b/data/dispatcher-fcc-unlock/Makefile.am @@ -0,0 +1,32 @@ + +# Directory for user-enabled tools +fccunlockuser = $(pkgsysconfdir)/fcc-unlock.d + +# Directory for package-enabled tools +fccunlockpackage = $(pkglibdir)/fcc-unlock.d + +# Shipped but disabled FCC unlock tools +fccunlockavailabledir = $(pkgdatadir)/fcc-unlock.available.d +fccunlockavailable_SCRIPTS = \ + 105b \ + 1199 \ + 1eac \ + $(NULL) + +EXTRA_DIST = $(fccunlockavailable_SCRIPTS) + +install-data-hook: + $(MKDIR_P) $(DESTDIR)$(fccunlockuser); \ + $(MKDIR_P) $(DESTDIR)$(fccunlockpackage); \ + cd $(DESTDIR)$(fccunlockavailabledir); \ + chmod go-rwx *; \ + $(LN_S) -f 105b 105b:e0ab; \ + $(LN_S) -f 1199 03f0:4e1d; \ + $(LN_S) -f 1199 1199:9079; \ + $(LN_S) -f 1199 413c:81a3; \ + $(LN_S) -f 1199 413c:81a8; \ + $(LN_S) -f 1eac 1eac:1001; \ + $(NULL) + +uninstall-hook: + cd $(DESTDIR)$(fccunlockavailabledir) && rm -f *:* diff --git a/data/dispatcher-fcc-unlock/meson.build b/data/dispatcher-fcc-unlock/meson.build new file mode 100644 index 00000000..f945fbf8 --- /dev/null +++ b/data/dispatcher-fcc-unlock/meson.build @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2021 Aleksander Morgado + +# Shipped but disabled FCC unlock tools +mm_fccunlockdiravailable = mm_pkgdatadir / 'fcc-unlock.available.d' + +# Directory for user-enabled tools +mm_fccunlockdiruser = mm_pkgsysconfdir / 'fcc-unlock.d' + +# Directory for package-enabled tools +mm_fccunlockdirpackage = mm_pkglibdir / 'fcc-unlock.d' + +examples = files( + '105b', + '1199', + '1eac', +) + +install_data( + examples, + install_mode: 'rwx------', + install_dir: mm_fccunlockdiravailable, +) + +vidpids = { + '105b:e0ab': '105b', + '03f0:4e1d': '1199', + '1199:9079': '1199', + '413c:81a3': '1199', + '413c:81a8': '1199', + '1eac:1001': '1eac', +} + +ln_cmd = 'ln -fs @0@ ${DESTDIR}@1@' +foreach output, input: vidpids + meson.add_install_script('sh', '-c', ln_cmd.format(input, mm_prefix / mm_fccunlockdiravailable / output)) +endforeach + +mkdir_cmd = 'mkdir -p ${DESTDIR}@0@' +meson.add_install_script('sh', '-c', mkdir_cmd.format(mm_prefix / mm_fccunlockdiruser)) +meson.add_install_script('sh', '-c', mkdir_cmd.format(mm_prefix / mm_fccunlockdirpackage)) diff --git a/data/fcc-unlock/105b b/data/fcc-unlock/105b deleted file mode 100644 index 772c90f4..00000000 --- a/data/fcc-unlock/105b +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: CC0-1.0 -# 2021 Aleksander Morgado -# -# Foxconn SDX55 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 - echo "$PORT" | grep -q MBIM && { - MBIM_PORT=$PORT - break - } -done - -# fail if no MBIM port exposed -[ -n "$MBIM_PORT" ] || exit 2 - -# run qmicli operation over MBIM -qmicli --device-open-proxy --device="/dev/$MBIM_PORT" --dms-foxconn-set-fcc-authentication=0 -exit $? diff --git a/data/fcc-unlock/1199 b/data/fcc-unlock/1199 deleted file mode 100644 index 6dbf8d1b..00000000 --- a/data/fcc-unlock/1199 +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: CC0-1.0 -# 2021 Aleksander Morgado -# -# Sierra Wireless FCC unlock mechanism -# HP 820 G1 (EM7355), 03f0:4e1d -# Dell DW5570 (MC8805), 413c:81a3 -# Dell DW5808 (MC7355), 413c:81a8 -# Lenovo-shipped EM7455, 1199:9079 -# - -# 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 name - echo "$PORT" | grep -q cdc-wdm && { - CDC_WDM_PORT=$PORT - break - } -done - -# fail if no cdc-wdm port exposed -[ -n "$CDC_WDM_PORT" ] || exit 2 - -# run qmicli operation -qmicli --device-open-proxy --device="/dev/$CDC_WDM_PORT" --dms-set-fcc-authentication -exit $? diff --git a/data/fcc-unlock/1eac b/data/fcc-unlock/1eac deleted file mode 100644 index 44ce46d7..00000000 --- a/data/fcc-unlock/1eac +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: CC0-1.0 -# 2021 Aleksander Morgado -# -# 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 - echo "$PORT" | grep -q 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 $? diff --git a/data/fcc-unlock/Makefile.am b/data/fcc-unlock/Makefile.am deleted file mode 100644 index a98a68fa..00000000 --- a/data/fcc-unlock/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ - -# Directory for user-enabled tools -fccunlockuser = $(pkgsysconfdir)/fcc-unlock.d - -# Directory for package-enabled tools -fccunlockpackage = $(pkglibdir)/fcc-unlock.d - -# Shipped but disabled FCC unlock tools -fccunlockavailabledir = $(pkgdatadir)/fcc-unlock.available.d -fccunlockavailable_SCRIPTS = \ - 105b \ - 1199 \ - 1eac \ - $(NULL) - -EXTRA_DIST = $(fccunlockavailable_SCRIPTS) - -install-data-hook: - $(MKDIR_P) $(DESTDIR)$(fccunlockuser); \ - $(MKDIR_P) $(DESTDIR)$(fccunlockpackage); \ - cd $(DESTDIR)$(fccunlockavailabledir); \ - chmod go-rwx *; \ - $(LN_S) -f 105b 105b:e0ab; \ - $(LN_S) -f 1199 03f0:4e1d; \ - $(LN_S) -f 1199 1199:9079; \ - $(LN_S) -f 1199 413c:81a3; \ - $(LN_S) -f 1199 413c:81a8; \ - $(LN_S) -f 1eac 1eac:1001; \ - $(NULL) - -uninstall-hook: - cd $(DESTDIR)$(fccunlockavailabledir) && rm -f *:* diff --git a/data/fcc-unlock/meson.build b/data/fcc-unlock/meson.build deleted file mode 100644 index f945fbf8..00000000 --- a/data/fcc-unlock/meson.build +++ /dev/null @@ -1,41 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2021 Aleksander Morgado - -# Shipped but disabled FCC unlock tools -mm_fccunlockdiravailable = mm_pkgdatadir / 'fcc-unlock.available.d' - -# Directory for user-enabled tools -mm_fccunlockdiruser = mm_pkgsysconfdir / 'fcc-unlock.d' - -# Directory for package-enabled tools -mm_fccunlockdirpackage = mm_pkglibdir / 'fcc-unlock.d' - -examples = files( - '105b', - '1199', - '1eac', -) - -install_data( - examples, - install_mode: 'rwx------', - install_dir: mm_fccunlockdiravailable, -) - -vidpids = { - '105b:e0ab': '105b', - '03f0:4e1d': '1199', - '1199:9079': '1199', - '413c:81a3': '1199', - '413c:81a8': '1199', - '1eac:1001': '1eac', -} - -ln_cmd = 'ln -fs @0@ ${DESTDIR}@1@' -foreach output, input: vidpids - meson.add_install_script('sh', '-c', ln_cmd.format(input, mm_prefix / mm_fccunlockdiravailable / output)) -endforeach - -mkdir_cmd = 'mkdir -p ${DESTDIR}@0@' -meson.add_install_script('sh', '-c', mkdir_cmd.format(mm_prefix / mm_fccunlockdiruser)) -meson.add_install_script('sh', '-c', mkdir_cmd.format(mm_prefix / mm_fccunlockdirpackage)) -- cgit v1.2.3-70-g09d2