DAHDi service running, but message 'DAHDi Doesn't appear to be running' in config

Hi,

I’ve just started working with FreePBX and Asterisk, so I am a bit green. I’ll try to provide as much info as possible.

My servers are Ubuntu based with the special proviso that I am using LXC to isolate my services onto separate servers and provide me with portability and redundancy. LXC for those who are unfamiliar is:

LXC (LinuX Containers) is an operating system–level virtualization method for running multiple isolated Linux systems (containers) on a single control host. The Linux kernel comprises cgroups for resource isolation (CPU, memory, block I/O, network, etc.) that does not require starting any virtual machines.

Everything is working fine except for DAHDi. There are specific instructions for using DAHDi cards in LXC which I have followed, but essentially DAHDi is installed on both the host and the container and /dev/dahdi is mapped from host to container. I am not the first to do this, and others have had success.

The dahdi service is running on the container. service dahdi status shows

    ### Span  1: WCTDM/0 "Wildcard AEX410" (MASTER) 
  1 FXO        FXSKS       (EC: MG2 - INACTIVE)  
  2 FXO        FXSKS       (EC: MG2 - INACTIVE)  
  3 FXO        FXSKS       (EC: MG2 - INACTIVE)  RED
  4 FXO        FXSKS       (EC: MG2 - INACTIVE)  RED

/dev/dahdi is present and owned by asterisk user:

lrwxrwxrwx 1 asterisk asterisk       12 Jul 10 14:06 1 -> chan/001/001
lrwxrwxrwx 1 asterisk asterisk       12 Jul 10 14:06 2 -> chan/001/002
lrwxrwxrwx 1 asterisk asterisk       12 Jul 10 14:06 3 -> chan/001/003
lrwxrwxrwx 1 asterisk asterisk       12 Jul 10 14:06 4 -> chan/001/004
drwxr-xr-x 3 asterisk asterisk     4096 Jun 25 18:00 chan
crw-rw---- 1 asterisk asterisk 196, 254 Jul 10 14:06 channel
crw-rw---- 1 asterisk asterisk 196,   0 Jul 10 14:06 ctl
drwxr-xr-x 2 asterisk asterisk     4096 Jul 10 14:06 devices
crw-rw---- 1 asterisk asterisk 196, 255 Jul 10 14:06 pseudo
crw-rw---- 1 asterisk asterisk 196, 253 Jul 10 14:06 timer
crw-rw---- 1 asterisk asterisk 196, 250 Jul 10 14:06 transcode

dahdi_hardware

pci:0000:0e:08.0     wctdm24xxp+  d161:8006 Wildcard AEX410P

dahdi_scan

[1]
active=yes
alarms=OK
description=Wildcard AEX410
name=WCTDM/0
manufacturer=Digium
devicetype=Wildcard AEX410
location=PCI Express Bus 14 Slot 09
basechan=1
totchans=4
irq=0
type=analog
port=1,FXO
port=2,FXO
port=3,FXO
port=4,FXO

So far it looks like what I’ve read it’s supposed to, however, when I try dahdi_cfg -vvvvv

DAHDI Tools Version - 2.9.1
DAHDI Version: 2.9.1.1
Echo Canceller(s): MG2
Configuration
======================
Channel map:
Channel 01: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 02)
Channel 03: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 03)
Channel 04: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 04)
4 channels to configure.
Setting echocan for channel 1 to oslec
DAHDI_ATTACH_ECHOCAN failed on channel 1: Invalid argument (22)

The FreePBX DAHDI Config page shows Analog Hardware

Type	Ports	Action
FXO Ports	1,2,3,4	Edit
FXS Ports	--	

but there is a big warning at the top: DAHDi Doesn’t appear to be running. Click the ‘Restart/Reload Dahdi Button’ Below. Restart/Reload doesn’t remedy it.

I’ve tried executing ‘dahdi show status’ but get No such command ‘dahdi show status’ (type ‘core show help dahdi show’ for other possible commands). The Asterisk full report shows the same.

I’ve been reading other forums on DAHDi and possible solutions, but many involve changing config files and most have very clear headers stating to use the FreePBX web to configure and not to edit the files.

Can anyone point me in the right direction? My PBX is working well otherwise and I really would like to keep it on an LXC.

Thanks

Just to add to my previous post.

I followed through with the DAHDI_ATTACH_ECHOCAN failed on channel 1: Invalid argument (22) error and disabled echo cancellation to see if this was the problem. The error cleaned up, but the rest of the problem remained.

There are two devices that need to appear in the virtual machine and be owned by asterisk:-

/dev/dahdi/ctl
/dev/dahdi/timer

Also the module checks dahdi status through asterisk of which you haven’t provided any information. You can have dahdi running but not running in asterisk

(and in your case also /dev/dahdi/echo )

I am actually having the same exact issue right now. They are showing as FXS ports in the dahdi_cfg -vvvvv cmd but in the interface they are showing as FXO ports.

I have the same error message and cant get rid of it.

Are you also using Ubuntu and LXC?

I am actually using a PBXact system with a sangoma card. But i assume its the same issue.

I doubt it. He was trying to communicate with a card at the “base” layer but was operating his Asterisk in an LXC Virtual Machine. You are running a card on base hardware with a single Asterisk instance talking directly to the card.

Since it’s PBXact, I think you should follow the commercial support track. They should be able to help you troubleshoot and solve the problem pretty quickly. That’s why you bought the full system instead of setting it up yourself, wasn’t it?

Yes but we still pay for it! :slight_smile: