Gentoo Archives: gentoo-commits

From: "Tony Vroon (chainsaw)" <chainsaw@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-misc/dahdi-tools/files: dahdi-autoconf.conf2 dahdi-autoconf.init2
Date: Fri, 02 Sep 2011 09:38:54
Message-Id: 20110902093844.C09C620051@flycatcher.gentoo.org
1 chainsaw 11/09/02 09:38:44
2
3 Added: dahdi-autoconf.conf2 dahdi-autoconf.init2
4 Log:
5 Version bump. Newly updated autoconfig functionality by Jaco Kroon closes bug #374177.
6
7 (Portage version: 2.1.10.11/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.1 net-misc/dahdi-tools/files/dahdi-autoconf.conf2
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.conf2?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.conf2?rev=1.1&content-type=text/plain
14
15 Index: dahdi-autoconf.conf2
16 ===================================================================
17 # Global settings
18 # Set this to your country code.
19 DAHDI_ZONE=za
20 DAHDI_ECHOCAN=oslec # mg2,jpah,kb1,sec,sec2 (there may be more, we recommend oslec)
21
22 # Settings for analog
23 #Analog signal types, one of:
24 # ks - KewlStart (recommended, default)
25 # ls - LoopStart
26 # gs - GroundStart
27
28 # Signalling to be used on FXO ports
29 DAHDI_FXO_SIGNALLING=ks
30
31 # Signalling to be used on FXS ports
32 DAHDI_FXS_SIGNALLING=ks
33
34 # Whether or not to echocan:
35 DAHDI_FXO_ECHOCAN=yes
36 DAHDI_FXS_ECHOCAN=yes
37
38 # These settings will be used for BRI cards.
39 # Known options: B8ZS,AMI,HDB3
40 DAHDI_BRI_CODING=AMI
41
42 # Known options: ESF,D4,CCS,CRC4
43 DAHDI_BRI_FRAMING=CCS
44
45 # Our experience is that it's not required (still defaults to yes)
46 DAHDI_BRI_NT_ECHOCAN=yes
47 DAHDI_BRI_TE_ECHOCAN=yes
48
49 # These settings are for PRI cards. Note that only E1 currently supported.
50 DAHDI_E1_CPE_ECHOCAN=yes
51 DAHDI_E1_NET_ECHOCAN=yes
52
53 # PRI will default to CPE mode (remote end provides signalling).
54 # If you really want to provide signalling set the appropriate spans
55 # here (eg, set span 1 to NET mode).
56 #PRI_SPAN_1_NET=yes
57
58
59
60 1.1 net-misc/dahdi-tools/files/dahdi-autoconf.init2
61
62 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.init2?rev=1.1&view=markup
63 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.init2?rev=1.1&content-type=text/plain
64
65 Index: dahdi-autoconf.init2
66 ===================================================================
67 #!/sbin/runscript
68 # Copyright 1999-2011 Ultimate Linux Solutions CC
69 # Distributed under the terms of the GNU General Public License v2
70
71 depend() {
72 before dahdi
73 }
74
75 dahdi_load_modules() {
76 local hwlist loc status mod mod_vname pciid desc
77
78 hwlist=$(/usr/sbin/dahdi_hardware)
79
80 if [ -z "${hwlist}" ]; then
81 einfo "No digium hardware found."
82 ebegin "Loading module dahdi_dummy"
83 /sbin/modprobe dahdi_dummy
84 eend $?
85 return
86 fi
87
88 echo "${hwlist}" | while read loc mod pciid desc; do
89 status="${mod:${#mod}-1:1}"
90 mod="${mod%[+-]}"
91 mod_vname="mod_${mod}"
92
93 einfo "Found $desc at $loc (module: $mod)"
94
95 if [ "${status}" = "-" -a "${!mod_vname-notloaded}" = "notloaded" ]; then
96 ebegin "Loading module $mod"
97 /sbin/modprobe $mod
98 eend
99
100 [ $? -eq 0 ] && eval "$mod_vname=loaded"
101 fi
102 done
103 }
104
105 dahdi_module_unload() {
106 local mod=$1 s
107 [ -d /sys/module/${mod} ] || return 0
108
109 for s in $(find /sys/module/${mod}/holders -type l); do
110 dahdi_module_unload $(basename $s)
111 done
112
113 ebegin "Removing dahdi module: $mod"
114 /sbin/rmmod $mod
115 eend $?
116 }
117
118 dahdi_gen_fxo_config() {
119 local port=$1
120
121 echo "fxs${DAHDI_FXO_SIGNALLING-ks}=${port}"
122 [ "${DAHDI_FXO_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}"
123 }
124
125 dahdi_gen_fxs_config() {
126 local port=$1
127
128 echo "fxo${DAHDI_FXO_SIGNALLING-ks}=${port}"
129 [ "${DAHDI_FXS_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}"
130 }
131
132 dahdi_gen_bri_te_config() {
133 span=$1
134 port=$2
135 basechan=$3
136
137 echo "span=${span},${port},0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}"
138 echo "bchan=${basechan}-$(( basechan + 1 ))"
139 echo "hardhdlc=$(( basechan + 2 ))"
140 [ "${DAHDI_BRI_TE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))"
141 }
142
143 dahdi_gen_bri_nt_config() {
144 span=$1
145 port=$2
146 basechan=$3
147
148 echo "span=${span},0,0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}"
149 echo "bchan=${basechan}-$(( basechan + 1 ))"
150 echo "hardhdlc=$(( basechan + 2 ))"
151 [ "${DAHDI_BRI_NT_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))"
152 }
153
154 dahdi_gen_e1_cpe_config() {
155 span=$1
156 port=$2
157 basechan=$3
158
159 echo "span=${span},${port},0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}"
160 bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))"
161 echo "bchan=${bchans}"
162 echo "dchan=$(( basechan + 15 ))"
163 [ "${DAHDI_E1_CPE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}"
164 }
165
166 dahdi_gen_e1_net_config() {
167 span=$1
168 port=$2
169 basechan=$3
170
171 echo "span=${span},0,0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}"
172 bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))"
173 echo "bchan=${bchans}"
174 echo "dchan=$(( basechan + 15 ))"
175 [ "${DAHDI_E1_NET_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}"
176 }
177
178 dahdi_conf_span() {
179 local span=$1
180 local type=$2
181 local desc=$3
182 local port=$4
183 local basechan=$5
184 local vname=""
185
186 # Analog we need to deal with on a port-by-port basis.
187 [ "${type}" = "analog" ] && return 0
188
189 echo -e "\n# ${desc}"
190 case "${type}" in
191 digital-TE)
192 dahdi_gen_bri_te_config "${span}" "${port}" "${basechan}"
193 ;;
194 digital-NT)
195 dahdi_gen_bri_nt_config "${span}" "${port}" "${basechan}"
196 ;;
197 digital-E1)
198 # Use CPE by default. Unfortunately there is no easy
199 # way to detect CPE vs NET as far as I know and specifying
200 # in a config that you want NET mode seems the sanest way.
201 vname="PRI_SPAN_${span}_NET"
202 if [[ "${!vname}" = [Yy][Ee][Ss] ]]; then
203 dahdi_gen_e1_net_config "${span}" "${port}" "${basechan}"
204 else
205 dahdi_gen_e1_cpe_config "${span}" "${port}" "${basechan}"
206 fi
207 ;;
208 *)
209 echo "# Don't know how to configure this (type=${type})."
210 echo "# Please file a bug on bugs.gentoo.org and add jaco@××××××.za as CC."
211 ;;
212 esac
213 }
214
215 dahdi_gen_config() {
216 local type manufacturer devicetype basechan aport atype
217 local span=
218 local tfile="$(mktemp)"
219 local sfile="$(mktemp)"
220 local plocation=""
221 local isdnport=0
222
223 /usr/sbin/dahdi_scan > "${sfile}"
224 exec 3<"${sfile}"
225
226 echo "# Automatically dahdi-autoconf generated file ($(date))." >> "${tfile}"
227 echo "# This file WILL get regenerated whenever you restart dahdi-autoconf." >> "${tfile}"
228
229 while read LINE <&3; do
230 case "$LINE" in
231 [[]*[]])
232 [ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}"
233 span="${LINE%?}"
234 span="${span#?}"
235 ;;
236 type=*|manufacturer=*|devicetype=*|basechan=*|name=*)
237 eval "${LINE%%=*}='${LINE#*=}'"
238 ;;
239 location=*)
240 eval "${LINE%%=*}='${LINE#*=}'"
241 if [ "${location}" == "${plocation}" ]; then
242 (( ++isdnport ))
243 else
244 plocation="${location}"
245 isdnport=1
246 fi
247 ;;
248 port=*)
249 # For analog cards only.
250 aport="${LINE#*=}"; aport="${aport%,*}"
251 atype="${LINE#*,}"
252 [ "${aport}" -eq "${basechan}" ] && echo -e "\n# ${manufacturer} ${devicetype} (${name})" >> "${tfile}"
253 case "${atype}" in
254 FXO)
255 dahdi_gen_fxo_config $aport >> "${tfile}"
256 ;;
257 FXS)
258 dahdi_gen_fxs_config $aport >> "${tfile}"
259 ;;
260 esac
261 ;;
262 esac
263 done
264
265 [ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}"
266
267 echo -e "\nloadzone = ${DAHDI_ZONE}\ndefaultzone = ${DAHDI_ZONE}\n## END OF AUTOCONFIGURED FILE ##" >> "${tfile}"
268
269 exec 3<&-
270
271 rm -f "${sfile}"
272 mv /etc/dahdi/system.conf /etc/dahdi/system.conf.bck
273 mv "${tfile}" /etc/dahdi/system.conf
274 }
275
276 start() {
277 dahdi_load_modules
278
279 if [ ! -r /dev/dahdi/ctl ]; then
280 eerror "No DAHDI compatible cards detected."
281 return 1
282 fi
283
284 ebegin "Generating DAHDI Configuration"
285 dahdi_gen_config
286 eend $?
287 }
288
289 stop() {
290 dahdi_module_unload dahdi
291 }