DAHDI-Linux 2.6.0 and DAHDI-Tools 2.6.0 Released

Home » Asterisk Users » DAHDI-Linux 2.6.0 and DAHDI-Tools 2.6.0 Released
Asterisk Users 1 Comment

The Asterisk Development Team is pleased to announce the first
release of DAHDI-Linux 2.6.0 and DAHDI-Tools 2.6.0.

2.6.0 is a feature release which:

– Adds support for the TE820 8-span card to the wct4xxp driver.

– Decrease load time of analog cards supported by the wctdm24xxp

– Adds sysfs object model to facilitate persistent span numbering
and early loading of modules (NOTE: by default this release
still behaves like previous releases with regards to span
numbering assignment).

– dahdi_pcap tool is now included in DAHDI-tools but not compiled
by default since it depends on a currently unsupported interface
in DAHDI-Linux. It is intended that in future releases this will
be compiled by default.

Issues closed in this release:

DAHTOOL-49: adding pcap support to Dahdi
(Reported by: Torrey Searle)
DAHLIN-258: weird sound with a native bridged isdn-bri connection
(Reported by: Daniel)
DAHLIN-264: xpp: E1 CAS multiframe bits not properly set

DAHDI-Linux 2.6.0, DAHDI-Tools 2.6.0, and DAHDI-Linux-Complete
2.6.0+2.6.0 are available for immediate download at:


The DAHDI-Linux shortlog of changes that are not in

Doug Bailey:
wctdm24xxp, wcte12xp: Update VPMOCT032 firmware to 1.12.0.

Tzafrir Cohen:
Avoid building PCI devices if kernel has no PCI
xpp: Allow up to 128 Astribanks on a system
xpp: increase command queue length to 1500
xpp: USB_FW rev 10085: fix regression from r10013
xpp: PIC_TYPE_1 rev 9841: followup to r10013
bugfix: off-by-one in span assignment
xpp: USB firmware r9964: minor bugfixes
xpp: bugfix: clear NOTOPEN span alarm on assign
xpp: bugfix — manage xpd refcount for EC module
xpp: Adaptations for E-Main-3
xpp: remove leftovers of old XPD_STATE method
README: Minor additions regarding pinned-spans
README: initial update for span assignments
dahdi: Add error messages in dahdi_ioctl_chanconfig.
xpp: fix FXS D DTMF detection (not zero)
xpp: fix bashism in xpp_debug
live_dahdi: optionally generate FreePBX DB entries

Matthew Fredrickson:
wct4xxp: Add support for TE820 and VPMOCT256.

Russ Meyerriecks:
wct4xxp: Remove vpm400 support.
wct4xxp: Revise vpm struct due to product name changes
wct4xxp: Handle incorrect vpm module/card pairings
wct4xxp: minor: Removed unnecessary instrumentation
wct4xxp: Expose serial number in dahdi_device and kernel log.
wct4xxp: Add field upgradable firmware support for TE820.
wcte12xp, wctdm24xxp: Remove frowny face from vpmoct032 error message

Oron Peled:
xpp: BRI: batch D-Channel packets to fix frag.
xpp: BRI: split multibyte functionality
xpp: BRI: remove trivial BRISTUFF wrappers
xpp: BRI: remove legacy BRISTUFF code
xpp: bad module_put() when too many Astribanks
DAHDI-linux: Fix “surprise removal” problems
xpp: BRI: fix timing priority calculation
xpp: FXS: mwi and search_fsk fixes
xpp: PRI: restore pri_protocol to R/W:
xpp: pri: fix RS1 init in E1 CAS mode
xpp: fxs: demote SETPOLARITY message to DBG()
xpp: silence some bad ioctl() reporting
xpp: restore backward compat dahdi_registration
Extra debugging aids and messages
xpp: cleanup some printk()’s
added ‘basechan’ and ‘channels’ attributes to spans
dahdi: Give userspace a chance to respond to surprise removal.
xpp: Remove dahdi_autoreg parameter:
xpp: more informative span description:
xpp: make unregistration safer (idempotent)
xpp: adapt to ‘location’ attribute removal:
xpp: PRI: use DAHDI new set_spantype() method
dahdi: Expose spans in sysfs.
dahdi: dahdi_is_analog_span() -> dahdi_is_digital_span()
dahdi: start handling “surprise device removal”.

