DAHDI module not loading (SOLVED, but a bug)

Installed FreePBX Distro (2.210.62.2 64-bit) and updated with “yum update”.
chan_dahdi.so module will not load into asterisk. I tried installing ss7* and libopen* as suggested by some, but still no joy.

Here is a list of RPMs:

[root@sfo-asterisk-tel-02 ~]# rpm -q -a dahdi-linux
dahdi-linux-2.6.1-13_centos6.x86_64
[root@sfo-asterisk-tel-02 ~]# rpm -q -a freepbx*
freepbx-2.10.0-99.noarch
freepbxdistro-header-2.10.0-5.noarch
[root@sfo-asterisk-tel-02 ~]# rpm -q -a asterisk*

asterisk10-core-10.11.1-75_centos6.x86_64
asterisk10-addons-mysql-10.11.1-75_centos6.x86_64
asterisk10-dahdi-10.11.1-75_centos6.x86_64
asterisk10-10.11.1-75_centos6.x86_64

asterisk10-addons-core-10.11.1-75_centos6.x86_64

asterisk10-addons-10.11.1-75_centos6.x86_64

[root@sfo-asterisk-tel-02 ~]# rpm -q -a kernel*
kernel-firmware-2.6.32-220.13.1.el6.noarch
kernel-headers-2.6.32-220.13.1.el6.x86_64
kernel-devel-2.6.32-220.13.1.el6.x86_64
kernel-2.6.32-220.13.1.el6.x86_64
[root@sfo-asterisk-tel-02 ~]# rpm -q -a wanpipe*
wanpipe-3.5.28.5-kernel.2.6.32.220.13.1.el6.dahdi.2.6.1.rel.15.x86_64

I tried manually loading the module:
sfo-asterisk-tel-02*CLI> module load chan_dahdi.so
Unable to load module chan_dahdi.so
Command ‘module load chan_dahdi.so’ failed.

I ran depmod (which was a problem I already ran into getting the sip module to load.)

Dahdi seems to be running fine:

[root@sfo-asterisk-tel-02 ~]# dahdi_cfg -vvvvvvv
DAHDI Tools Version - 2.6.1

DAHDI Version: 2.6.1
Echo Canceller(s): HWEC
Configuration

SPAN 1: ESF/B8ZS Build-out: 0 db (CSU)/0-133 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 02)
Channel 03: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 03)
Channel 04: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 04)
Channel 05: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 05)
Channel 06: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 06)
Channel 07: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 07)
Channel 08: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 08)
Channel 09: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 09)
Channel 10: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 10)
Channel 11: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 11)
Channel 12: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 12)
Channel 13: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 13)
Channel 14: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 14)
Channel 15: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 15)
Channel 16: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 16)
Channel 17: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 17)
Channel 18: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 18)
Channel 19: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 19)
Channel 20: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 20)
Channel 21: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 21)
Channel 22: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 22)
Channel 23: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 23)
Channel 24: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 24)

24 channels to configure.

Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to mg2
Setting echocan for channel 4 to mg2
Setting echocan for channel 5 to mg2
Setting echocan for channel 6 to mg2
Setting echocan for channel 7 to mg2
Setting echocan for channel 8 to mg2
Setting echocan for channel 9 to mg2
Setting echocan for channel 10 to mg2
Setting echocan for channel 11 to mg2
Setting echocan for channel 12 to mg2
Setting echocan for channel 13 to mg2
Setting echocan for channel 14 to mg2
Setting echocan for channel 15 to mg2
Setting echocan for channel 16 to mg2
Setting echocan for channel 17 to mg2
Setting echocan for channel 18 to mg2
Setting echocan for channel 19 to mg2
Setting echocan for channel 20 to mg2
Setting echocan for channel 21 to mg2
Setting echocan for channel 22 to mg2
Setting echocan for channel 23 to mg2
Setting echocan for channel 24 to none
[root@sfo-asterisk-tel-02 ~]#

