allow config lines like nt_ptp=1-7,9,10 in misdn-init.conf
This commit is contained in:
parent
fc245dc655
commit
4a64d3fbc2
60
misdn-init
60
misdn-init
|
@ -92,6 +92,8 @@ check_cmd mknod
|
||||||
check_cmd bc
|
check_cmd bc
|
||||||
check_cmd cut
|
check_cmd cut
|
||||||
check_cmd wc
|
check_cmd wc
|
||||||
|
check_cmd seq
|
||||||
|
check_cmd sed
|
||||||
|
|
||||||
function check_asterisk {
|
function check_asterisk {
|
||||||
if ps ax | grep -v grep | grep asterisk > /dev/null ; then asterisk -rx "stop now" ; fi
|
if ps ax | grep -v grep | grep asterisk > /dev/null ; then asterisk -rx "stop now" ; fi
|
||||||
|
@ -119,7 +121,7 @@ function create_card_db
|
||||||
addcard "4,0x4"
|
addcard "4,0x4"
|
||||||
done
|
done
|
||||||
|
|
||||||
for line in $(${LSPCI} -n | sed -n 's/^\(0000:\|\)\([0-9a-f]\{2\}:[0-9a-f]\{2\}.[0-9a-f]\{1\}\)\( Class \| \)[0-9a-f]\{4\}: 1397:\([0-9a-f]\{4\}\).*$/\4 \2/p'); do
|
for line in $(${LSPCI} -n | ${SED} -n 's/^\(0000:\|\)\([0-9a-f]\{2\}:[0-9a-f]\{2\}.[0-9a-f]\{1\}\)\( Class \| \)[0-9a-f]\{4\}: 1397:\([0-9a-f]\{4\}\).*$/\4 \2/p'); do
|
||||||
if [ ${skipnext} -eq 1 ]; then
|
if [ ${skipnext} -eq 1 ]; then
|
||||||
skipnext=0
|
skipnext=0
|
||||||
continue
|
continue
|
||||||
|
@ -174,6 +176,18 @@ function create_card_db
|
||||||
echo "${cardline}"
|
echo "${cardline}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function expand
|
||||||
|
{
|
||||||
|
local IFS=$','
|
||||||
|
for tok in $1; do
|
||||||
|
if [ "$(echo $tok | ${SED} -ne 's/\([0-9]*\)-\([0-9]*\)/\1 \2/p')" != "" ]; then
|
||||||
|
${SEQ} $(echo $tok | ${SED} -ne 's/\([0-9]*\)-[0-9]*/\1/p') $(echo $tok | ${SED} -ne 's/[0-9]*-\([0-9]*\)/\1/p')
|
||||||
|
else
|
||||||
|
echo $tok
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
function load_card_modules {
|
function load_card_modules {
|
||||||
|
|
||||||
carddb=$(create_card_db)
|
carddb=$(create_card_db)
|
||||||
|
@ -196,7 +210,7 @@ function load_card_modules {
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
skipnr=0
|
skipnr=0
|
||||||
|
|
||||||
for line in $(sed -n -e '/^[^#]/p' ${misdn_init_conf});
|
for line in $(${SED} -n -e '/^[^#]/p' ${misdn_init_conf});
|
||||||
do
|
do
|
||||||
var=$(echo "${line}" | ${CUT} -d "=" -f1)
|
var=$(echo "${line}" | ${CUT} -d "=" -f1)
|
||||||
val=$(echo "${line}" | ${CUT} -d "=" -f2)
|
val=$(echo "${line}" | ${CUT} -d "=" -f2)
|
||||||
|
@ -230,7 +244,7 @@ function load_card_modules {
|
||||||
let "skipnr = ${skipnr} + 1"
|
let "skipnr = ${skipnr} + 1"
|
||||||
;;
|
;;
|
||||||
0x*)
|
0x*)
|
||||||
hfcmulti[${nr}]=$(echo ${mod} | sed -e "s/^0x\([0-9]*\)/\1/")
|
hfcmulti[${nr}]=$(echo ${mod} | ${SED} -e "s/^0x\([0-9]*\)/\1/")
|
||||||
let "hfcports = ${hfcports} + ${ports}"
|
let "hfcports = ${hfcports} + ${ports}"
|
||||||
IFS=$','
|
IFS=$','
|
||||||
for li in ${opns}; do
|
for li in ${opns}; do
|
||||||
|
@ -244,53 +258,43 @@ function load_card_modules {
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
te_ptp)
|
te_ptp)
|
||||||
IFS=$','
|
for li in $(expand "${val}"); do
|
||||||
for li in ${val}; do
|
|
||||||
layermask[${li}]="0xf"
|
layermask[${li}]="0xf"
|
||||||
protocol[${li}]=34 # 0x22 == 34
|
protocol[${li}]=34 # 0x22 == 34
|
||||||
done
|
done
|
||||||
IFS=$'\n'
|
|
||||||
;;
|
;;
|
||||||
te_ptmp)
|
te_ptmp)
|
||||||
IFS=$','
|
for li in $(expand "${val}"); do
|
||||||
for li in ${val}; do
|
|
||||||
layermask[${li}]="0xf"
|
layermask[${li}]="0xf"
|
||||||
protocol[${li}]=2 # 0x2 == 2
|
protocol[${li}]=2 # 0x2 == 2
|
||||||
done
|
done
|
||||||
IFS=$'\n'
|
|
||||||
;;
|
;;
|
||||||
nt_*)
|
nt_*)
|
||||||
IFS=$','
|
for li in $(expand "${val}"); do
|
||||||
for li in ${val}; do
|
|
||||||
layermask[${li}]="0x3"
|
layermask[${li}]="0x3"
|
||||||
protocol[${li}]=18 # 0x12 == 18
|
protocol[${li}]=18 # 0x12 == 18
|
||||||
done
|
done
|
||||||
IFS=$'\n'
|
|
||||||
;;
|
;;
|
||||||
te_capi_ptp)
|
te_capi_ptp)
|
||||||
IFS=$','
|
for li in $(expand "${val}"); do
|
||||||
for li in ${val}; do
|
|
||||||
layermask[${li}]="0x0"
|
layermask[${li}]="0x0"
|
||||||
protocol[${li}]=34 # 0x22 == 34
|
protocol[${li}]=34 # 0x22 == 34
|
||||||
done
|
done
|
||||||
IFS=$'\n'
|
|
||||||
|
|
||||||
export addcapi=1
|
export addcapi=1
|
||||||
;;
|
;;
|
||||||
te_capi_ptmp)
|
te_capi_ptmp)
|
||||||
IFS=$','
|
for li in $(expand "${val}"); do
|
||||||
for li in ${val}; do
|
|
||||||
layermask[${li}]="0x0"
|
layermask[${li}]="0x0"
|
||||||
protocol[${li}]=2 # 0x2 == 2
|
protocol[${li}]=2 # 0x2 == 2
|
||||||
done
|
done
|
||||||
IFS=$'\n'
|
|
||||||
|
|
||||||
export addcapi=1
|
export addcapi=1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
option)
|
option)
|
||||||
port=`echo "${val}" | sed -e "s/^\([0-9]*\),.*/\1/"`
|
port=`echo "${val}" | ${SED} -e "s/^\([0-9]*\),.*/\1/"`
|
||||||
opt=`echo "${val}" | sed -e "s/^[0-9]*,\(.*\)/\1/"`
|
opt=`echo "${val}" | ${SED} -e "s/^[0-9]*,\(.*\)/\1/"`
|
||||||
|
|
||||||
if [ -z ${protocol[${port}]} ]; then
|
if [ -z ${protocol[${port}]} ]; then
|
||||||
protocol[${port}]="0"
|
protocol[${port}]="0"
|
||||||
|
@ -364,9 +368,9 @@ function load_card_modules {
|
||||||
let "port_index = ${port_index} + 1"
|
let "port_index = ${port_index} + 1"
|
||||||
let "hfcports = ${hfcports} - 1"
|
let "hfcports = ${hfcports} - 1"
|
||||||
done
|
done
|
||||||
hfcmulti_type="$(echo ${hfcmulti_type} | sed -e 's/^\(.*\),$/\1/')"
|
hfcmulti_type="$(echo ${hfcmulti_type} | ${SED} -e 's/^\(.*\),$/\1/')"
|
||||||
hfcmulti_prot="$(echo ${hfcmulti_prot} | sed -e 's/^\(.*\),$/\1/')"
|
hfcmulti_prot="$(echo ${hfcmulti_prot} | ${SED} -e 's/^\(.*\),$/\1/')"
|
||||||
hfcmulti_layer="$(echo ${hfcmulti_layer} | sed -e 's/^\(.*\),$/\1/')"
|
hfcmulti_layer="$(echo ${hfcmulti_layer} | ${SED} -e 's/^\(.*\),$/\1/')"
|
||||||
hfcmulti_cmd="${MODPROBE} --ignore-install hfcmulti ${hfcmulti_type} ${hfcmulti_prot} ${hfcmulti_layer}"
|
hfcmulti_cmd="${MODPROBE} --ignore-install hfcmulti ${hfcmulti_type} ${hfcmulti_prot} ${hfcmulti_layer}"
|
||||||
if [ ! -z ${poll} ]; then
|
if [ ! -z ${poll} ]; then
|
||||||
hfcmulti_cmd="${hfcmulti_cmd} poll=${poll}"
|
hfcmulti_cmd="${hfcmulti_cmd} poll=${poll}"
|
||||||
|
@ -428,8 +432,8 @@ function load_card_modules {
|
||||||
let "port_index = ${port_index} + 1"
|
let "port_index = ${port_index} + 1"
|
||||||
done
|
done
|
||||||
|
|
||||||
other_prot="$(echo ${other_prot} | sed -e 's/^\(.*\),$/\1/')"
|
other_prot="$(echo ${other_prot} | ${SED} -e 's/^\(.*\),$/\1/')"
|
||||||
other_layer="$(echo ${other_layer} | sed -e 's/^\(.*\),$/\1/')"
|
other_layer="$(echo ${other_layer} | ${SED} -e 's/^\(.*\),$/\1/')"
|
||||||
other_cmd="${other_cmd} ${other_prot} ${other_layer} ${other_extra}"
|
other_cmd="${other_cmd} ${other_prot} ${other_layer} ${other_extra}"
|
||||||
|
|
||||||
if [ -z "$1" ] ; then
|
if [ -z "$1" ] ; then
|
||||||
|
@ -451,7 +455,7 @@ function unload_card_modules {
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
|
|
||||||
for line in $(sed -ne '/^[^#]/p' ${misdn_init_conf});
|
for line in $(${SED} -ne '/^[^#]/p' ${misdn_init_conf});
|
||||||
do
|
do
|
||||||
var=$(echo "${line}" | ${CUT} -d "=" -f 1)
|
var=$(echo "${line}" | ${CUT} -d "=" -f 1)
|
||||||
val=$(echo "${line}" | ${CUT} -d "=" -f 2)
|
val=$(echo "${line}" | ${CUT} -d "=" -f 2)
|
||||||
|
@ -530,7 +534,7 @@ function create_misdn_init_conf {
|
||||||
portline="${portline}${index},"
|
portline="${portline}${index},"
|
||||||
let "index = ${index} + 1"
|
let "index = ${index} + 1"
|
||||||
done
|
done
|
||||||
portline="$(echo ${portline} | sed -e 's/^\(.*\),$/\1/')"
|
portline="$(echo ${portline} | ${SED} -e 's/^\(.*\),$/\1/')"
|
||||||
|
|
||||||
misdn_cfg_pt1="#
|
misdn_cfg_pt1="#
|
||||||
# Configuration file for your misdn hardware
|
# Configuration file for your misdn hardware
|
||||||
|
@ -725,7 +729,7 @@ case "$1" in
|
||||||
check_asterisk
|
check_asterisk
|
||||||
|
|
||||||
|
|
||||||
for mod in $(lsmod | sed -ne '/Module/!{s/\([^ ]*\).*/\1/;p}');
|
for mod in $(lsmod | ${SED} -ne '/Module/!{s/\([^ ]*\).*/\1/;p}');
|
||||||
do
|
do
|
||||||
case "${mod}" in
|
case "${mod}" in
|
||||||
mISDN_capi | mISDN_dsp | l3udss1 | mISDN_l2 | mISDN_l1 | mISDN_isac )
|
mISDN_capi | mISDN_dsp | l3udss1 | mISDN_l2 | mISDN_l1 | mISDN_isac )
|
||||||
|
|
Loading…
Reference in New Issue