[zaptel-commits] tzafrir: branch tzafrir/kernelmove_14 r3194 - in /team/tzafrir/kernelmove_14:...

SVN commits to the Zaptel project zaptel-commits at lists.digium.com
Sat Oct 27 11:06:17 CDT 2007


Author: tzafrir
Date: Sat Oct 27 11:06:16 2007
New Revision: 3194

URL: http://svn.digium.com/view/zaptel?view=rev&rev=3194
Log:
Merged 2773:3193 from branches/1.4 .

Added:
    team/tzafrir/kernelmove_14/install_prereq
      - copied unchanged from r3193, branches/1.4/install_prereq
    team/tzafrir/kernelmove_14/kernel/install_prereq
      - copied unchanged from r3193, branches/1.4/install_prereq
    team/tzafrir/kernelmove_14/kernel/ppp/   (props changed)
      - copied from r3193, branches/1.4/ppp/
    team/tzafrir/kernelmove_14/kernel/ppp/Makefile
      - copied unchanged from r3193, branches/1.4/ppp/Makefile
    team/tzafrir/kernelmove_14/kernel/ppp/zaptel.c
      - copied unchanged from r3193, branches/1.4/ppp/zaptel.c
    team/tzafrir/kernelmove_14/kernel/xpp/Changelog_xpp
      - copied unchanged from r3193, branches/1.4/xpp/Changelog_xpp
    team/tzafrir/kernelmove_14/kernel/xpp/card_pri.c
      - copied unchanged from r3193, branches/1.4/xpp/card_pri.c
    team/tzafrir/kernelmove_14/kernel/xpp/card_pri.h
      - copied unchanged from r3193, branches/1.4/xpp/card_pri.h
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/USB_FW.hex
      - copied unchanged from r3193, branches/1.4/xpp/firmwares/USB_FW.hex
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_3_29
      - copied unchanged from r3193, branches/1.4/xpp/init_card_3_29
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_4_29
      - copied unchanged from r3193, branches/1.4/xpp/init_card_4_29
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_6_29
      - copied unchanged from r3193, branches/1.4/xpp/init_card_6_29
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_7_29
      - copied unchanged from r3193, branches/1.4/xpp/init_card_7_29
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_9_29
      - copied unchanged from r3193, branches/1.4/xpp/init_card_9_29
    team/tzafrir/kernelmove_14/kernel/xpp/param_doc
      - copied unchanged from r3193, branches/1.4/xpp/param_doc
    team/tzafrir/kernelmove_14/kernel/xpp/utils/astribank_hook
      - copied unchanged from r3193, branches/1.4/xpp/utils/astribank_hook
    team/tzafrir/kernelmove_14/kernel/xpp/utils/example_default_zaptel
      - copied unchanged from r3193, branches/1.4/xpp/utils/example_default_zaptel
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zaptel_drivers
      - copied unchanged from r3193, branches/1.4/xpp/utils/zaptel_drivers
    team/tzafrir/kernelmove_14/kernel/xpp/xbus-sysfs.c
      - copied unchanged from r3193, branches/1.4/xpp/xbus-sysfs.c
    team/tzafrir/kernelmove_14/ppp/   (props changed)
      - copied from r3193, branches/1.4/ppp/
    team/tzafrir/kernelmove_14/ppp/Makefile
      - copied unchanged from r3193, branches/1.4/ppp/Makefile
    team/tzafrir/kernelmove_14/ppp/zaptel.c
      - copied unchanged from r3193, branches/1.4/ppp/zaptel.c
Removed:
    team/tzafrir/kernelmove_14/build_tools/install_prereq
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/VPMADT032.bin
    team/tzafrir/kernelmove_14/kernel/xpp/ChangeLog
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/USB_1130.hex
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/USB_1140.hex
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/USB_1150.hex
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_3_26
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_4_26
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_6_26
    team/tzafrir/kernelmove_14/kernel/xpp/init_card_7_26
Modified:
    team/tzafrir/kernelmove_14/Makefile.kernel26
    team/tzafrir/kernelmove_14/README
    team/tzafrir/kernelmove_14/configure
    team/tzafrir/kernelmove_14/configure.ac
    team/tzafrir/kernelmove_14/firmware/Makefile
    team/tzafrir/kernelmove_14/fxotune.c
    team/tzafrir/kernelmove_14/kernel/   (props changed)
    team/tzafrir/kernelmove_14/kernel/Makefile
    team/tzafrir/kernelmove_14/kernel/hpec/hpec_zaptel.h
    team/tzafrir/kernelmove_14/kernel/pciradio.c
    team/tzafrir/kernelmove_14/kernel/tor2.c
    team/tzafrir/kernelmove_14/kernel/wct4xxp/base.c
    team/tzafrir/kernelmove_14/kernel/wct4xxp/wct4xxp.h
    team/tzafrir/kernelmove_14/kernel/wctdm.c
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/GpakApi.c
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/GpakCust.c
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/GpakCust.h
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/Makefile
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/Makefile.kernel26
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/base.c
    team/tzafrir/kernelmove_14/kernel/wctdm24xxp/wctdm24xxp.h
    team/tzafrir/kernelmove_14/kernel/wcte11xp.c
    team/tzafrir/kernelmove_14/kernel/wcte12xp.c
    team/tzafrir/kernelmove_14/kernel/xpp/   (props changed)
    team/tzafrir/kernelmove_14/kernel/xpp/.version
    team/tzafrir/kernelmove_14/kernel/xpp/Makefile
    team/tzafrir/kernelmove_14/kernel/xpp/README.Astribank
    team/tzafrir/kernelmove_14/kernel/xpp/README.metering
    team/tzafrir/kernelmove_14/kernel/xpp/card_bri.c
    team/tzafrir/kernelmove_14/kernel/xpp/card_bri.h
    team/tzafrir/kernelmove_14/kernel/xpp/card_fxo.c
    team/tzafrir/kernelmove_14/kernel/xpp/card_fxo.h
    team/tzafrir/kernelmove_14/kernel/xpp/card_fxs.c
    team/tzafrir/kernelmove_14/kernel/xpp/card_fxs.h
    team/tzafrir/kernelmove_14/kernel/xpp/card_global.c
    team/tzafrir/kernelmove_14/kernel/xpp/card_global.h
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/FPGA_1141.hex
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/FPGA_1151.hex
    team/tzafrir/kernelmove_14/kernel/xpp/firmwares/FPGA_FXS.hex
    team/tzafrir/kernelmove_14/kernel/xpp/utils/   (props changed)
    team/tzafrir/kernelmove_14/kernel/xpp/utils/Makefile
    team/tzafrir/kernelmove_14/kernel/xpp/utils/fpga_load.c
    team/tzafrir/kernelmove_14/kernel/xpp/utils/genzaptelconf
    team/tzafrir/kernelmove_14/kernel/xpp/utils/hexfile.c
    team/tzafrir/kernelmove_14/kernel/xpp/utils/hexfile.h
    team/tzafrir/kernelmove_14/kernel/xpp/utils/xpp.rules
    team/tzafrir/kernelmove_14/kernel/xpp/utils/xpp_fxloader
    team/tzafrir/kernelmove_14/kernel/xpp/utils/xpp_sync
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zapconf
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zaptel_hardware
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Chans.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Config/Defaults.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Hardware.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Hardware/PCI.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Hardware/USB.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Xpp.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zconf/Zaptel/Xpp/Xbus.pm
    team/tzafrir/kernelmove_14/kernel/xpp/utils/zt_registration
    team/tzafrir/kernelmove_14/kernel/xpp/xbus-core.c
    team/tzafrir/kernelmove_14/kernel/xpp/xbus-core.h
    team/tzafrir/kernelmove_14/kernel/xpp/xdefs.h
    team/tzafrir/kernelmove_14/kernel/xpp/xpd.h
    team/tzafrir/kernelmove_14/kernel/xpp/xpp_usb.c
    team/tzafrir/kernelmove_14/kernel/xpp/xpp_zap.c
    team/tzafrir/kernelmove_14/kernel/xpp/xpp_zap.h
    team/tzafrir/kernelmove_14/kernel/xpp/xproto.c
    team/tzafrir/kernelmove_14/kernel/xpp/xproto.h
    team/tzafrir/kernelmove_14/kernel/xpp/zap_debug.h
    team/tzafrir/kernelmove_14/kernel/zaptel-base.c
    team/tzafrir/kernelmove_14/kernel/zaptel.h
    team/tzafrir/kernelmove_14/kernel/zconfig.h
    team/tzafrir/kernelmove_14/kernel/ztdummy.c
    team/tzafrir/kernelmove_14/kernel/ztdynamic.c
    team/tzafrir/kernelmove_14/makeopts.in
    team/tzafrir/kernelmove_14/patlooptest.c
    team/tzafrir/kernelmove_14/zaptel.init
    team/tzafrir/kernelmove_14/zaptel.sysconfig
    team/tzafrir/kernelmove_14/zonedata.c
    team/tzafrir/kernelmove_14/ztcfg.c
    team/tzafrir/kernelmove_14/zttest.c

Modified: team/tzafrir/kernelmove_14/Makefile.kernel26
URL: http://svn.digium.com/view/zaptel/team/tzafrir/kernelmove_14/Makefile.kernel26?view=diff&rev=3194&r1=3193&r2=3194
==============================================================================
--- team/tzafrir/kernelmove_14/Makefile.kernel26 (original)
+++ team/tzafrir/kernelmove_14/Makefile.kernel26 Sat Oct 27 11:06:16 2007
@@ -1,4 +1,16 @@
+ifdef ECHO_CAN_NAME
+	ECHO_CAN_CFLAGS	:= -DECHO_CAN_FROMENV -DECHO_CAN_$(ECHO_CAN_NAME)
+endif
+
 EXTRA_CFLAGS := -I$(src)
+EXTRA_CFLAGS += $(ECHO_CAN_CFLAGS)
+
+# fix typo present in CentOS and RHEL 2.6.9 kernels
+BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2
+BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp)
+ifneq (,$(filter $(KVERS),$(BAD_KERNELS)))
+EXTRA_CFLAGS+=-Drw_lock_t=rwlock_t
+endif
 
 zaptel-objs := zaptel-base.o
 
@@ -13,3 +25,24 @@
 
 EXTRA_CFLAGS += -DECHO_CAN_HPEC -I$(src)/hpec
 endif
+
+
+# set CONFIG_ZAPTEL_MMX for a number of CPU types.
+# Right now this part is not enabled, unless you build with
+# ZAPTEL_MMX_AUTO=something .
+ZAPMMX_WHITELIST_i386 = M586MMX M686 MPENTIUMII MPENTIUMIII MPENTIUMM \
+			    MPENTIUM4 MVIAC3_2
+
+ZAPMMX_WHITELIST_x86_64 = 
+
+# A list of configuration variables to test: CONFIG_M686 , etc.
+ZAPMMX_CONFIG_VARS := $(ZAPMMX_WHITELIST_$(ARCH):%=CONFIG_%)
+
+# expand them:
+ZAPMMX_CONFIG_VALS := $(strip  $(foreach var,$(ZAPMMX_CONFIG_VARS),$(var))  )
+ifneq (,$(ZAPTEL_MMX_AUTO))
+  ifneq (,$(ZAPMMX_CONFIG_VALS))
+    # TODO: make that 
+    CFLAGS_zaptel-base.o += -DCONFIG_ZAPTEL_MMX
+  endif
+endif

