mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| MODEM_INTF=$1
 | |
| [ -z "$MODEM_INTF" ] && return
 | |
| INFO=$2
 | |
| SIGNAL_INFO=$(timeout 1 uqmi -d $MODEM_INTF --get-signal-info)
 | |
| [ -z "$SIGNAL_INFO" ] && return
 | |
| TYPE=$(echo $SIGNAL_INFO | jsonfilter -e '@.type' | tr -d '\n')
 | |
| PERCENT=""
 | |
| if [ "$TYPE" = "gsm" ]; then
 | |
| 	RSSI=$(echo $SIGNAL_INFO | jsonfilter -e '@.rssi' | tr -d '\n')
 | |
| 	[ -z "$RSSI" ] && return
 | |
| 	ASU=$(((RSSI + 113) / 2 ))
 | |
| 	PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
 | |
| elif [ "$TYPE" = "umts" ]; then
 | |
| 	RSCP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rscp' | tr -d '\n')
 | |
| 	[ -z "$RSCP" ] && return
 | |
| 	ASU=$((RSCP + 116))
 | |
| 	PERCENT=$((((ASU - 0) * 100) / ( 91 - 0 )))
 | |
| elif [ "$TYPE" = "lte" ]; then
 | |
| 	RSRP=$(echo $SIGNAL_INFO | jsonfilter -e '@.rsrp' | tr -d '\n')
 | |
| 	[ -z "$RSRP" ] && return
 | |
| 	ASU=$((RSRP + 140))
 | |
| 	PERCENT=$((((ASU - 3) * 100) / ( 70 - 3 )))
 | |
| fi
 | |
| [ -z "$INFO" ] && echo $PERCENT && return
 | |
| OPERATOR=$(timeout 1 uqmi -d $MODEM_INTF --get-serving-system | jsonfilter -e '@.plmn_description' | tr -d '\n')
 | |
| NUMBER=$(timeout 1 uqmi -d $MODEM_INTF --msisdn | jsonfilter -e '@' | tr -d '\n')
 | |
| STATE=$(timeout 1 uqmi -d $MODEM_INTF --get-data-status | jsonfilter -e '@' | tr -d '\n')
 | |
| [ "$INFO" = "all" ] && echo "$PERCENT;$OPERATOR;$NUMBER;$TATE;$TYPE" |