Shaun Ruffell:
wctdm24xxp: Fix bug if hook state on FXS changes before channel configuration.
wct4xxp: Reduce time spent waiting for auth done bit on TE820.
wct4xxp: Fail startup if not generating interrupts.
dahdi: Return dahdi_span_ops.startup callback errors to userspace.
wctdm24xxp: Do not call voicebus_release() before wctdm_back_out_gracefully()
dahdi: #include in dahdi/kernel.h and GpakCust.h
wctc4xxp: Replace ‘ndo_set_multicast_list’ with ‘set_rx_mode’
wctdm24xxp: Wait for background threads to complete on failed load.
dahdi: Unregister dahdi_device from sysfs if we fail to auto assign spans.
dahdi: Fix typo in previous commit which forced some spans to always fail assignment.
dahdi: First span registered becomes master by default.
dahdi: Define POLLRDHUP on kernels < 2.6.17
wctdm24xxp, wcte12xp: Allow VPMADT032 commands more time to complete.
wct4xxp: Allow linemode (T1/E1/J1) to be changed via sysfs attribute.
wcte12xp: Allow linemode (T1/E1) to be changed via sysfs attribute.
dahdi: Allow ‘spantype’ to be changed before span assignement via sysfs.
dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device.
dahdi: Expose dahdi devices in sysfs.
dahdi: Register devices instead of individual spans.
wct4xxp: Deprecate ‘t1e1override’ module parameter in favor of ‘default_linemode’.
wct4xxp: Refactor t4_serial_setup() to remove t4.globalconfig.
wct4xxp: Trivial. Use ARRAY_SIZE in free_wc() and __handle_leds().
wct4xxp: Atomically perform some read/modify/write operations
wct4xxp: Fix spelling
wct4xxp: Change t4_span.spantype to linemode.
wct4xxp: Trivial refactoring in t4_init_one().
wct4xxp: Add has_e1_span() helper.
wcte12xp: Deprecate ‘t1e1override’ module parameter in favor of ‘default_linemode’.
wct4xxp: Remove redundant ‘vpm’ from struct t4.
wct4xxp: Remove unused debugging code
wct4xxp: Turn off the fancy alarm LEDS.
wct4xxp: Hold a pointer to the devtype directly
wct4xxp: Remove unused fields from ‘struct t4’ and ‘struct t4_span’
wct4xxp: Remove prefetching support.
wct4xxp: Use in-hardirq version of dahdi_receive/transmit.
wct4xxp: __t4_framer_in and __t4_framer_out speedups.
wct4xxp: Remove ‘pedanticpci’ module parameter.
wct4xxp: Remove some debug information from the kernel logs.
wct4xxp: Slow down the rate we poll the framers in alarm.
wct4xxp: Move “hardware DTMF disabled” message from dev_notice -> dev_info
wctdm24xxp: Remove DEBOUNCING_RINGING_OFF from ring_detector_state enum.
wctdm24xxp: Setup all VPMADT032 channels on hybrid cards.
dahdi: Add functions for determining spantype (E1/T1) to include/dahdi/kernel.h
dahdi: Define pr_xxx macros if not already defined.
wcte12xp: Set uncollected performance counters to -1.
wct4xxp: Remove unused t4_span.psync and t4_span.redalarms.
wctdm24xxp: Remove fwringdetect module parameter.
wctdm24xxp: Use interval for debouncing FXO polarity detection.
wctdm24xxp: Use interval for debouncing FXO battery.
wctdm24xxp: Use time interval for debouncing FXO ring detect.
wctdm24xxp: Use interval for checking FXS on hook transfer timer.
wctdm24xxp: ‘oppending_ms’ shouldn’t assume being checked at 1ms intervals.
wctdm24xxp: Name the shadow registers for each modules.
wctdm24xxp: Change intcount to framecount.
wctdm24xxp: Use fact that handle_transmit/receive are called in hard-irq
wctdm24xxp: Protect creation / destruction of VPM instance.
wctdm24xxp: Reset the polarity debounce setting when battery is lost.
wctdm24xxp: Probe for and configure modules in parallel.
wctdm24xxp: Introduce bg_create/bg_join.
wcte12xp: Abort driver bind if read/write test fails.

