mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Try to restart modemmamanager interface while needed
This commit is contained in:
		
							parent
							
								
									6eee806251
								
							
						
					
					
						commit
						fe3e5c02a7
					
				
					 1 changed files with 19 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -217,6 +217,25 @@ default_gw=$(ip route show default | grep -v "metric" | awk '/default/ {print $3
 | 
			
		|||
 | 
			
		||||
# An interface in error will never be used in MPTCP
 | 
			
		||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
 | 
			
		||||
	if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
 | 
			
		||||
		timeout 1 mmcli -L | while read MODEM; do
 | 
			
		||||
			MODEM_ID=$(echo $MODEM |  awk -F' ' '{print $1}' | awk -F/ '{print $6}')
 | 
			
		||||
			MODEM_INFO="$(timeout 1 mmcli -m $MODEM_ID --output-keyvalue)"
 | 
			
		||||
			if [ -n "$MODEM_INFO" ] && [ "$(echo "$MODEM_INFO" | grep 'modem.generic.device ' | awk -F": " '{print $2}')" = "$(uci -q get network.$OMR_TRACKER_INTERFACE.device)" ]; then
 | 
			
		||||
				STATE=$(echo "$MODEM_INFO" | grep 'modem.generic.state' | awk -F": " '{print $2}')
 | 
			
		||||
				if [ "$STATE" = "connected" ] || [ "$STATE" = "disabled" ] || [ "$STATE" = "searching" ] || [ "$STATE" = "registered" ] || [ "$STATE" = "idle" ]; then
 | 
			
		||||
					_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
 | 
			
		||||
					_log "Set $OMR_TRACKER_INTERFACE down"
 | 
			
		||||
					ifdown $OMR_TRACKER_INTERFACE
 | 
			
		||||
					sleep 5
 | 
			
		||||
					_log "Set $OMR_TRACKER_INTERFACE up"
 | 
			
		||||
					ifup $OMR_TRACKER_INTERFACE
 | 
			
		||||
					sleep 10
 | 
			
		||||
				fi
 | 
			
		||||
			fi
 | 
			
		||||
		done
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ]; then
 | 
			
		||||
		exit 0
 | 
			
		||||
	fi
 | 
			
		||||
| 
						 | 
				
			
			@ -255,12 +274,6 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
 | 
			
		|||
		fi
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
 | 
			
		||||
		_log "$OMR_TRACKER_INTERFACE doesn't answer, restart it"
 | 
			
		||||
		ifdown $OMR_TRACKER_INTERFACE
 | 
			
		||||
		ifup $OMR_TRACKER_INTERFACE
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ]; then
 | 
			
		||||
		if [ "$OMR_TRACKER_STATUS_MSG" = "" ]; then
 | 
			
		||||
			_log "$OMR_TRACKER_INTERFACE down"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue