Skip to content

Commit 706c4df

Browse files
committed
luci-app-qmodem: add cell info for TD Tech MT5700M-CN
1 parent 468f373 commit 706c4df

File tree

1 file changed

+219
-0
lines changed
  • luci/luci-app-qmodem/root/usr/share/qmodem/vendor

1 file changed

+219
-0
lines changed

luci/luci-app-qmodem/root/usr/share/qmodem/vendor/huawei.sh

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ _Maintainer="Lean <coolsnowwolf@gmail.com>"
66
source /usr/share/qmodem/generic.sh
77
debug_subject="quectel_ctrl"
88

9+
vendor_get_disabled_features(){
10+
json_add_string "" "NeighborCell"
11+
json_add_string "" "LockBand"
12+
}
13+
914
function get_imei(){
1015
imei=$(at $at_port "AT+CGSN" | grep -o '[0-9]\{15\}')
1116
json_add_string imei $imei
@@ -63,6 +68,20 @@ function set_mode(){
6368
at $at_port "AT^SETMODE=${mode_num}"
6469
}
6570

71+
function get_scs()
72+
{
73+
local scs
74+
case $1 in
75+
"0") scs="15" ;;
76+
"1") scs="30" ;;
77+
"2") scs="60" ;;
78+
"3") scs="120" ;;
79+
"4") scs="240" ;;
80+
*) scs=$(awk "BEGIN{ print 2^$1 * 15 }") ;;
81+
esac
82+
echo "$scs"
83+
}
84+
6685
function get_network_prefer(){
6786
res=$(at $at_port "AT^SYSCFGEX?"| grep "\^SYSCFGEX:" | sed 's/\^SYSCFGEX://g')
6887
# (RAT index):
@@ -224,6 +243,206 @@ function base_info(){
224243
_get_temperature
225244
}
226245

246+
cell_info()
247+
{
248+
249+
250+
at_command="AT^MONSC"
251+
response=$(at $at_port $at_command | grep "\^MONSC:" | sed 's/\^MONSC: //')
252+
253+
local rat=$(echo "$response" | awk -F',' '{print $1}')
254+
255+
case $rat in
256+
"NR")
257+
network_mode="NR5G-SA Mode"
258+
nr_mcc=$(echo "$response" | awk -F',' '{print $2}')
259+
nr_mnc=$(echo "$response" | awk -F',' '{print $3}')
260+
nr_arfcn=$(echo "$response" | awk -F',' '{print $4}')
261+
nr_scs_num=$(echo "$response" | awk -F',' '{print $5}')
262+
nr_scs=$(get_scs ${nr_scs_num})
263+
nr_cell_id_hex=$(echo "$response" | awk -F',' '{print $6}')
264+
nr_cell_id=$(echo "ibase=16; $nr_cell_id_hex" | bc)
265+
nr_physical_cell_id_hex=$(echo "$response" | awk -F',' '{print $7}')
266+
nr_physical_cell_id=$(echo "ibase=16; $nr_physical_cell_id_hex" | bc)
267+
nr_tac=$(echo "$response" | awk -F',' '{print $8}')
268+
nr_rsrp=$(echo "$response" | awk -F',' '{print $9}')
269+
nr_rsrq=$(echo "$response" | awk -F',' '{print $10}')
270+
nr_sinr=$(echo "$response" | awk -F',' '{print $11}' | sed 's/\r//g')
271+
;;
272+
"LTE-NR")
273+
network_mode="EN-DC Mode"
274+
#LTE
275+
endc_lte_mcc=$(echo "$response" | awk -F',' '{print $2}')
276+
endc_lte_mnc=$(echo "$response" | awk -F',' '{print $3}')
277+
endc_lte_earfcn=$(echo "$response" | awk -F',' '{print $4}')
278+
endc_lte_cell_id_hex=$(echo "$response" | awk -F',' '{print $5}')
279+
endc_lte_cell_id=$(echo "ibase=16; $endc_lte_cell_id_hex" | bc)
280+
endc_lte_physical_cell_id_hex=$(echo "$response" | awk -F',' '{print $6}')
281+
endc_lte_physical_cell_id=$(echo "ibase=16; $endc_lte_physical_cell_id_hex" | bc)
282+
endc_lte_tac=$(echo "$response" | awk -F',' '{print $7}')
283+
endc_lte_rsrp=$(echo "$response" | awk -F',' '{print $8}')
284+
endc_lte_rsrq=$(echo "$response" | awk -F',' '{print $9}')
285+
endc_lte_rxlev=$(echo "$response" | awk -F',' '{print $10}' | sed 's/\r//g')
286+
#NR5G-NSA
287+
endc_nr_mcc=$(echo "$response" | awk -F',' '{print $2}')
288+
endc_nr_mnc=$(echo "$response" | awk -F',' '{print $3}')
289+
endc_nr_arfcn=$(echo "$response" | awk -F',' '{print $4}')
290+
endc_nr_scs_num=$(echo "$response" | awk -F',' '{print $5}')
291+
nr_scs=$(get_scs ${nr_scs_num})
292+
endc_nr_cell_id_hex=$(echo "$response" | awk -F',' '{print $6}')
293+
endc_nr_cell_id=$(echo "ibase=16; $endc_nr_cell_id_hex" | bc)
294+
endc_nr_physical_cell_id_hex=$(echo "$response" | awk -F',' '{print $7}')
295+
endc_nr_physical_cell_id=$(echo "ibase=16; $endc_nr_physical_cell_id_hex" | bc)
296+
endc_nr_tac=$(echo "$response" | awk -F',' '{print $8}')
297+
endc_nr_rsrp=$(echo "$response" | awk -F',' '{print $9}')
298+
endc_nr_rsrq=$(echo "$response" | awk -F',' '{print $10}')
299+
endc_nr_sinr=$(echo "$response" | awk -F',' '{print $11}' | sed 's/\r//g')
300+
;;
301+
"LTE"|"eMTC"|"NB-IoT")
302+
network_mode="LTE Mode"
303+
lte_mcc=$(echo "$response" | awk -F',' '{print $2}')
304+
lte_mnc=$(echo "$response" | awk -F',' '{print $3}')
305+
lte_earfcn=$(echo "$response" | awk -F',' '{print $4}')
306+
lte_cell_id_hex=$(echo "$response" | awk -F',' '{print $5}')
307+
lte_cell_id=$(echo "ibase=16; $lte_cell_id_hex" | bc)
308+
lte_physical_cell_id_hex=$(echo "$response" | awk -F',' '{print $6}')
309+
lte_physical_cell_id=$(echo "ibase=16; $lte_physical_cell_id_hex" | bc)
310+
lte_tac=$(echo "$response" | awk -F',' '{print $7}')
311+
lte_rsrp=$(echo "$response" | awk -F',' '{print $8}')
312+
lte_rsrq=$(echo "$response" | awk -F',' '{print $9}')
313+
lte_rxlev=$(echo "$response" | awk -F',' '{print $10}' | sed 's/\r//g')
314+
;;
315+
"WCDMA"|"TD-SCDMA"|"UMTS")
316+
network_mode="WCDMA Mode"
317+
wcdma_mcc=$(echo "$response" | awk -F',' '{print $2}')
318+
wcdma_mnc=$(echo "$response" | awk -F',' '{print $3}')
319+
wcdma_arfcn=$(echo "$response" | awk -F',' '{print $4}')
320+
wcdma_psc=$(echo "$response" | awk -F',' '{print $5}')
321+
wcdma_cell_id_hex=$(echo "$response" | awk -F',' '{print $6}')
322+
wcdma_cell_id=$(echo "ibase=16; $wcdma_cell_id_hex" | bc)
323+
wcdma_lac=$(echo "$response" | awk -F',' '{print $7}')
324+
wcdma_rscp=$(echo "$response" | awk -F',' '{print $8}')
325+
wcdma_rxlev=$(echo "$response" | awk -F',' '{print $9}')
326+
wcdma_ecn0=$(echo "$response" | awk -F',' '{print $10}')
327+
wcdma_drx=$(echo "$response" | awk -F',' '{print $11}')
328+
wcdma_ura=$(echo "$response" | awk -F',' '{print $12}' | sed 's/\r//g')
329+
;;
330+
"GSM")
331+
network_mode="GSM Mode"
332+
gsm_mcc=$(echo "$response" | awk -F',' '{print $2}')
333+
gsm_mnc=$(echo "$response" | awk -F',' '{print $3}')
334+
gsm_band_num=$(echo "$response" | awk -F',' '{print $4}')
335+
gsm_band=$(tdtech_get_band "GSM" ${gsm_band_num})
336+
gsm_arfcn=$(echo "$response" | awk -F',' '{print $5}')
337+
gsm_bsic=$(echo "$response" | awk -F',' '{print $6}')
338+
gsm_cell_id_hex=$(echo "$response" | awk -F',' '{print $7}')
339+
gsm_cell_id=$(echo "ibase=16; $gsm_cell_id_hex" | bc)
340+
gsm_lac=$(echo "$response" | awk -F',' '{print $8}')
341+
gsm_rxlev=$(echo "$response" | awk -F',' '{print $9}')
342+
gsm_rx_quality=$(echo "$response" | awk -F',' '{print $10}')
343+
gsm_ta=$(echo "$response" | awk -F',' '{print $11}' | sed 's/\r//g')
344+
;;
345+
esac
346+
347+
class="Cell Information"
348+
add_plain_info_entry "network_mode" "$network_mode" "Network Mode"
349+
case $network_mode in
350+
"NR5G-SA Mode")
351+
add_plain_info_entry "MMC" "$nr_mcc" "Mobile Country Code"
352+
add_plain_info_entry "MNC" "$nr_mnc" "Mobile Network Code"
353+
add_plain_info_entry "Duplex Mode" "$nr_duplex_mode" "Duplex Mode"
354+
add_plain_info_entry "Cell ID" "$nr_cell_id" "Cell ID"
355+
add_plain_info_entry "Physical Cell ID" "$nr_physical_cell_id" "Physical Cell ID"
356+
add_plain_info_entry "TAC" "$nr_tac" "Tracking area code of cell served by neighbor Enb"
357+
add_plain_info_entry "ARFCN" "$nr_arfcn" "Absolute Radio-Frequency Channel Number"
358+
add_plain_info_entry "Band" "$nr_band" "Band"
359+
add_plain_info_entry "DL Bandwidth" "$nr_dl_bandwidth" "DL Bandwidth"
360+
add_bar_info_entry "RSRP" "$nr_rsrp" "Reference Signal Received Power" -187 -29 dBm
361+
add_bar_info_entry "RSRQ" "$nr_rsrq" "Reference Signal Received Quality" -43 20 dBm
362+
add_bar_info_entry "SINR" "$nr_sinr" "Signal to Interference plus Noise Ratio Bandwidth" -23 40 dB
363+
add_plain_info_entry "RxLev" "$nr_rxlev" "Received Signal Level"
364+
add_plain_info_entry "SCS" "$nr_scs" "SCS"
365+
add_plain_info_entry "Srxlev" "$nr_srxlev" "Serving Cell Receive Level"
366+
;;
367+
"EN-DC Mode")
368+
add_plain_info_entry "LTE" "LTE" ""
369+
add_plain_info_entry "MCC" "$endc_lte_mcc" "Mobile Country Code"
370+
add_plain_info_entry "MNC" "$endc_lte_mnc" "Mobile Network Code"
371+
add_plain_info_entry "Duplex Mode" "$endc_lte_duplex_mode" "Duplex Mode"
372+
add_plain_info_entry "Cell ID" "$endc_lte_cell_id" "Cell ID"
373+
add_plain_info_entry "Physical Cell ID" "$endc_lte_physical_cell_id" "Physical Cell ID"
374+
add_plain_info_entry "EARFCN" "$endc_lte_earfcn" "E-UTRA Absolute Radio Frequency Channel Number"
375+
add_plain_info_entry "Freq band indicator" "$endc_lte_freq_band_ind" "Freq band indicator"
376+
add_plain_info_entry "Band" "$endc_lte_band" "Band"
377+
add_plain_info_entry "UL Bandwidth" "$endc_lte_ul_bandwidth" "UL Bandwidth"
378+
add_plain_info_entry "DL Bandwidth" "$endc_lte_dl_bandwidth" "DL Bandwidth"
379+
add_plain_info_entry "TAC" "$endc_lte_tac" "Tracking area code of cell served by neighbor Enb"
380+
add_bar_info_entry "RSRP" "$endc_lte_rsrp" "Reference Signal Received Power" -140 -44 dBm
381+
add_bar_info_entry "RSRQ" "$endc_lte_rsrq" "Reference Signal Received Quality" -20 20 dBm
382+
add_bar_info_entry "RSSI" "$endc_lte_rssi" "Received Signal Strength Indicator" -140 -44 dBm
383+
add_bar_info_entry "SINR" "$endc_lte_sinr" "Signal to Interference plus Noise Ratio Bandwidth" -23 40 dB
384+
add_plain_info_entry "RxLev" "$endc_lte_rxlev" "Received Signal Level"
385+
add_plain_info_entry "RSSNR" "$endc_lte_rssnr" "Radio Signal Strength Noise Ratio"
386+
add_plain_info_entry "CQI" "$endc_lte_cql" "Channel Quality Indicator"
387+
add_plain_info_entry "TX Power" "$endc_lte_tx_power" "TX Power"
388+
add_plain_info_entry "Srxlev" "$endc_lte_srxlev" "Serving Cell Receive Level"
389+
add_plain_info_entry NR5G-NSA "NR5G-NSA" ""
390+
add_plain_info_entry "MCC" "$endc_nr_mcc" "Mobile Country Code"
391+
add_plain_info_entry "MNC" "$endc_nr_mnc" "Mobile Network Code"
392+
add_plain_info_entry "Physical Cell ID" "$endc_nr_physical_cell_id" "Physical Cell ID"
393+
add_plain_info_entry "ARFCN" "$endc_nr_arfcn" "Absolute Radio-Frequency Channel Number"
394+
add_plain_info_entry "Band" "$endc_nr_band" "Band"
395+
add_plain_info_entry "DL Bandwidth" "$endc_nr_dl_bandwidth" "DL Bandwidth"
396+
add_bar_info_entry "RSRP" "$endc_nr_rsrp" "Reference Signal Received Power" -187 -29 dBm
397+
add_bar_info_entry "RSRQ" "$endc_nr_rsrq" "Reference Signal Received Quality" -43 20 dBm
398+
add_bar_info_entry "SINR" "$endc_nr_sinr" "Signal to Interference plus Noise Ratio Bandwidth" -23 40 dB
399+
add_plain_info_entry "SCS" "$endc_nr_scs" "SCS"
400+
;;
401+
"LTE Mode")
402+
add_plain_info_entry "MCC" "$lte_mcc" "Mobile Country Code"
403+
add_plain_info_entry "MNC" "$lte_mnc" "Mobile Network Code"
404+
add_plain_info_entry "Duplex Mode" "$lte_duplex_mode" "Duplex Mode"
405+
add_plain_info_entry "Cell ID" "$lte_cell_id" "Cell ID"
406+
add_plain_info_entry "Physical Cell ID" "$lte_physical_cell_id" "Physical Cell ID"
407+
add_plain_info_entry "EARFCN" "$lte_earfcn" "E-UTRA Absolute Radio Frequency Channel Number"
408+
add_plain_info_entry "Freq band indicator" "$lte_freq_band_ind" "Freq band indicator"
409+
add_plain_info_entry "Band" "$lte_band" "Band"
410+
add_plain_info_entry "UL Bandwidth" "$lte_ul_bandwidth" "UL Bandwidth"
411+
add_plain_info_entry "DL Bandwidth" "$lte_dl_bandwidth" "DL Bandwidth"
412+
add_plain_info_entry "TAC" "$lte_tac" "Tracking area code of cell served by neighbor Enb"
413+
add_bar_info_entry "RSRQ" "$lte_rsrq" "Reference Signal Received Quality" -20 20 dBm
414+
add_bar_info_entry "RSSI" "$lte_rssi" "Received Signal Strength Indicator" -140 -44 dBm
415+
add_bar_info_entry "SINR" "$lte_sinr" "Signal to Interference plus Noise Ratio Bandwidth" -23 40 dB
416+
add_plain_info_entry "RxLev" "$lte_rxlev" "Received Signal Level"
417+
add_plain_info_entry "RSSNR" "$lte_rssnr" "Radio Signal Strength Noise Ratio"
418+
add_plain_info_entry "CQI" "$lte_cql" "Channel Quality Indicator"
419+
add_plain_info_entry "TX Power" "$lte_tx_power" "TX Power"
420+
add_plain_info_entry "Srxlev" "$lte_srxlev" "Serving Cell Receive Level"
421+
422+
;;
423+
"WCDMA Mode")
424+
add_plain_info_entry "MCC" "$wcdma_mcc" "Mobile Country Code"
425+
add_plain_info_entry "MNC" "$wcdma_mnc" "Mobile Network Code"
426+
add_plain_info_entry "LAC" "$wcdma_lac" "Location Area Code"
427+
add_plain_info_entry "Cell ID" "$wcdma_cell_id" "Cell ID"
428+
add_plain_info_entry "UARFCN" "$wcdma_uarfcn" "UTRA Absolute Radio Frequency Channel Number"
429+
add_plain_info_entry "PSC" "$wcdma_psc" "Primary Scrambling Code"
430+
add_plain_info_entry "RAC" "$wcdma_rac" "Routing Area Code"
431+
add_plain_info_entry "Band" "$wcdma_band" "Band"
432+
add_bar_info_entry "RSCP" "$wcdma_rscp" "Received Signal Code Power" -120 -25 dBm
433+
add_plain_info_entry "Ec/Io" "$wcdma_ecio" "Ec/Io"
434+
add_plain_info_entry "Ec/No" "$wcdma_ecno" "Ec/No"
435+
add_plain_info_entry "Physical Channel" "$wcdma_phych" "Physical Channel"
436+
add_plain_info_entry "Spreading Factor" "$wcdma_sf" "Spreading Factor"
437+
add_plain_info_entry "Slot" "$wcdma_slot" "Slot"
438+
add_plain_info_entry "Speech Code" "$wcdma_speech_code" "Speech Code"
439+
add_plain_info_entry "Compression Mode" "$wcdma_com_mod" "Compression Mode"
440+
add_plain_info_entry "RxLev" "$wcdma_rxlev" "RxLev"
441+
442+
;;
443+
esac
444+
}
445+
227446
function network_info() {
228447
class="Network Information"
229448
at_command="AT^SYSINFOEX"

0 commit comments

Comments
 (0)