DAHDI installing problem

Hello
i am installing asterisk on centos 7 64bit
everything went smooth except for Dahdi installing, i dont have the hardware yet just ill install it soon so i want everything to be ready,
i followed the steps i installed it first.downloaded and unzipped then make , make install , make config
as the document says
and i did the same for libpri

i got everything else installed and working properly except for dahdi!
i tried to start the service this is what i get:
Failed to start dahdi.service: Unit dahdi.service failed to load: No such file or directory.

when i tried in asterisk to show dahdi version i got
Failed to open control file to get version.

i dont know why i cant get it running, i tried redoing the steps the same thing!
any idea?

If you are using the latest version Try installing an older version

The usual reason for failing to start dahdi is that there is a mismatch between the kernel version running and the one for which dahdi was built, although it sounds like you have a more fundamental install failure here.

I have the same problem.

After ā€œmake configā€ the script start / stop dahdi was not created in /etc/init.d/

I used the current version of dahdi-linux-complete, the 2.11.1 + 2.11.1, also tried to 2.11.0 + 2.11.0 but the problem persists. Do you have any version to indicate?

Debian jessie, 3.16.7 Kernel (uname -r: 3.16.0-4-amd64)

It is important that the kernel version being used match exactly that of the kernel source being installed. You can use uname -a to verify the currently running kernel version:

CentOS: sudo yum install kernel-devel-uname -r

Ubuntu: sudo apt-get install linux-headers-`uname -r

Starting with DAHDI-Linux-complete version 2.8.0+2.8.0, all files necessary to install DAHDI are available in the complete tarball. Therefore, all you need to do to install DAHDI is:

cd /usr/src/dahdi-linux-complete (Assuming this is the path wher dahdi tarball is located).

make && make install && make config

service dahdi start (centos)
/etc/init.d/dahdi start (Debian)

you are correct! i get installation errors when i do make config
my current kernel is
3.10.0-327.10.1.el7.x86_64

how to get a dahdi driver to work on my kernel :< ?

version 2.8.0 given by
ambiorixg12 worked !
thanks !!!

Iā€™m having the exact same problem, same kernel.

How does one check which version of dahdi is compatible with which kernel???

And whats the best fix for this problem???

the output Iā€™m getting

make all && make install && make config
make -C linux all
make[1]: Entering directory /usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux' make -C drivstrong texters/dahdi/firmware firmware-loaders make[2]: Entering directory/usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux/drivers/dahdi/firmwareā€™
make[2]: Leaving directory /usr/src/dahdi-linux-complete-2.11.1+2.11.1/linux/drivers/dahdi/firmware' **You do not appear to have the sources for the 3.10.0-229.el7.x86_64 kernel installed.** make[1]: *** [modules] Error 1 make[1]: Leaving directory/usr/src/dahdi-linux-complete-2.11.1+2.11.1/linuxā€™
make: *** [all] Error 2

You need to install the kernel-devel package that matches the kernel that is actually running (not necessarily the latest available one, which is what you will get by default).

Hi David5551

I have tried:

yum install kernel-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

You must install the version that matches the kernel, not the latest version. Alternatively change your booting configuration to boot the latest kernel, or specify a specific kernel version when you run make (Iā€™ve done this but donā€™t have access to the system on which I did it, at the moment).

David, being a novice linux user Iā€™m not sure what you mean by ā€œinstall the version that matches the kernELā€. If you mean match DAHDI version to kernel then how would I find this information??

From the error reported, your booted kernel version is 3.10.0-229.el7.x86_64. The uname command can also provide this information. You need to install the kernel-devel package with that version.

According to the yum output, your current kernel-devel package is kernel-devel-3.10.0-327.10.1.el7.x86_64, so the alternative is to install that version of the kernel, or, if installed, to alter your boot configurationā€¦ Iā€™m writing this on Debian so cannot quickly check where you set the booted kernel version manually.

Tried installing everything again and dahdi seems to have installed but wont start!!!

uname -r = 3.10.0-327.10.1.el7.x86_64

/lib/modules/3.10.0-327.10.1.el7.x86_64
build -> /usr/src/kernels/3.10.0-327.10.1.el7.x86_64

In this folder,3.10.0-327.10.1.el7.x86_64, is a folder, DAHDI with several files ending .ko

When I run
lsmod | grep dahdi = nothing is shown dahdi not started

Run:
service dahdi start
Redirecting to /bin/systemctl start dahdi.service
Failed to start dahdi.service: Unit dahdi.service failed to load: No such file or directory.

Run:
/etc/init.d/dadhi start
-bash: /etc/init.d/dadhi: No such file or directory

Run:
invoke-rc.d dahdi start
-bash: invoke-rc.d: command not found

The question now is how do I get dahdi to start, will dahdi start without the hardware installed???

I have never had any problem starting dahdi without physical hardware. As such you have to work out what you have done wrong. We can only guess.

The file /etc/init.d/dahdi is installed by running make config in the dahdi folder. It will not be installed by make install.

There is an issue in the 2.11 releases where ā€œmake configā€ no longer functions as expected in DAHDI tools.

For a temporary work around either install a version older than 2.11.0 or, in dahdi tools, run ā€œmake install-configā€

Also, note that /etc/dahdi/modules is not installed properly either by the ā€œmake install-configā€ command. You can copy the modules.sample file in dahdi-tools to /etc/dahdi/modules by hand until DAHDI is released with a fix for these issues.

2 Likes

Think Iā€™ve sorted the bugger, or Iā€™m a lot closer to doing so, using your information sruffell.

On dmesg I get:

dahdi: module verification failed: signature and/or required key missing - tainting kernel
dahdi: Version: 2.11.1
dahdi: Telephony Interface Registered on major 196

Running lsmod:

dahdi 228088 0
crc_ccitt 12707 1 dahdi

Is this output what I might expect from a machine, with no dahdi hardware, and no asterisk??? The dmesg info looks good apart from the key missing message, not sure what thats all about, my guess it is some sort of signature verification is failing. Does it matter???

Update -

dmesg

dahdi: module verification failed: signature and/or required key missing - tainting kernel
dahdi: Version: 2.11.1
dahdi: Telephony Interface Registered on major 196
dahdi_transcode: Loaded.
dahdi_transcode: Unloaded.
dahdi: Telephony Interface Unloaded
dahdi: Version: 2.11.1
dahdi: Telephony Interface Registered on major 196
dahdi_transcode: Loaded.

lsmod

dahdi_transcode 14291 1 wctc4xxp
dahdi_voicebus 59211 2 wctdm24xxp,wcte12xp
dahdi 228088 15 xpp,wctdm24xxp,wcaxx,wcfxo,wctdm,dahdi_transcod e,oct612x,dahdi_voicebus,wcb4xxp,wct1xxp,wct4xxp,wcte43x,wcte11xp,wcte12xp,wcte1 3xp
crc_ccitt 12707 2 wctdm24xxp,dahdi

Now this looks more promising!!!

Indeed ā€˜make configā€™ is broken in dahdi-linux-complete-2.11.1+2.11.1

I was attempting to build dahdi on a fresh install of CentOS 6.7 with no telephony cards. No tricks seemed to create the init scripts for dahdi.

My work-around was similar to the suggestions above. I first installed an older version (dahdi-linux-complete-2.6.1+2.6.1). That installed init scripts. After that do a ā€˜make cleanā€™ in the new dahdi package and then install again ā€˜make && make install && make configā€™.

I wanted to verify that there is a problem to hopefully save a few other people the hour I just lost trying to get this to work.