#!/bin/sh . /lib/functions/uci-defaults.sh CFG=/etc/board.json SLP=30 check_modem() { json_select "$2" json_get_vars id [ -z "$id" ] && { json_select .. return 0 } ttys=$(ls -d /sys/bus/usb/devices/$id/${id}*/tty?*) [ -n "$ttys" ] || { #FAILED TO FIND MODEM mctl -s sleep 1 mctl -p json_select .. return 1 } #MODEM UP json_select .. } board_config_update while true; do json_for_each_item check_modem modems sleep $SLP [ $SLP -lt 300 ] && SLP=$((SLP+30)) done