Modified: team/tzafrir/kernelmove_14/README
URL: http://svn.digium.com/view/zaptel/team/tzafrir/kernelmove_14/README?view=diff&rev=3194&r1=3193&r2=3194
==============================================================================
--- team/tzafrir/kernelmove_14/README (original)
+++ team/tzafrir/kernelmove_14/README Sat Oct 27 11:06:16 2007
@@ -10,13 +10,13 @@
 Digital Cards
 ~~~~~~~~~~~~~
 - wct4xxp: 
-  - Digium newer quad-span T1/E1/J1 cards: Wildcard TE420P/TE410P/TE405P 
-  - Digium newer dual-span T1/E1/J1 cards: Wildcard TE220P/TE210P/TE205P 
+  * Digium newer quad-span T1/E1/J1 cards: Wildcard TE420P/TE410P/TE405P 
+  * Digium newer dual-span T1/E1/J1 cards: Wildcard TE220P/TE210P/TE205P 
 - wcte12xp: Digium Wildcard TE120P and the TE122P single-span T1/E1/J1 card
 - wcte11xp: Digium Wildcard TE110P T1/E1/J1
 - wct1xxp: 
-  - Wildcard T100P (old single-span T1)
-  - Wildcard E100P (old single-span E1)
+  * Wildcard T100P (old single-span T1)
+  * Wildcard E100P (old single-span E1)
 - tor2: Tormenta quad-span T1/E1 card from the Zapata Telephony project
 - torisa: The old dual-span ISA T1 card from Zapata Telephony
 
@@ -24,8 +24,8 @@
 Analog Cards
 ~~~~~~~~~~~~
 - wctdm24xxp: 
-  - Digium TDM2400P card: up to 24 analog ports
-  - Digium TDM800P card: up to 8 analog ports
+  * Digium TDM2400P card: up to 24 analog ports
+  * Digium TDM800P card: up to 8 analog ports
 - wctdm: Digium TDM400P card: up to 4 analog ports
 - xpp: Xorcom Astribank: a USB connected unit of up to 32 ports
   (also BRI)
@@ -47,15 +47,15 @@
 You will need a matching kernel source tree and a working Linux build 
 system. Some of the programs require some additional libraries.
 
-The script build_tools/install_prereq should help you install the
+The script install_prereq should help you install the
 required packages. To see what it suggests, run:
 
-  build_tools/install_prereq test
+  ./install_prereq test
 
 You can either copy/paste that code to a terminal to run it, or just
 run:
 
-  build_tools/install_prereq test
+  ./install_prereq install
 
 
 Kernel Source / "Headers"
@@ -74,7 +74,7 @@
   kernel image.
   * On Debian Etch and above and any Ubuntu this is
     +++ linux-headers-`uname -r` +++
-  * On Fedora RHEL and compatibles (e.g. CentOS) this is the
+  * On Fedora, RHEL and compatibles (e.g. CentOS) this is the
     kernel-devel package. Or if you run kernel-smp or kernel-xen, you
     need kernel-smp-devel or kernel-xen-devel, respectively.
   * On SUSE you seem to need the package kernel-source .
@@ -97,8 +97,11 @@
   be selected These can be selected from the "Library Routines" submenu 
   during kernel configuration via "make menuconfig".
 - If you don't have any zaptel hardware, you need ztdummy.
-  * ztdummy on i386/amd64 and later kernels (>= 2.6.15) can (and should)
-    use the system's RTC (Real Time Clock).
+  * ztdummy on i386/x86_64 with kernels >= 2.6.22 can (and should) use 
+    high resolution times (CONFIG_HIGH_RES_TIMERS), and (if available, 
+    the system HPET.
+  * ztdummy on i386/x86_64 and later kernels (>= 2.6.15) can use the 
+    system's RTC (Real Time Clock).
   * Alternatives to that for ztdummy are a UHCI USB controller (USB
     controllers made by Intel or VIA) or a kernel that has HZ=1000
     (default on kernels 2.6.0-2.6.12, optional on newer kernels. Not
@@ -136,7 +139,7 @@
   yum install gcc newt-devel libusb-devel
 
 If the following command produces an error, you need to install
-ithe kernel devel package:
+the kernel devel package:
 
   ls /lib/modules/`uname -r`/build/.config
 
@@ -170,6 +173,93 @@
 ----------------------------------
 
 
+Build Tweaks
+~~~~~~~~~~~~
+Selecting Modules and Utilities
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can select the modules and utilities you wish to build and firmwares
+you wish to download by running `make menuselect` . The selection of modules 
+that you build (or rather: not build) is saved in the file 
+`menuselect.makeopts`. 
+
+
+Extra Modules
+^^^^^^^^^^^^^
+To build extra modules / modules directory not included in the Zaptel 
+distribution, use the optional variables MODULES_EXTRA and
+SUBDIRS_EXTRA:
+
+  make MODULES_EXTRA="mod1 mod2"
+  make MODULES_EXTRA="mod1 mod2" SUBDIRS_EXTRA="subdir1/ subdir1/"
+
+Note that those names are not guaranteed to continue to work on newer
+versions. Hopefully there will be no need for such extra configuration.
+
+Partial Build/Install
+^^^^^^^^^^^^^^^^^^^^^
+There are some make targets that are provided to build or install just
+parts of Zaptel:
+
+. Build targets:
+  - make modules: build just the kernel modules.
+  - make programs: Build just the Zaptel userspace programs. partial 
+    targets of it:
+    * make 'utilname': builds 'utilname' alone (e.g: `make ztdiag`)
+    * make utils: Build libtonezone.
+    * make libs: Build libtonezone.
+. Install targets:
+  - make install-modules: install just kernel modules.
+  - make firmware: download and install firmwares for Digium cards
+  - make install-programs: Userspace: Partial targets of it are:
+    * make install-utils: install Zaptel userspace programs and
+      and basic support files.
+    * make install-libs: install libtonezone
+    * make install-include: install zaptel.h
+  - make config: should be run once to configure 
+
+Building to a Subtree
+^^^^^^^^^^^^^^^^^^^^^
+The following may be useful when testing the package or when preparing a
+package for a binary distribution (such as an rpm package) installing
+onto a subtree rather than on th real system. 
+
+  make install DESTDIR=targetdir
+
+This can be useful for any partial install target of the above (e.g:
+install-modules or install-programs).
+
+the targetdir must be an absolute path, at least if you install the
+modules. To install to a relative path you can use something like:
+
+  make install-modules DESTDIR=$PWD/target
+
+The 'install' target might fail if run as a user to a DESTDIR when
+attempting to generate device files. In that case, try:
+
+  make install DESTDIR=$PWD/target DYNFS=
+
+
+./configure Options
+^^^^^^^^^^^^^^^^^^^
+The configure script various several tests and based on them generates
+some files ( build_tools/menuselect-deps and makeopts). You can pass it
+--with options and variable settings, for instance:
+
+  ./configure --without-ncurses CC="gcc-4.10"
+
+If you just want to recreate the same files without a full detection
+run, use:
+
+  ./config.status
+
+To re-run ./configure with the same parameters it was run with last
+time, use:
+
+  ./ocnfig.status --recheck
+
+
+Configuration
+-------------
 zaptel.conf
 ~~~~~~~~~~~
 The main method to configure Zaptel devices is using the utility
@@ -180,6 +270,22 @@
 installed by default to /etc/zaptel.conf . Edit it to suit your
 configuration. Alternatively use the script genzaptelconf to generate
 one that should work with your system.
+
+
+sysconfig/default
+~~~~~~~~~~~~~~~~~
+The configuration file of the zaptel init.d script is either
+/etc/default/zaptel (Debian systems) or /etc/sysconfig/zaptel (most
+others). That file is used to override defaults that are set at the
+beginning of the init.d script.
+
+For instance, to define for the init.d script to load the modules wctdm
+and xpp_usb (in that order) add the following line to that file:
+
+  MODULES="wctdm xpp_usb"
+
+Currently that file must set "TELEPHONY=yes" for the zaptel init.d to
+work.
 
 
 Zaptel PERL modules
@@ -207,14 +313,30 @@
 (sometimes provided in a package separate from perl itself). For
 instance:
 
-  perldoc ./xpp/utils/xpp_blink
-
-zapconf is currently experimental and intended to eventually replace
-genzaptelconf by a more maintainable code.
-
-
+  perldoc ./xpp/utils/lszaptel
+
+Some of them are specific for the Xorcom Astribank and described in its
+docuemntation. the others are:
+
+lszaptel:: 
+  A somewhat glorified `cat /proc/zaptel/*`.
+zapconf:: 
+  An currently experimental and intended to eventually replace
+  genzaptelconf by a more maintainable code.
+zaptel_drivers::
+  A two-liner script (not installed by default) that simply returns the
+  modules that should be modprobed on this system.
+zaptel_hardware:: 
+  Uses the information from sysfs and its own knowledge to show
+  what PCI/USB Zaptel hardware is connected and if it is currently used
+  by a driver. Shows also some more information for Astrobanks from
+  /proc/xpp .
+
+
+Internals
+---------
 Zaptel Device Files
--------------------
+~~~~~~~~~~~~~~~~~~~
 Userspace programs will usually interact with Zaptel through device
 files under the /dev/zap directory (pedantically: characted device files 
 with major number 196) . Those device files can be generated statically
@@ -238,7 +360,7 @@
 
 
 Zaptel Timing
--------------
+~~~~~~~~~~~~~
 A PBX system should generally have a single clock. If you are connected
 to a telephony provider via a digital interface (e.g: E1, T1) you should
 also typically use the provider's clock (as you get through the
@@ -270,9 +392,15 @@
 of how close it was. Also try running it with the option -v for a
 verbose output.
 
+To check the clock source that is built into ztdummy, you can either
+look at title of its span in /proc/zaptel file for a "source:" in the
+description. Or even run:
+
+  strings zaptel.ko | grep source:
+
 
 Spans and Channels
-------------------
+~~~~~~~~~~~~~~~~~~
 Zaptel provides telephony *channels* to the userspace applications. 
 Those channels are channels are incoreperated into logical units called
 *spans*.
@@ -286,8 +414,8 @@
 generated, and ditto for spans.
 
 
-PROCFS Interface: /proc/zap
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+PROCFS Interface: /proc/zaptel
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 A simple way to get the current list of spans and channels each span
 contains is the files under /proc/zaptel . /proc/zaptel is generated by
 zaptel as it loads. As each span registers to Zaptel, a file under
@@ -300,8 +428,46 @@
 The title line shows the number of the span, its name and title, and 
 (potentially) the alarms in which it is.
 
+The title shows the span number and name, followed by any allarms the
+span may have: For example, here is the first span in my system (with no
+alarms):
+
+  Span 1: XBUS-00/XPD-00 "Xorcom XPD #0/0: FXS"
+
 The channel line for each channel shows its channel number, name and the
-actual signalling assigned to it through ztcfg.
+actual signalling assigned to it through ztcfg. Before being configured
+by ztcfg: This is Zaptel channel 2, whose name is 'XPP_FXS/0/0/1'.
+
+           2 XPP_FXS/0/0/1
+
+After being configured by ztcfg: the signalling 'FXOLS' was added. FXS
+channels have FXO signalling and vice versa:
+
+           2 XPP_FXS/0/0/1 FXOLS
+
+If the channel is in use (typically opened by Asterisk) then you will
+see an extra '(In use)':
+
+           2 XPP_FXS/0/0/1 FXOLS (In use)
+
+PPP Support
+-----------
+Zaptel digital cards can provide data channels through ppp as
+point-to-point connections. This requires a plugin to the ppp daemon
+that is included in the ppp/ subdirectory. To install it:
+
+1. Make sure you have the PPP source / headers installed. On Debian:
+
+   apt-get install ppp-dev
+
+2. Run 'make' on the ppp subdirectory:
+
+   make -C ppp 
+   make -C ppp install
+
+3. Make sure your kernel has support for both PPP (which is common is
+   distribution kernels and for HDLC (much less common) - CONFIG_PPP and
+   CONFIG_HDLC .
 
 
 What is the license for the zaptel driver?
@@ -312,8 +478,7 @@
 
 If you wish to use the zaptel drivers in an application for which the 
 GPL is not appropriate (e.g. a proprietary embedded system), licenses
-under more flexible terms can be readily obtained through Digium, Inc. 
-at reasonable cost.
+under more flexible terms can be readily obtained through Digium, Inc.at reasonable cost.
 
 
 How do I report bugs or contribute?
@@ -329,7 +494,9 @@
 
 Links
 -----
-- http://asterisk.org/ - The Asterisk PBX
-- http://voip-info.org/
-- http://voip-info.org/wiki/view/Asterisk+Zaptel+Installation
-- http://www.zapatatelephony.org/ - A historical site.
+- http://asterisk.org/[] - The Asterisk PBX
+- http://voip-info.org/[]
+- http://voip-info.org/wiki/view/Asterisk+Zaptel+Installation[]
+- http://www.zapatatelephony.org/[] - A historical site.
+- http://rapid.tzafrir.org.il/docs/README.html[Up-to-date HTML version
+  of this file]

Modified: team/tzafrir/kernelmove_14/configure
URL: http://svn.digium.com/view/zaptel/team/tzafrir/kernelmove_14/configure?view=diff&rev=3194&r1=3193&r2=3194
==============================================================================
--- team/tzafrir/kernelmove_14/configure (original)
+++ team/tzafrir/kernelmove_14/configure Sat Oct 27 11:06:16 2007
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 2691 .
+# From configure.ac Revision: 2708 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61.
 #
@@ -687,6 +687,8 @@
 USB_INCLUDE
 PBX_LIBUSB
 USE_SELINUX
+ASCIIDOC
+PPPD_VERSION
 LIBOBJS
 LTLIBOBJS'
 ac_subst_files=''
@@ -1272,6 +1274,7 @@
   --with-newt=PATH        use newt files in PATH
   --with-usb=PATH         use libusb files in PATH
   --with-selinux          enable (with) / disable (without) SELinux
+  --with-ppp=PATH         Use ppp support from PATH
 
 Some influential environment variables:
   CC          C compiler command
@@ -5341,6 +5344,54 @@
 
 fi
 
+
+
+
+
+# for asciidoc before ver. 7, the backend must be stated explicitly:
+ASCIIDOC='asciidoc'
+asciidoc_ver=`asciidoc --version 2>&1 | awk '/^asciidoc /{print $2}' | cut -d. -f 1 | head -n 1`
+if test "$asciidoc_ver" != '' && test $asciidoc_ver -lt 7; then
+	ASCIIDOC="asciidoc -b xhtml"
+fi
+
+
+
+# Check whether --with-ppp was given.
+if test "${with_ppp+set}" = set; then
+  withval=$with_ppp;
+else
+  with_ppp=check
+
+fi
+
+# somebody will fix that
+default_ppp_path=/usr
+
+case "$with_ppp" in
+	yes|check) ppp_path="$default_ppp_path";;
+	no) ppp_path='' ;;
+	*) ppp_path="$with_ppp" ;;
+esac
+
+level_file="$ppp_path/include/pppd/patchlevel.h"
+PPP_VERSION=
+if test "$ppp_path" != '' && test -r "$level_file"; then
+	PPPD_VERSION=`awk -F '"' '/VERSION/ { print $$2; }' $level_file`
+fi
+
+case "$with_ppp" in
+	check|no) :;;
+	*)
+	# If we asked explicitly for ppp support
+	if test "$PPPD_VERSION" = ''; then
+		# but have not detected it
+		{ { echo "$as_me:$LINENO: error: failed to find pppd/patchlevel.h: no ppp support." >&5
+echo "$as_me: error: failed to find pppd/patchlevel.h: no ppp support." >&2;}
+   { (exit 1); exit 1; }; }
+	fi
+	;;
+esac
 
 
 
