mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04: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 &
 | |
| 	}
 | |
| }
 |