[root@sfo-asterisk-tel-02 ~]# modprobe -l | grep dahdi
dahdi/tor3/tor3e.ko
dahdi/voicebus/dahdi_voicebus.ko
dahdi/dahdi_echocan_sec2.ko
dahdi/xpp/xpd_pri.ko
dahdi/xpp/xpp_usb.ko
dahdi/xpp/xpd_fxs.ko
dahdi/xpp/xpd_fxo.ko
dahdi/xpp/xpd_bri.ko
dahdi/xpp/xpd_echo.ko
dahdi/xpp/xpp.ko
dahdi/wcfxo.ko
dahdi/dahdi_dynamic_loc.ko
dahdi/wcte11xp.ko
dahdi/tor2.ko
dahdi/dahdi_echocan_mg2.ko
dahdi/wctdm24xxp/wctdm24xxp.ko
dahdi/dahdi_echocan_kb1.ko
dahdi/wcte12xp/wcte12xp.ko
dahdi/rhino/rxt1/rxt1.ko
dahdi/rhino/rcbfx/rcbfx.ko
dahdi/rhino/r1t1/r1t1.ko
dahdi/pciradio.ko
dahdi/opvxd115/opvxd115.ko
dahdi/opvxa1200/opvxa1200.ko
dahdi/wct4xxp/wct4xxp.ko
dahdi/wctdm.ko
dahdi/dahdi_dynamic_ethmf.ko
dahdi/dahdi_echocan_jpah.ko
dahdi/dahdi_transcode.ko
dahdi/wctc4xxp/wctc4xxp.ko
dahdi/wct1xxp.ko
dahdi/dahdi_dynamic_eth.ko
dahdi/dahdi_dynamic.ko
dahdi/dahdi_echocan_sec.ko
dahdi/dahdi_echocan_oslec.ko
dahdi/zaphfc/zaphfc.ko
dahdi/opvxa24xx/opvxa24xx.ko
dahdi/dahdi.ko
dahdi/wcb4xxp/wcb4xxp.ko
dahdi/wcb4xxp/opvxec.ko

I just re-ran setup-sangoma, but the problem persists.

Just found the issue – saw these messages in /var/log/asterisk/full:

[2013-01-16 19:34:50] WARNING[5525] loader.c: Error loading module ‘chan_dahdi.so’: libwat.so.1.0.24: cannot open shared object file: No such file or directory

So did a “yum install libwat*” and now dahdi loads correctly.

Looks like a bug somewhere.

Isn’t the yum update method to be avoided (it isn’t 100% safe) ? in other terms…shouldn’t we use the script update method instead (to update from 2.210.62-2 to -3 and then, finally and eventually, to -4) once it is available by development ?

I have another thread open about DAHDI Config module into FreePBX Distro but my doubts are more focused on the best and correct way to configure it (WebGUI ? Linux CLI ? relationship/rules to observe between those methods ?) when a system has a digital hardware to connect to PSTN (specifically a no brand one port ISDN PCI card Cologne Chip HFC based). The theme should be the same with analog hardware cards.

Best regards, Davide.

I appreciate the feedback and apologize about any issues you encountered. The safest way to do updates in the future are by running the upgrade scripts instead of doing a blind yum update. However with that said to prevent this issue in future releases, dahdi-linux will depend on libwat.

I was assuming since the yum repos are under FreePBX/Smooze control – only safe/tested RPMs would be placed in them. How do we ensure we have security patches in place if we can’t “yjm update” on a schedule, or after a security release?

Is their a doc I have missed about upgrade scripts? I’m not looking for upgrading to a new version, just patches.

tirvin,
As new versions are coming out we are rolling new RPMs and providing update scripts. You can find more information about updating the FreePBX Distro at http://wiki.freepbx.org/display/FD/Updating+FreePBX+Official+Distro

How do we get security patches (kernel or otherwise)? For an upgrade I understand using the scripts, but if we just want to make sure we have a patched system what is the best way to do that?

You use the scripts to get security updates. Their is no standalone security updates. The scripts update things.

Thanks Tony for the info.
Wouldn’t it make sense to remove the RPMs from the FreePBX maintained yum repos for those packages that shouldn’t be updated? We could still use yum to install new packages, but updating packages like asterisk, dahdi, wanpipe, the kernel, etc. wouldn’t be possible if those packages aren’t included in the repo (or if they are included in a repo that isn’t “enabled” then we can get to them if needed, but not by default).

If you are looking for an easy way to keep your system updated you should consider adding the SysAdmin Pro module to your server, no need to worry about yum updates or manually loading the scripts.
“Update Management - The Updates Management module allows you to at a glance check your current system version, view available updates, and schedule when updates are to be applied to the system. You can also watch the upgrade process in progress.”

SysAdmin Pro wiki page.