@@ -6046,11 +6097,13 @@
 USB_INCLUDE!$USB_INCLUDE$ac_delim
 PBX_LIBUSB!$PBX_LIBUSB$ac_delim
 USE_SELINUX!$USE_SELINUX$ac_delim
+ASCIIDOC!$ASCIIDOC$ac_delim
+PPPD_VERSION!$PPPD_VERSION$ac_delim
 LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 72; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 74; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

Modified: team/tzafrir/kernelmove_14/configure.ac
URL: http://svn.digium.com/view/zaptel/team/tzafrir/kernelmove_14/configure.ac?view=diff&rev=3194&r1=3193&r2=3194
==============================================================================
--- team/tzafrir/kernelmove_14/configure.ac (original)
+++ team/tzafrir/kernelmove_14/configure.ac Sat Oct 27 11:06:16 2007
@@ -74,6 +74,48 @@
 
 
 AC_SUBST(USE_SELINUX)
+
+# for asciidoc before ver. 7, the backend must be stated explicitly:
+ASCIIDOC='asciidoc'
+asciidoc_ver=`asciidoc --version 2>&1 | awk '/^asciidoc /{print $2}' | cut -d. -f 1 | head -n 1`
+if test "$asciidoc_ver" != '' && test $asciidoc_ver -lt 7; then
+	ASCIIDOC="asciidoc -b xhtml"
+fi
+AC_SUBST(ASCIIDOC)
+
+AC_ARG_WITH(ppp,
+	    [AS_HELP_STRING([--with-ppp=PATH],[Use ppp support from PATH])],
+	    [],
+	    [with_ppp=check]
+	    )
+# somebody will fix that
+default_ppp_path=/usr
+
+case "$with_ppp" in
+	yes|check) ppp_path="$default_ppp_path";;
+	no) ppp_path='' ;;
+	*) ppp_path="$with_ppp" ;;
+esac
+
+level_file="$ppp_path/include/pppd/patchlevel.h"
+PPP_VERSION=
+if test "$ppp_path" != '' && test -r "$level_file"; then
+	PPPD_VERSION=`awk -F '"' '/VERSION/ { print $$2; }' $level_file`
+fi
+
+case "$with_ppp" in 
+	check|no) :;;
+	*) 
+	# If we asked explicitly for ppp support
+	if test "$PPPD_VERSION" = ''; then
+		# but have not detected it
+		AC_MSG_ERROR(failed to find pppd/patchlevel.h: no ppp support.)
+	fi
+	;;
+esac
+
+AC_SUBST(PPPD_VERSION)
+
 AC_CONFIG_FILES([build_tools/menuselect-deps makeopts])
 AC_OUTPUT
 

