diff --git a/config/mISDN b/config/mISDN
index 19e62c0..6e4f91b 100755
--- a/config/mISDN
+++ b/config/mISDN
@@ -63,6 +63,12 @@ declare -a HFCMULTI_layermask
HFCMULTI_options=''
MISDNDSP_options=''
+AVMFRITZ_protocol=''
+AVMFRITZ_layermask=''
+
+HFCPCI_protocol=''
+HFCPCI_layermask=''
+
declare -a SCAN_card
declare -a SCAN_opts
declare -a SCAN_num_ports
@@ -71,8 +77,16 @@ declare -a SCAN_port_opts
function parse_config
{
local CONFIG=$(${XSLTPROC} ${MISDN_CONF_XSL} ${MISDN_CONF})
- local t p l line i tmpcmd
+ local t p l line i tmpcmd curr
local IFS=$'\n'
+
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install capi"
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_core debug=0"
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_l1 debug=0"
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_l2 debug=0"
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install l3udss1 debug=0"
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_capi"
+
for line in ${CONFIG}; do
case "${line}" in
MODULE:hfcmulti*)
@@ -82,6 +96,7 @@ function parse_config
MISDNDSP_options=${line:17}
;;
CARD:BN*)
+ curr='hfcmulti'
i=${#HFCMULTI_type[@]}
let "t = $(echo $line | ${SED} -n 's/.*type:\([^,]*\).*/\1/p')"
HFCMULTI_type[${i}]=$(printf "0x%x" ${t})
@@ -95,21 +110,37 @@ function parse_config
HFCMULTI_card[${i}]=$(echo ${line:5} | ${CUT} -d" " -f1)
;;
+ CARD:hfcpci*)
+ curr='hfcpci'
+ ;;
+ CARD:avmfritz*)
+ curr='avmfritz'
+ ;;
PORT*)
- let "p = $(echo $line | ${SED} -n 's/.*protocol:\([^ ]*\).*/\1/p')"
- HFCMULTI_protocol[${i}]="${HFCMULTI_protocol[${i}]:+"${HFCMULTI_protocol[${i}]},"}$(printf "0x%x" ${p})"
- let "l = $(echo $line | ${SED} -n 's/.*layermask:\([^ ]*\).*/\1/p')"
- HFCMULTI_layermask[${i}]="${HFCMULTI_layermask[${i}]:+"${HFCMULTI_layermask[${i}]},"}$(printf "0x%x" ${l})"
+ case "${curr}" in
+ hfcmulti)
+ let "p = $(echo $line | ${SED} -n 's/.*protocol:\([^ ]*\).*/\1/p')"
+ HFCMULTI_protocol[${i}]="${HFCMULTI_protocol[${i}]:+"${HFCMULTI_protocol[${i}]},"}$(printf "0x%x" ${p})"
+ let "l = $(echo $line | ${SED} -n 's/.*layermask:\([^ ]*\).*/\1/p')"
+ HFCMULTI_layermask[${i}]="${HFCMULTI_layermask[${i}]:+"${HFCMULTI_layermask[${i}]},"}$(printf "0x%x" ${l})"
+ ;;
+ hfcpci)
+ let "p = $(echo $line | ${SED} -n 's/.*protocol:\([^ ]*\).*/\1/p')"
+ HFCPCI_protocol="${HFCPCI_protocol:+"${HFCPCI_protocol},"}$(printf "0x%x" ${p})"
+ let "l = $(echo $line | ${SED} -n 's/.*layermask:\([^ ]*\).*/\1/p')"
+ HFCPCI_layermask="${HFCPCI_layermask:+"${HFCPCI_layermask},"}$(printf "0x%x" ${l})"
+ ;;
+ avmfritz)
+ let "p = $(echo $line | ${SED} -n 's/.*protocol:\([^ ]*\).*/\1/p')"
+ AVMFRITZ_protocol="${AVMFRITZ_protocol:+"${AVMFRITZ_protocol},"}$(printf "0x%x" ${p})"
+ let "l = $(echo $line | ${SED} -n 's/.*layermask:\([^ ]*\).*/\1/p')"
+ AVMFRITZ_layermask="${AVMFRITZ_layermask:+"${AVMFRITZ_layermask},"}$(printf "0x%x" ${l})"
+ ;;
+ esac
;;
esac
done
- START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install capi"
- START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_core debug=0"
- START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_l1 debug=0"
- START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_l2 debug=0"
- START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install l3udss1 debug=0"
- START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_capi"
tmpcmd="${MODPROBE} --ignore-install hfcmulti type=${HFCMULTI_type[0]}"
i=1
while [ ! -z "${HFCMULTI_type[${i}]}" ]; do
@@ -129,6 +160,15 @@ function parse_config
let "i = ${i} + 1"
done
START_COMMANDS[${#START_COMMANDS[@]}]="${tmpcmd} ${HFCMULTI_options}"
+
+ if [ ! -z "${HFCPCI_protocol}" ]; then
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install hfcpci protocol=${HFCPCI_protocol} layermask=${HFCPCI_layermask}"
+ fi
+
+ if [ ! -z "${AVMFRITZ_protocol}" ]; then
+ START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install avmfritz protocol=${AVMFRITZ_protocol} layermask=${AVMFRITZ_layermask}"
+ fi
+
START_COMMANDS[${#START_COMMANDS[@]}]="${MODPROBE} --ignore-install mISDN_dsp ${MISDNDSP_options}"
}
@@ -150,7 +190,7 @@ function run_stop_commands
for mod in $(lsmod | ${SED} -ne '/Module/!{s/\([^ ]*\).*/\1/;p}'); do
case "${mod}" in
- mISDN_capi | mISDN_dsp | l3udss1 | mISDN_l2 | mISDN_l1 | mISDN_isac | hfcmulti)
+ mISDN_capi | mISDN_dsp | l3udss1 | mISDN_l2 | mISDN_l1 | mISDN_isac | hfcmulti | avmfritz)
STOP_COMMANDS[0]="${STOP_COMMANDS[0]:-"${MODPROBE} -r --ignore-remove"} ${mod}"
;;
mISDN_core)
@@ -293,8 +333,6 @@ case "${1}" in
stop|--stop)
- check_misdn_conf
- parse_config
run_stop_commands
;;
diff --git a/config/mISDN.conf.avmfritz.xsl b/config/mISDN.conf.avmfritz.xsl
new file mode 100644
index 0000000..2282483
--- /dev/null
+++ b/config/mISDN.conf.avmfritz.xsl
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+ layermask:
+
+
+ 3
+
+
+ 0
+
+
+ 15
+
+
+
+ protocol:
+
+
+ te
+ nt
+ 34
+ 18
+ 34
+
+
+ +
+
+
+ ptp
+ ptmp
+ 0
+ (-32)
+ (-32)
+
+
+
+ capi:
+
+
+ yes
+ no
+ no
+
+
+
+
+
+
+
diff --git a/config/mISDN.conf.hfcpci.xsl b/config/mISDN.conf.hfcpci.xsl
new file mode 100644
index 0000000..7a76d2e
--- /dev/null
+++ b/config/mISDN.conf.hfcpci.xsl
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+ layermask:
+
+
+ 3
+
+
+ 0
+
+
+ 15
+
+
+
+ protocol:
+
+
+ te
+ nt
+ 34
+ 18
+ 34
+
+
+ +
+
+
+ ptp
+ ptmp
+ 0
+ (-32)
+ (-32)
+
+
+
+ capi:
+
+
+ yes
+ no
+ no
+
+
+
+
+
+
+
diff --git a/config/mISDN.conf.xsl b/config/mISDN.conf.xsl
index 323f296..fb7de36 100644
--- a/config/mISDN.conf.xsl
+++ b/config/mISDN.conf.xsl
@@ -6,6 +6,8 @@
+
+