The DAHDI-Linux diffstat from the release:

README | 176 ++-
build_tools/live_dahdi | 4 +
drivers/dahdi/Kbuild | 2 +
drivers/dahdi/dahdi-base.c | 872 +++++–
drivers/dahdi/dahdi-sysfs.c | 666 +++++
drivers/dahdi/dahdi.h | 24 +
drivers/dahdi/dahdi_dynamic.c | 10 +-
drivers/dahdi/firmware/Makefile | 36 +-
…/oct612x/include/oct6100api/oct6100_defines.h | 2 +-
drivers/dahdi/pciradio.c | 7 +-
drivers/dahdi/tor2.c | 42 +-
drivers/dahdi/voicebus/GpakCust.c | 4 +-
drivers/dahdi/voicebus/GpakCust.h | 1 +
drivers/dahdi/voicebus/voicebus.c | 2 +-
drivers/dahdi/voicebus/vpmoct.c | 2 +-
drivers/dahdi/wcb4xxp/base.c | 45 +-
drivers/dahdi/wcb4xxp/wcb4xxp.h | 1 +
drivers/dahdi/wcfxo.c | 27 +-
drivers/dahdi/wct1xxp.c | 27 +-
drivers/dahdi/wct4xxp/Kbuild | 5 +-
drivers/dahdi/wct4xxp/base.c | 2870 +++++++++++———
drivers/dahdi/wct4xxp/vpm450m.c | 34 +-
drivers/dahdi/wct4xxp/wct4xxp.h | 22 +-
drivers/dahdi/wctc4xxp/base.c | 14 +
drivers/dahdi/wctdm.c | 39 +-
drivers/dahdi/wctdm24xxp/base.c | 1377 ++++++—-
drivers/dahdi/wctdm24xxp/wctdm24xxp.h | 63 +-
drivers/dahdi/wcte11xp.c | 28 +-
drivers/dahdi/wcte12xp/base.c | 399 ++-
drivers/dahdi/wcte12xp/wcte12xp.h | 8 +-
drivers/dahdi/xpp/card_bri.c | 432 +–
drivers/dahdi/xpp/card_fxo.h | 1 –
drivers/dahdi/xpp/card_fxs.c | 57 +-
drivers/dahdi/xpp/card_fxs.h | 1 –
drivers/dahdi/xpp/card_global.c | 77 +-
drivers/dahdi/xpp/card_pri.c | 131 +-
drivers/dahdi/xpp/firmwares/PIC_TYPE_1.hex | 856 +++—
drivers/dahdi/xpp/firmwares/USB_FW.hex | 1133 ++++—-
drivers/dahdi/xpp/init_card_1_30 | 15 +-
drivers/dahdi/xpp/xbus-core.c | 108 +-
drivers/dahdi/xpp/xbus-core.h | 11 +-
drivers/dahdi/xpp/xbus-sysfs.c | 60 +-
drivers/dahdi/xpp/xpp_dahdi.c | 270 +–
drivers/dahdi/xpp/xpp_dahdi.h | 10 +-
drivers/dahdi/xpp/xpp_debug | 15 +-
drivers/dahdi/xpp/xpp_usb.c | 6 +
include/dahdi/kernel.h | 116 +-
47 files changed, 6332 insertions(+), 3776 deletions(-)