Modified: team/tzafrir/kernelmove_14/firmware/Makefile
URL: http://svn.digium.com/view/zaptel/team/tzafrir/kernelmove_14/firmware/Makefile?view=diff&rev=3194&r1=3193&r2=3194
==============================================================================
--- team/tzafrir/kernelmove_14/firmware/Makefile (original)
+++ team/tzafrir/kernelmove_14/firmware/Makefile Sat Oct 27 11:06:16 2007
@@ -22,7 +22,7 @@
 TC400M_VERSION:=MR5.6
 VPMADT032_VERSION:=1.07
 
-FIRMWARE_URL:=http://ftp.digium.com/pub/telephony/firmware/releases
+FIRMWARE_URL:=http://downloads.digium.com/pub/telephony/firmware/releases
 
 # Firmware files should use the naming convention: zaptel-fw-<base name>-<sub name>-<version> or zaptel-fw-<base name>-<version>
 # First example: zaptel-fw-oct6114-064-1.05.01
@@ -40,7 +40,7 @@
 OBJECT_FILES:=$(MENUSELECT_FIRMWARE:FIRMWARE-OCT6114-064=zaptel-fw-oct6114-064.o)
 OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-OCT6114-128=zaptel-fw-oct6114-128.o)
 OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-TC400M=zaptel-fw-tc400m.o)
-#OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-VPMADT032=zaptel-fw-vpmadt032.o)
+OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-VPMADT032=zaptel-fw-vpmadt032.o)
 
 # If "fetch" is used, --continue is not a valid option.
 ifeq ($(WGET),wget)
@@ -63,22 +63,22 @@
 
 # Download and extract firmware tarballs
 zaptel-fw-oct6114-064-%.tar.gz: have_download
-ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ] && ! [ -f $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION) ] ) || ( [ -d $(INSTALL_PREFIX)/lib/firmware ] && ! [ -f $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
+ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(DESTDIR)/usr/lib/hotplug/firmware ] && ! [ -f $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION) ] ) || ( [ -d $(DESTDIR)/lib/firmware ] && ! [ -f $(DESTDIR)/lib/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
 	@echo "Attempting to download $@"
 	@if test ! -f $@; then $(DOWNLOAD) $(WGET_ARGS) $(FIRMWARE_URL)/$@; fi;
 	if test ! -f $@; then exit 1; fi; \
 	(cat $@ | gzip -d | tar -xf -)
 ifeq ($(HOTPLUG_FIRMWARE),yes)
 	@echo "Installing zaptel-fw-oct6114-064.bin to hotplug firmware directories"
-	if [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-oct6114-064.bin $(INSTALL_PREFIX)/usr/lib/hotplug/firmware; \
-		rm -rf $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-064-*; \
-		touch $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION); \
-	fi
-	if [ -d $(INSTALL_PREFIX)/lib/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-oct6114-064.bin $(INSTALL_PREFIX)/lib/firmware; \
-		rm -rf $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-oct6114-064-*; \
-		touch $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION); \
+	if [ -d $(DESTDIR)/usr/lib/hotplug/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-oct6114-064.bin $(DESTDIR)/usr/lib/hotplug/firmware; \
+		rm -rf $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-064-*; \
+		touch $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION); \
+	fi
+	if [ -d $(DESTDIR)/lib/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-oct6114-064.bin $(DESTDIR)/lib/firmware; \
+		rm -rf $(DESTDIR)/lib/firmware/.zaptel-fw-oct6114-064-*; \
+		touch $(DESTDIR)/lib/firmware/.zaptel-fw-oct6114-064-$(OCT6114_064_VERSION); \
 	fi
 endif
 else
@@ -86,22 +86,22 @@
 endif
 
 zaptel-fw-oct6114-128-%.tar.gz: have_download
-ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ] && ! [ -f $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION) ] ) || ( [ -d $(INSTALL_PREFIX)/lib/firmware ] && ! [ -f $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
+ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(DESTDIR)/usr/lib/hotplug/firmware ] && ! [ -f $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION) ] ) || ( [ -d $(DESTDIR)/lib/firmware ] && ! [ -f $(DESTDIR)/lib/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
 	@echo "Attempting to download $@"
 	@if test ! -f $@; then $(DOWNLOAD) $(WGET_ARGS) $(FIRMWARE_URL)/$@; fi;
 	if test ! -f $@; then exit 1; fi; \
 	(cat $@ | gzip -d | tar -xf -)
 ifeq ($(HOTPLUG_FIRMWARE),yes)
 	@echo "Installing zaptel-fw-oct6114-128.bin to hotplug firmware directories"
-	if [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-oct6114-128.bin $(INSTALL_PREFIX)/usr/lib/hotplug/firmware; \
-		rm -rf $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-128-*; \
-		touch $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION); \
-	fi
-	if [ -d $(INSTALL_PREFIX)/lib/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-oct6114-128.bin $(INSTALL_PREFIX)/lib/firmware; \
-		rm -rf $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-oct6114-128-*; \
-		touch $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION); \
+	if [ -d $(DESTDIR)/usr/lib/hotplug/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-oct6114-128.bin $(DESTDIR)/usr/lib/hotplug/firmware; \
+		rm -rf $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-128-*; \
+		touch $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION); \
+	fi
+	if [ -d $(DESTDIR)/lib/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-oct6114-128.bin $(DESTDIR)/lib/firmware; \
+		rm -rf $(DESTDIR)/lib/firmware/.zaptel-fw-oct6114-128-*; \
+		touch $(DESTDIR)/lib/firmware/.zaptel-fw-oct6114-128-$(OCT6114_128_VERSION); \
 	fi
 endif
 else
@@ -109,22 +109,22 @@
 endif
 
 zaptel-fw-tc400m-%.tar.gz: have_download
-ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ] && ! [ -f $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION) ] ) || ( [ -d $(INSTALL_PREFIX)/lib/firmware ] && ! [ -f $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
+ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(DESTDIR)/usr/lib/hotplug/firmware ] && ! [ -f $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION) ] ) || ( [ -d $(DESTDIR)/lib/firmware ] && ! [ -f $(DESTDIR)/lib/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
 	@echo "Attempting to download $@"
 	@if test ! -f $@; then $(DOWNLOAD) $(WGET_ARGS) $(FIRMWARE_URL)/$@; fi;
 	if test ! -f $@; then exit 1; fi; \
 	(cat $@ | gzip -d | tar -xf -)
 ifeq ($(HOTPLUG_FIRMWARE),yes)
 	@echo "Installing zaptel-fw-tc400m.bin to hotplug firmware directories"
-	if [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-tc400m.bin $(INSTALL_PREFIX)/usr/lib/hotplug/firmware; \
-		rm -rf $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-tc400m-*; \
-		touch $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION); \
-	fi
-	if [ -d $(INSTALL_PREFIX)/lib/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-tc400m.bin $(INSTALL_PREFIX)/lib/firmware; \
-		rm -rf $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-tc400m-*; \
-		touch $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION); \
+	if [ -d $(DESTDIR)/usr/lib/hotplug/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-tc400m.bin $(DESTDIR)/usr/lib/hotplug/firmware; \
+		rm -rf $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-tc400m-*; \
+		touch $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION); \
+	fi
+	if [ -d $(DESTDIR)/lib/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-tc400m.bin $(DESTDIR)/lib/firmware; \
+		rm -rf $(DESTDIR)/lib/firmware/.zaptel-fw-tc400m-*; \
+		touch $(DESTDIR)/lib/firmware/.zaptel-fw-tc400m-$(TC400M_VERSION); \
 	fi
 endif
 else
@@ -132,22 +132,22 @@
 endif
 
 zaptel-fw-vpmadt032-%.tar.gz: have_download
-ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ] && ! [ -f $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION) ] ) || ( [ -d $(INSTALL_PREFIX)/lib/firmware ] && ! [ -f $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
+ifeq ($(shell if ( [ "$(HOTPLUG_FIRMWARE)" == "no" ] ) || ( [ -d $(DESTDIR)/usr/lib/hotplug/firmware ] && ! [ -f $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION) ] ) || ( [ -d $(DESTDIR)/lib/firmware ] && ! [ -f $(DESTDIR)/lib/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION) ] ); then echo "yes"; else echo "no"; fi),yes)
 	@echo "Attempting to download $@"
 	@if test ! -f $@; then $(DOWNLOAD) $(WGET_ARGS) $(FIRMWARE_URL)/$@; fi;
 	if test ! -f $@; then exit 1; fi; \
 	(cat $@ | gzip -d | tar -xf -)
 ifeq ($(HOTPLUG_FIRMWARE),yes)
 	@echo "Installing zaptel-fw-vpmadt032.bin to hotplug firmware directories"
