#!/bin/bash

sudo apt install libmbim-utils

echo "Creating fcc config file"

sudo cat > /usr/share/ModemManager/fcc-unlock.available.d/2c7c << EOF
#!/bin/sh

# Queltec EM05-G FCC unlock mechanism

# 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 mbimcli operation
mbimcli --device-open-proxy --device="/dev/$CDC_WDM_PORT" --quectel-set-radio-state=on
exit $?
EOF

sudo chmod 755 /usr/share/ModemManager/fcc-unlock.available.d/2c7c
sudo ln -sr /usr/share/ModemManager/fcc-unlock.available.d/2c7c /usr/share/ModemManager/fcc-unlock.available.d/2c7c:0311
sudo ln -s /usr/share/ModemManager/fcc-unlock.available.d/2c7c:0311 /etc/ModemManager/fcc-unlock.d/2c7c:0311

sudo mmcli -m 0 --set-primary-sim-slot=1
sudo mmcli -m 0 --3gpp-set-initial-eps-bearer-settings="apn=m2m.com.attz,ip-type=ipv4v6"
sudo mmcli -m 0 -e to enable it

sudo nmcli con add type gsm ifname "*" con-name "sg-att" apn "m2m.com.attz"
sudo nmcli connection up "sg-att"
