@@ -49,16 +49,16 @@ PV=$(cat /sys/kernel/debug/usb/devices)
4949PVCUT=$( echo $PV | awk -F ' Vendor=12d1 ProdID=' ' {print $2}' | cut -c-1108)
5050if echo " $PVCUT " | grep -q " Driver=qmi_wwan"
5151then
52- PROTO=" QMI "
52+ PROTO=" qmi "
5353elif echo " $PVCUT " | grep -q " Driver=cdc_mbim"
5454then
55- PROTO=" MBIM "
55+ PROTO=" mbim "
5656elif echo " $PVCUT " | grep -q " Driver=cdc_ether"
5757then
58- PROTO=" ECM "
58+ PROTO=" ecm "
5959elif echo " $PVCUT " | grep -q " Driver=huawei_cdc_ncm"
6060then
61- PROTO=" NCM "
61+ PROTO=" ncm "
6262fi
6363
6464RSSI=$( getvalue device-signal rssi)
@@ -159,6 +159,16 @@ if [ -n "$FW" ]; then
159159 FW=" $rev / $FW "
160160fi
161161
162+ if [ -z " $FW " ]
163+ then
164+ FW=' -'
165+ fi
166+
167+ if [ -z " $TEMP " ]
168+ then
169+ TEMP=' -'
170+ fi
171+
162172COPSA=$( getvaluen net-current-plmn Numeric)
163173COPSB=$( echo " ${COPSA} " | cut -c1-3)
164174COPSC=$( echo -n $COPSA | tail -c 2)
@@ -167,9 +177,12 @@ COPS_MNC="$COPSC"
167177
168178COPS=$( getvalue net-current-plmn ShortName)
169179
170- if [[ -n " $COPS " ]]; then
171- COPS=$( awk -F[\; ] ' /^' $COPS ' ;/ {print $3}' $RES /mccmnc.dat)
172- LOC=$( awk -F[\; ] ' /^' $COPS ' ;/ {print $2}' $RES /mccmnc.dat)
180+ if [[ $COPSA =~ ^[0-9]+$ ]]; then
181+ if [ -z " $COPS " ]
182+ then
183+ COPS=$( awk -F[\; ] ' /^' $COPSA ' ;/ {print $3}' $RES /mccmnc.dat | xargs)
184+ fi
185+ LOC=$( awk -F[\; ] ' /^' $COPSA ' ;/ {print $2}' $RES /mccmnc.dat)
173186fi
174187
175188# operator location from temporary config
@@ -179,15 +192,27 @@ if [ -e "$LOCATIONFILE" ]; then
179192 LOC=$( cat $LOCATIONFILE )
180193 if [ -n " $LOC " ]; then
181194 LOC=$( cat $LOCATIONFILE )
182- else
183- echo " -" > /tmp/location
195+ if [[ $LOC == " -" ]]; then
196+ rm $LOCATIONFILE
197+ LOC=$( awk -F[\; ] ' /^' $COPSA ' ;/ {print $2}' $RES /mccmnc.dat)
198+ if [ -n " $LOC " ]; then
199+ echo " $LOC " > /tmp/location
200+ fi
201+ else
202+ LOC=$( awk -F[\; ] ' /^' $COPSA ' ;/ {print $2}' $RES /mccmnc.dat)
203+ if [ -n " $LOC " ]; then
204+ echo " $LOC " > /tmp/location
205+ fi
206+ fi
184207 fi
185208else
186- LOC=$( awk -F[\; ] ' /^' $COPS_NUM ' ;/ {print $2}' $RES /mccmnc.dat)
187- if [ -n " $LOC " ]; then
188- echo " $LOC " > /tmp/location
189- else
190- echo " -" > /tmp/location
209+ if [[ " $COPS_MCC$COPS_MNC " =~ ^[0-9]+$ ]]; then
210+ if [ -n " $LOC " ]; then
211+ LOC=$( awk -F[\; ] ' /^' $COPS_MCC$COPS_MNC ' ;/ {print $2}' $RES /mccmnc.dat)
212+ echo " $LOC " > /tmp/location
213+ else
214+ echo " -" > /tmp/location
215+ fi
191216 fi
192217fi
193218
@@ -213,6 +238,11 @@ then
213238 CID_HEX=' -'
214239fi
215240
241+ if [ -z " $CID_DEC " ]
242+ then
243+ [ -n " $CID_HEX " ] && CID_DEC=$( echo $(( 0 x$CID_HEX )) )
244+ fi
245+
216246rm $cookie
217247break
218248
0 commit comments