#!/bin/sh # passive GET-only watch ~5 min O=/tmp/beewatch.txt; : > $O; t() { cut -d' ' -f1 /proc/uptime; }; Q="qmicli -p -d /dev/wwan0qmi0" for i in $(seq 1 30); do R=$(timeout 20 $Q --nas-get-serving-system 2>&1); S=$(timeout 20 $Q --nas-get-signal-info 2>&1); F=$(timeout 20 $Q --nas-get-rf-band-info 2>&1) echo "### $(t) $(echo "$R" | grep -E "Registration state|PS:|Status:" | tr -s ' \t\n' ' ') | $(echo "$S" | grep -E "RSRQ|RSRP|SNR" | tr -s ' \t\n' ' ') | $(echo "$F" | grep -E "Band Class|Channel" | tr -s ' \t\n' ' ')" >> $O echo "$R" | grep -q "Registration state: 'registered'" && echo "$R" | grep -q "PS: 'attached'" && { echo REGISTERED >> $O; break; } sleep 7 done timeout 20 $Q --nas-get-serving-system >> $O 2>&1; timeout 20 $Q --nas-get-cell-location-info >> $O 2>&1; echo BEEWATCH-DONE >> $O