#!/bin/sh

# SPDX-License-Identifier: CC0-1.0
# 2021 Aleksander Morgado <aleksander@aleksander.es>
#
# 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 $?