-	if [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-vpmadt032.bin $(INSTALL_PREFIX)/usr/lib/hotplug/firmware; \
-		rm -rf $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-vpmadt032-*; \
-		touch $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION); \
-	fi
-	if [ -d $(INSTALL_PREFIX)/lib/firmware ]; then \
-		$(INSTALL) -m 644 zaptel-fw-vpmadt032.bin $(INSTALL_PREFIX)/lib/firmware; \
-		rm -rf $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-vpmadt032-*; \
-		touch $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION); \
+	if [ -d $(DESTDIR)/usr/lib/hotplug/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-vpmadt032.bin $(DESTDIR)/usr/lib/hotplug/firmware; \
+		rm -rf $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-vpmadt032-*; \
+		touch $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION); \
+	fi
+	if [ -d $(DESTDIR)/lib/firmware ]; then \
+		$(INSTALL) -m 644 zaptel-fw-vpmadt032.bin $(DESTDIR)/lib/firmware; \
+		rm -rf $(DESTDIR)/lib/firmware/.zaptel-fw-vpmadt032-*; \
+		touch $(DESTDIR)/lib/firmware/.zaptel-fw-vpmadt032-$(VPMADT032_VERSION); \
 	fi
 endif
 else
@@ -171,13 +171,13 @@
 
 # Uninstall any installed zaptel firmware images from hotplug firmware directories
 hotplug-uninstall:
-	if [ -d $(INSTALL_PREFIX)/usr/lib/hotplug/firmware ]; then \
-		rm -f $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/zaptel-fw-*.bin; \
-		rm -f $(INSTALL_PREFIX)/usr/lib/hotplug/firmware/.zaptel-fw*; \
-	fi
-	if [ -d $(INSTALL_PREFIX)/lib/firmware ]; then \
-		rm -f $(INSTALL_PREFIX)/lib/firmware/zaptel-fw-*.bin; \
-		rm -f $(INSTALL_PREFIX)/lib/firmware/.zaptel-fw*; \
+	if [ -d $(DESTDIR)/usr/lib/hotplug/firmware ]; then \
+		rm -f $(DESTDIR)/usr/lib/hotplug/firmware/zaptel-fw-*.bin; \
+		rm -f $(DESTDIR)/usr/lib/hotplug/firmware/.zaptel-fw*; \
+	fi
+	if [ -d $(DESTDIR)/lib/firmware ]; then \
+		rm -f $(DESTDIR)/lib/firmware/zaptel-fw-*.bin; \
+		rm -f $(DESTDIR)/lib/firmware/.zaptel-fw*; \
 	fi
 
 # Build object file of an oct6114 064 firmware image for linking
@@ -194,3 +194,8 @@
 zaptel-fw-tc400m.o: zaptel-fw-tc400m-$(TC400M_VERSION).tar.gz zaptel-fw-tc400m.bin
 	@echo Making firmware object file for zaptel-fw-tc400m.bin
 	../build_tools/make_firmware_object zaptel-fw-tc400m.bin $@
+
+# Build object file of a VPMADT032 firmware image for linking
+zaptel-fw-vpmadt032.o: zaptel-fw-vpmadt032-$(VPMADT032_VERSION).tar.gz ../wctdm24xxp/base.o zaptel-fw-vpmadt032.bin
+	@echo Making firmware object file for zaptel-fw-vpmadt032.bin
+	../build_tools/make_firmware_object zaptel-fw-vpmadt032.bin $@

Modified: team/tzafrir/kernelmove_14/fxotune.c
URL: http://svn.digium.com/view/zaptel/team/tzafrir/kernelmove_14/fxotune.c?view=diff&rev=3194&r1=3193&r2=3194
==============================================================================
--- team/tzafrir/kernelmove_14/fxotune.c (original)
+++ team/tzafrir/kernelmove_14/fxotune.c Sat Oct 27 11:06:16 2007
@@ -331,11 +331,14 @@
 		return -1;
 	}
 
-	/* read return response */
+retry:
+		/* read return response */
 	res = read(whichzap, inbuf, BUFFER_LENGTH);
 	if (res != BUFFER_LENGTH) {
-		fprintf(stderr, "Could not fill input buffer\n");
-		return -1;
+		int x;
+
+		ioctl(whichzap, ZT_GETEVENT, &x);
+		goto retry;
 	}
 
 	/* write content of output buffer to debug file */
@@ -483,11 +486,14 @@
 			return -1;
 		}
 
+retry:
 		/* read return response */
 		res = read(whichzap, inbuf, BUFFER_LENGTH);
 		if (res != BUFFER_LENGTH) {
-			fprintf(stderr, "Could not fill input buffer - got %d bytes, expected %d bytes\n", res, BUFFER_LENGTH);
-			return -1;
+			int x;
+
+			ioctl(whichzap, ZT_GETEVENT, &x);
+			goto retry;
 		}
 
 		/* calculate RMS of response */
@@ -625,10 +631,14 @@
 			}
 
 			/* read return response */
+retry:
+			/* read return response */
 			res = read(whichzap, inbuf, BUFFER_LENGTH);
 			if (res != BUFFER_LENGTH) {
-				fprintf(stderr, "Could not fill input buffer\n");
-				return -1;
+				int x;
+	
+				ioctl(whichzap, ZT_GETEVENT, &x);
+				goto retry;
 			}
 
 			/* calculate power of response */
@@ -738,7 +748,8 @@
 
 	fclose(fp);
 
-	fprintf(stdout, "fxotune: successfully set echo coeffecients on FXO modules\n");
+	if (debug)
+		fprintf(stdout, "fxotune: successfully set echo coeffecients on FXO modules\n");
 	return 0;	
 }
 
@@ -813,10 +824,10 @@
 	char zapdev[80] = "";
 	struct wctdm_echo_coefs coefs;
 	
-	configfd = open(configfile, O_CREAT|O_TRUNC|O_WRONLY);
+	configfd = open(configfile, O_CREAT|O_TRUNC|O_WRONLY, 0666);

[... 17599 lines stripped ...]



More information about the zaptel-commits mailing list