osmo-remsim/contrib/owhw-event-script.sh

80 lines
1.5 KiB
Bash
Executable File

#!/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