summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMakefile15
-rwxr-xr-xzaptel.init100
-rwxr-xr-xzaptel.sysconfig27
3 files changed, 109 insertions, 33 deletions
diff --git a/Makefile b/Makefile
index 0dc0216..e2af664 100755
--- a/Makefile
+++ b/Makefile
@@ -33,7 +33,7 @@ KFLAGS+=-DSTANDALONE_ZAPATA
CFLAGS+=-DSTANDALONE_ZAPATA
ROOT_PREFIX=
-INSTALL_PREFIX=
+INSTALL_PREFIX=$(DESTDIR)
CONFIG_FILE=$(INSTALL_PREFIX)/etc/zaptel.conf
CFLAGS+=-DZAPTEL_CONFIG=\"$(CONFIG_FILE)\"
@@ -203,9 +203,10 @@ libtonezone.a: $(TZOBJS)
ar rcs libtonezone.a $(TZOBJS)
$(LIBTONEZONE): $(TZOBJS)
- $(CC) -shared -Wl,-soname,libtonezone.so.1 -lm -o $@ $(TZOBJS)
+ $(CC) -shared -Wl,-soname,$(LIBTONEZONE) -lm -o $@ $(TZOBJS)
[ `id -u` = 0 ] && /sbin/ldconfig || :
- ln -sf libtonezone.so.1 libtonezone.so
+ ln -sf $(LIBTONEZONE) libtonezone.so
+ ln -sf $(LIBTONEZONE) libtonezone.so.1
ztcfg.c: ztcfg.h
@@ -301,6 +302,7 @@ install: all devices $(LIBTONEZONE)
install -D -m 644 torisa.h $(INSTALL_PREFIX)/usr/include/linux/torisa.h
install -D -m 644 tonezone.h $(INSTALL_PREFIX)/usr/include/tonezone.h
( cd $(INSTALL_PREFIX)/usr/lib ; rm -f libtonezone.so ; ln -sf $(LIBTONEZONE) libtonezone.so )
+ ( cd $(INSTALL_PREFIX)/usr/lib ; rm -f libtonezone.so.1 ; ln -sf $(LIBTONEZONE) libtonezone.so.1 )
[ `id -u` = 0 ] && /sbin/ldconfig || :
if [ -f $(MODCONF) ]; then mv -f $(MODCONF) $(MODCONF).bak ; fi
cat $(MODCONF).bak | grep -v "alias char-major-250" | \
@@ -343,7 +345,10 @@ config:
install -D -m 755 zaptel.init $(INSTALL_PREFIX)/etc/init.d/zaptel; \
chkconfig --add zaptel; \
fi
- if [ ! -f /etc/sysconfig/zaptel ]; then \
+ if [ -d /etc/default ] && [ ! -f /etc/default/zaptel ]; then \
+ install -D -m 644 zaptel.sysconfig $(INSTALL_PREFIX)/etc/default/zaptel; \
+ fi
+ if [ -d /etc/sysconfig ] && [ ! -f /etc/sysconfig/zaptel ]; then \
install -D -m 644 zaptel.sysconfig $(INSTALL_PREFIX)/etc/sysconfig/zaptel; \
fi
if [ -d /etc/sysconfig/network-scripts ]; then \
@@ -370,3 +375,5 @@ clean:
rm -f tor2ee
rm -f fxotune
rm -f core
+ [ -d .tmp_versions ] && rm -rf .tmp_versions
+
diff --git a/zaptel.init b/zaptel.init
index 300c74e..4593112 100755
--- a/zaptel.init
+++ b/zaptel.init
@@ -8,33 +8,52 @@
#
# config: /etc/sysconfig/zaptel
-# Source function library.
-. /etc/rc.d/init.d/functions
+initdir=/etc/init.d
-[ -f /etc/sysconfig/zaptel ] || exit 0
+#
+# Determine which kind of configuration we're using
+#
+system=redhat # assume redhat
+if [ -f /etc/debian_version ]; then
+ system=debian
+fi
-# Source zaptel configuration.
-. /etc/sysconfig/zaptel
+# Source function library.
+if [ $system = redhat ]; then
+ . $initdir/functions || exit 0
+fi
-# Check that telephony is up.
-if [ "${TELEPHONY}" = "no" ]; then
- exit 0
+# Source zaptel configuration.
+if [ $system = debian ]; then
+ [ -f /etc/default/zaptel ] && . /etc/default/zaptel
+elif [ $system = redhat ]; then
+ [ -f /etc/sysconfig/zaptel ] && . /etc/sysconfig/zaptel
fi
-[ -f /sbin/ztcfg ] || exit 0
+if [ -z "${MODULES}" ]; then
+ # Populate defaults if not present
+ MODULES="tor2 wct4xxp wct1xxp wcte11xp wcfxo wctdm"
+fi
-[ -f /etc/zaptel.conf ] || exit 0
+RMODULES=""
+# Reverse list for un-loading; don't change
+for x in $MODULES; do
+ RMODULES="$x $RMODULES"
+done
-RETVAL=0
+# Check that telephony is up.
+[ "${TELEPHONY}" = "yes" ] || exit 0
-MODULES="torisa tor2 wct4xxp wcte11xp wct1xxp wcfxo wctdm wcusb"
+[ -f /sbin/ztcfg ] || exit 0
-RMODULES="wcusb wctdm wcfxo wct1xxp wcte11xp wct4xxp tor2 torisa"
+[ -f /etc/zaptel.conf ] || exit 0
if [ "${DEBUG}" = "yes" ]; then
ARGS="debug=1"
fi
+RETVAL=0
+
# See how we were called.
case "$1" in
start)
@@ -42,14 +61,20 @@ case "$1" in
rmmod wcusb >& /dev/null
rmmod wcfxsusb >& /dev/null
rmmod audio >& /dev/null
- action "Loading zaptel framework: " modprobe zaptel
- echo -n "Loading zaptel hardware modules: "
+ if [ $system = debian ]; then
+ echo -n "Loading zaptel framework: "
+ modprobe zaptel >& /dev/null && echo -n "done"
+ echo "."
+ elif [ $system = redhat ]; then
+ action "Loading zaptel framework: " modprobe zaptel
+ fi
+ echo -n "Loading zaptel hardware modules:"
for x in $MODULES; do
- if insmod ${x} ${ARGS} >& /dev/null; then
- echo -n "$x "
+ if modprobe ${x} ${ARGS} >& /dev/null; then
+ echo -n " $x"
fi
done
- echo
+ echo "."
TMOUT=10 # max secs to wait
while [ ! -d /dev/zap ] ; do
sleep 1
@@ -59,34 +84,51 @@ case "$1" in
exit 1
fi
done
- sleep 1;
- action "Running ztcfg: " /sbin/ztcfg
+ if [ $system = debian ]; then
+ echo -n "Running ztcfg: "
+ /sbin/ztcfg >& /dev/null && echo -n "done"
+ echo "."
+ elif [ $system = redhat ]; then
+ action "Running ztcfg: " /sbin/ztcfg
+ fi
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/zaptel
-
;;
stop)
- # Stop daemons.
- echo -n "Unloading zaptel hardware drivers: "
+ # Unload drivers
+ echo -n "Unloading zaptel hardware drivers:"
for x in $RMODULES; do
if rmmod ${x} >& /dev/null; then
- echo -n "$x "
+ echo -n " $x"
fi
done
- echo
-
- action "Removing zaptel module: " rmmod zaptel
+ echo "."
+
+ if [ $system = debian ]; then
+ echo -n "Removing zaptel module: "
+ rmmod zaptel >& /dev/null && echo -n "done"
+ echo "."
+ elif [ $system = redhat ]; then
+ action "Removing zaptel module: " rmmod zaptel
+ fi
RETVAL=$?
+
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zaptel
;;
restart)
$0 stop
$0 start
- RETVAL=$?
;;
reload)
- action "Reloading ztcfg: " /sbin/ztcfg
+ if [ $system = debian ]; then
+ echo -n "Reloading ztcfg: "
+ /sbin/ztcfg >& /dev/null && echo -n "done"
+ echo "."
+ elif [ $system = redhat ]; then
+ action "Reloading ztcfg: " /sbin/ztcfg
+ fi
+ RETVAL=$?
;;
*)
echo "Usage: zaptel {start|stop|restart|reload}"
diff --git a/zaptel.sysconfig b/zaptel.sysconfig
index bdc9736..351a42d 100755
--- a/zaptel.sysconfig
+++ b/zaptel.sysconfig
@@ -1,2 +1,29 @@
TELEPHONY=yes
#DEBUG=yes
+
+# Un-comment as per your requirements; modules to load/unload
+#Module Name Hardware
+MODULES="$MODULES tor2" # T400P - Quad Span T1 Card
+ # E400P - Quad Span E1 Card
+
+MODULES="$MODULES wct4xxp" # TE405P - Quad Span T1/E1 Card (5v version)
+ # TE410P - Quad Span T1/E1 Card (3.3v version)
+
+MODULES="$MODULES wct1xxp" # T100P - Single Span T1 Card
+ # E100P - Single Span E1 Card
+
+MODULES="$MODULES wcte11xp" # TE110P - Single Span T1/E1 Card
+
+MODULES="$MODULES wcfxo" # X100P - Single port FXO interface
+ # X101P - Single port FXO interface
+
+MODULES="$MODULES wctdm" # TDM400P - Modular FXS/FXO interface (1-4 ports)
+#MODULES="$MODULES wcfxs" # either above or this
+
+MODULES="$MODULES wcusb" # S100U - Single port FXS USB Interface
+#MODULES="$MODULES wcfxsusb" # either above or this
+
+#MODULES="$MODULES torisa" # Old Tormenta1 ISA Card
+
+#MODULES="$MODULES ztdummy" # UHCI USB Zaptel Timing Only Interface
+