You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
907 B
50 lines
907 B
#!/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 &
|
|
}
|
|
}
|
|
|