mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/ash
 | 
						|
 | 
						|
. /lib/functions.sh
 | 
						|
. /usr/share/libubox/jshn.sh
 | 
						|
 | 
						|
ucidef_add_static_modem_info() {
 | 
						|
	#Parameters: model usb_id sim_count other_params
 | 
						|
	local model usb_id count
 | 
						|
	local modem_counter=0
 | 
						|
	local sim_count=1
 | 
						|
 | 
						|
	model="$1"
 | 
						|
	usb_id="$2"
 | 
						|
 | 
						|
	[ -n "$3" ] && sim_count="$3"
 | 
						|
 | 
						|
	json_get_keys count modems
 | 
						|
	[ -n "$count" ] && modem_counter="$(echo "$count" | wc -w)"
 | 
						|
 | 
						|
	json_select_array "modems"
 | 
						|
		json_add_object
 | 
						|
			json_add_string id "$usb_id"
 | 
						|
			json_add_string num "$((modem_counter + 1))"
 | 
						|
			json_add_boolean builtin 1
 | 
						|
			json_add_int simcount "$sim_count"
 | 
						|
 | 
						|
			for i in "$@"; do
 | 
						|
				case "$i" in
 | 
						|
					primary)
 | 
						|
						json_add_boolean primary 1
 | 
						|
						;;
 | 
						|
					gps_out)
 | 
						|
						json_add_boolean gps_out 1
 | 
						|
					;;
 | 
						|
				esac
 | 
						|
			done
 | 
						|
 | 
						|
		json_close_object
 | 
						|
	json_select ..
 | 
						|
}
 | 
						|
 | 
						|
ucidef_add_serial_capabilities() {
 | 
						|
	json_select_array serial
 | 
						|
		json_add_object
 | 
						|
			[ -n "$1" ] && {
 | 
						|
				json_select_array devices
 | 
						|
				for d in $1; do
 | 
						|
					json_add_string "" $d
 | 
						|
				done
 | 
						|
				json_select ..
 | 
						|
			}
 | 
						|
 | 
						|
			json_select_array bauds
 | 
						|
			for b in $2; do
 | 
						|
				json_add_string "" $b
 | 
						|
			done
 | 
						|
			json_select ..
 | 
						|
 | 
						|
			json_select_array data_bits
 | 
						|
			for n in $3; do
 | 
						|
				json_add_string "" $n
 | 
						|
			done
 | 
						|
			json_select ..
 | 
						|
 | 
						|
			json_select_array flow_control
 | 
						|
			for n in $4; do
 | 
						|
				json_add_string "" $n
 | 
						|
			done
 | 
						|
			json_select ..
 | 
						|
 | 
						|
			json_select_array stop_bits
 | 
						|
			for n in $5; do
 | 
						|
				json_add_string "" $n
 | 
						|
			done
 | 
						|
			json_select ..
 | 
						|
 | 
						|
			json_select_array parity_types
 | 
						|
			for n in $6; do
 | 
						|
				json_add_string "" $n
 | 
						|
			done
 | 
						|
			json_select ..
 | 
						|
 | 
						|
			json_add_string "path" $7
 | 
						|
 | 
						|
		json_close_object
 | 
						|
	json_select ..
 | 
						|
}
 | 
						|
 | 
						|
ucidef_add_wlan_bssid_limit() {
 | 
						|
	json_select_object wlan
 | 
						|
		json_add_object "$1"
 | 
						|
			json_add_int bssid_limit "$2"
 | 
						|
		json_close_object
 | 
						|
	json_select ..
 | 
						|
}
 | 
						|
 | 
						|
ucidef_set_hwinfo() {
 | 
						|
	local args=" $* "
 | 
						|
	local options='
 | 
						|
	dual_sim
 | 
						|
	at_sim
 | 
						|
	wifi
 | 
						|
	dual_band_ssid
 | 
						|
	wps
 | 
						|
	mobile
 | 
						|
	gps
 | 
						|
	usb
 | 
						|
	poe
 | 
						|
	bluetooth
 | 
						|
	ethernet
 | 
						|
	sfp_port
 | 
						|
	ios
 | 
						|
	sfp_switch
 | 
						|
	rs232
 | 
						|
	rs485
 | 
						|
	console
 | 
						|
	dual_modem
 | 
						|
	sd_card
 | 
						|
	sw_rst_on_init
 | 
						|
	dsa
 | 
						|
	hw_nat
 | 
						|
	'
 | 
						|
 | 
						|
	json_select_object hwinfo
 | 
						|
 | 
						|
	for opt in $options; do
 | 
						|
		if [[ "$args" =~ " $(echo "$opt" | tr -d '\011\012\015\040') " ]]; then
 | 
						|
			json_add_boolean "$opt" 1
 | 
						|
		else
 | 
						|
			json_add_boolean "$opt" 0
 | 
						|
		fi
 | 
						|
	done
 | 
						|
 | 
						|
	json_select ..
 | 
						|
}
 | 
						|
 | 
						|
ucidef_set_release_version() {
 | 
						|
	json_add_string release_version "$1"
 | 
						|
}
 | 
						|
 | 
						|
ucidef_set_usb_jack() {
 | 
						|
	json_add_string "usb_jack" "$1"
 | 
						|
}
 |