The DAHDI-Tools short log from

Tzafrir Cohen:
xpp: two extra product IDs: 1112, 1164
xpp: xpp_fxloader: regressions from r10348
DAHDI-perl: Fix PCI ID for Rhino R4T1 (0b0b:0305)
xpp: recovery firmware in xpp_fxloader
xpp: Serialized Parallel load; E-Main-3 firmware
xpp: astribank_hexload: we need more lines
Fix GCC 4.6 “set but not used” warnings
dahdi_cfg: add ‘-S ‘ and ‘-C
dahdi_perl: Use $Dahdi::sys_base for sysfs pathes
xpp_order generator: ignore EC XPD
chandahdi gen: extens can have any num of digits
Typos in man pages: toolyou
Man page for dahdi_maint
Update the dahdi-monitor man page
fix typos in some xpp utils
dahdi-perl: Also get USB loaded driver from usbfs
dahdi-perl: Freepbxdb config generator

Russ Meyerriecks:
dahdi_pcap: Imported user space utility for managing pcap streams

Shaun Ruffell:
dahdi_genconf: Allow it to recognize the TE8xx 8-port cards.
dahdi_test: Enforce range from 0.0% – 100.0% for accuracy.
dahdi_maint: Print ‘unsupported’ warning if framing errors is -1.

Jira Issues: DAHTOOL-56, DAHTOOL-49

The DAHDI-Tools diffstat from the

Makefile | 4 +
dahdi_cfg.c | 155 ++++++++–
dahdi_maint.c | 14 +-
dahdi_pcap.c | 332 +++++++++++++++++++++
dahdi_test.c | 43 ++-
doc/dahdi_cfg.8 | 16 +-
doc/dahdi_maint.8 | 62 ++++
doc/dahdi_monitor.8 | 124 ++++++++-
xpp/astribank_allow.8 | 2 +-
xpp/astribank_hexload.8 | 2 +-
xpp/astribank_hexload.c | 24 +-
xpp/astribank_tool.8 | 2 +-
xpp/astribank_usb.c | 2 +
xpp/dahdi_genconf | 10 +-
xpp/dahdi_hardware | 6 +-
xpp/lsdahdi | 2 +-
xpp/perl_modules/Dahdi/Config/Gen/Chandahdi.pm | 4 +-
xpp/perl_modules/Dahdi/Config/Gen/Freepbxdb.pm | 116 ++++++++
xpp/perl_modules/Dahdi/Config/Gen/Xpporder.pm | 2 +-
xpp/perl_modules/Dahdi/Hardware/PCI.pm | 4 +-
xpp/perl_modules/Dahdi/Hardware/USB.pm | 6 +
xpp/perl_modules/Dahdi/Span.pm | 2 +-
xpp/xpp_fxloader | 367 +++++++++++++++++——-
xpp/xtalk/xusb.c | 144 +++++++++-
24 files changed, 1238 insertions(+), 207 deletions(-)

For a full list of changes in these releases, please see the ChangeLog at
http://svn.asterisk.org/svn/dahdi/linux/tags/2.6.0/ChangeLog and
http://svn.asterisk.org/svn/dahdi/tools/tags/2.6.0/ChangeLog .

Issues found in this release can be reported in the DAHDI-Linux [1] and
DAHDI-Tools [2] projects at https://issues.asterisk.org/jira

[1] https://issues.asterisk.org/jira/browse/DAHLIN
[2] https://issues.asterisk.org/jira/browse/DAHTOOL

Thank you for your continued support of Asterisk!

One thought on - DAHDI-Linux 2.6.0 and DAHDI-Tools 2.6.0 Released

  • On Wed, Jan 4, 2012 at 4:45 PM, Asterisk Development Team

    This is VERY exciting news. Thank you very much!

    So much easier than having to schedule time to open a box when you
    forgot to write down the serial number when doing the rack-and-stack.