mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			907 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			907 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh /etc/rc.common
 | 
						|
START=80
 | 
						|
 | 
						|
download_fw()
 | 
						|
{
 | 
						|
	config_load telephony
 | 
						|
	config_get fw_url config fw_url
 | 
						|
	config_get fw_file config fw_file
 | 
						|
	wget $fw_url -O /tmp/$fw_file || {
 | 
						|
		echo "failed to load $fw_url"
 | 
						|
		exit 1
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
load_module()
 | 
						|
{
 | 
						|
	M=`lsmod | grep vmmc`
 | 
						|
	[ -z "$M" ] || return
 | 
						|
	config_load telephony
 | 
						|
	config_get fw_file config fw_file
 | 
						|
	[ -z "fw_file" ] && exit 1
 | 
						|
	F=/lib/firmware/$fw_file
 | 
						|
	[ ! -f "$F" -a ! -L "$F" ] && {
 | 
						|
		echo "missing firmware file"
 | 
						|
		exit 1
 | 
						|
	}
 | 
						|
	[ -L "$F" -a -f /tmp/$fw_file ] && F=/tmp/$fw_file
 | 
						|
	insmod vmmc
 | 
						|
	sleep 3
 | 
						|
}
 | 
						|
 | 
						|
stop()
 | 
						|
{
 | 
						|
	killall tapi-sip 2>/dev/null
 | 
						|
}
 | 
						|
 | 
						|
start()
 | 
						|
{
 | 
						|
	stop
 | 
						|
	config_load telephony
 | 
						|
	config_get fw_url config fw_url
 | 
						|
	config_get fw_file config fw_file
 | 
						|
	config_get netdev config netdev
 | 
						|
	config_get disable config disable
 | 
						|
	[ "$disable" != "1" ]  && {
 | 
						|
		[ ! -z "$fw_url" -a ! -f "/tmp/$fw_file" ] && download_fw
 | 
						|
		load_module
 | 
						|
		/usr/bin/tapi-sip $netdev &
 | 
						|
	}
 | 
						|
}
 |