mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			922 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			922 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| # SPDX-License-Identifier: CC0-1.0
 | |
| # 2022 Aleksander Morgado <aleksander@aleksander.es>
 | |
| #
 | |
| # Automatically report to netifd that the underlying modem
 | |
| # is really disconnected
 | |
| #
 | |
| # require program name and at least 4 arguments
 | |
| [ $# -lt 4 ] && exit 1
 | |
| 
 | |
| MODEM_PATH="$1"
 | |
| BEARER_PATH="$2"
 | |
| INTERFACE="$3"
 | |
| STATE="$4"
 | |
| 
 | |
| [ "${STATE}" = "disconnected" ] || exit 0
 | |
| 
 | |
| . /usr/share/ModemManager/modemmanager.common
 | |
| . /lib/netifd/netifd-proto.sh
 | |
| INCLUDE_ONLY=1 . /lib/netifd/proto/modemmanager.sh
 | |
| 
 | |
| MODEM_STATUS=$(mmcli --modem="${MODEM_PATH}" --output-keyvalue)
 | |
| [ -n "${MODEM_STATUS}" ] || exit 1
 | |
| 
 | |
| MODEM_DEVICE=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.device")
 | |
| [ -n "${MODEM_DEVICE}" ] || exit 2
 | |
| 
 | |
| CFG=$(mm_get_modem_config "${MODEM_DEVICE}")
 | |
| [ -n "${CFG}" ] || exit 3
 | |
| 
 | |
| logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}"
 | |
| proto_init_update $INTERFACE 0
 | |
| proto_send_update $CFG
 | |
| exit 0
 |