uqmi: do not block proto handler if modem is unable to registrate
QMI proto setup-handler will wait forever if it is unable to registrate to the mobile network. To fix this stop polling network registration status and notify netifd. Netifd will generate then a "ifup-failed" ACTION. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
		
				
					committed by
					
						
						Koen Vandeputte
					
				
			
			
				
	
			
			
			
						parent
						
							dee93def39
						
					
				
				
					commit
					dec1bfa0f4
				
			@@ -123,9 +123,18 @@ proto_qmi_setup() {
 | 
				
			|||||||
	uqmi -s -d "$device" --sync > /dev/null 2>&1
 | 
						uqmi -s -d "$device" --sync > /dev/null 2>&1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	echo "Waiting for network registration"
 | 
						echo "Waiting for network registration"
 | 
				
			||||||
 | 
						local registration_timeout=0
 | 
				
			||||||
	while uqmi -s -d "$device" --get-serving-system | grep '"searching"' > /dev/null; do
 | 
						while uqmi -s -d "$device" --get-serving-system | grep '"searching"' > /dev/null; do
 | 
				
			||||||
		[ -e "$device" ] || return 1
 | 
							[ -e "$device" ] || return 1
 | 
				
			||||||
		sleep 5;
 | 
							if [ "$registration_timeout" -lt "$timeout" ]; then
 | 
				
			||||||
 | 
								let registration_timeout++
 | 
				
			||||||
 | 
								sleep 1;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								echo "Network registration failed"
 | 
				
			||||||
 | 
								proto_notify_error "$interface" NETWORK_REGISTRATION_FAILED
 | 
				
			||||||
 | 
								proto_block_restart "$interface"
 | 
				
			||||||
 | 
								return 1
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
	done
 | 
						done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	[ -n "$modes" ] && uqmi -s -d "$device" --set-network-modes "$modes" > /dev/null 2>&1
 | 
						[ -n "$modes" ] && uqmi -s -d "$device" --set-network-modes "$modes" > /dev/null 2>&1
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user