#!/bin/bash -e # Helper script for osmo-remsim-client-st2 on OWHW hardware. It performs the hardware-specific # functions required by remsim-client. # environment variables available: # REMSIM_CLIENT_VERSION # REMSIM_SERVER_ADDR # REMSIM_SERVER_STATE # REMSIM_BANKD_ADDR # REMSIM_BANKD_STATE # REMSIM_CLIENT_SLOT # REMSIM_BANKD_SLOT # REMSIM_SIM_VCC # REMSIM_SIM_RST # REMSIM_CAUSE # REMSIM_USB_PATH # REMSIM_USB_INTERFACE CAUSE="$1" # derive the modem (1/2) from the USB interface of the SIMTRACE2 firmware (0/1) case "${REMSIM_USB_INTERFACE}" in 0) MODEM=1 ;; 1) MODEM=2 ;; *) echo "Unknown REMSIM_USB_INTERFACE ${REMSIM_USB_INTERFACE}" exit 1 ;; esac case "${CAUSE}" in event-server-connect) ;; event-bankd-connect) ;; event-config-bankd) ;; event-modem-status) ;; request-card-insert) echo "Enabling Remote SIM for ${MODEM}" echo -n "1" > "/dev/gpio/connect_st_usim${MODEM}/value" ;; request-card-remove) echo "Disabling Remote SIM for ${MODEM}" echo -n "0" > "/dev/gpio/connect_st_usim${MODEM}/value" ;; request-modem-reset) echo "Resetting Modem ${MODEM}" echo -n "1" > "/dev/gpio/mdm${MODEM}_rst/value" sleep 1 echo -n "0" > "/dev/gpio/mdm${MODEM}_rst/value" # for v5 no effect on v4 case "${MODEM}" in 1) gpioset gpiochip6 1=1 sleep 1 gpioset gpiochip6 1=0 ;; 2) gpioset gpiochip6 3=1 sleep 1 gpioset gpiochip6 3=0 ;; esac ;; request-sim-remote) ;; *) echo "Unknown CAUSE ${CAUSE}: ignoring" ;; esac