WTH Am i doing wrong with Dahdi?

This is driving me INSANE! I have SEVERAL related posts in this forum. All i want to be able to do (that i haven’t yet figured out on my own), is CONFERENCE with other developers, but it is becoming a nightmare. All of the necessary packages are yummable. I do not want to compile and recompile each time my kernel is upgraded, which is why RPMs are there. Why is this NOT working for me? And restarting the whole computer made no difference.

[code]Installed:
asterisk-dahdi.x86_64 0:1.6.0.15-1.fc10
dahdi-tools.x86_64 0:2.0.0-1.fc10
dahdi-tools-libs.x86_64 0:2.0.0-1.fc10

Dependency Installed:
asterisk.x86_64 0:1.6.0.15-1.fc10

[^v^] service asterisk restart
Stopping asterisk: [FAILED]
Starting asterisk: [ OK ]
[^v^] service dahdi restart
Unloading DAHDI hardware modules: [ OK ]
Loading DAHDI hardware modules:
FATAL: Module dahdi not found.
wct4xxp: [ OK ]
wcte12xp: [ OK ]
wct1xxp: [ OK ]
wcte11xp: [ OK ]
wctdm24xxp: [ OK ]
wcfxo: [ OK ]
wctdm: [ OK ]
xpp_usb: [ OK ]

[^v^] yum info asterisk-dahdi

Installed Packages
Name : asterisk-dahdi
Arch : x86_64
Version : 1.6.0.15
Release : 1.fc10
Size : 509 k
Repo : installed
From repo : updates
Summary : Modules for Asterisk that use DAHDI
URL : http://www.asterisk.org/
License : GPLv2
Description: Modules for Asterisk that use DAHDI.

[^v^] dahdi_cfg
Notice: Configuration file is /etc/dahdi/system.conf
line 0: Unable to open master device ‘/dev/dahdi/ctl’

1 error(s) detected

[^v^] modprobe dahdi
FATAL: Module dahdi not found.
[^v^] modprobe dahdi_dummy
FATAL: Module dahdi_dummy not found.
[^v^] dahdi_test
Unable to open dahdi interface: No such file or directory
[^v^]
[/code]

Do you have any Telco cards installed in the system? If so which? If you do not have any cards installed try commenting out the modules in /etc/dahdi/modules then reboot.

And by modules I mean wct1xxp, xpp_usb etc…

No tel-cards; and i commented out the modules and rebooted before, and it made no difference…

thanx

[code][^v^] service dahdi restart
Unloading DAHDI hardware modules: [ OK ]
Loading DAHDI hardware modules:
FATAL: Module dahdi not found.

^X^C
[^v^] [/code]

dahdi is a kernel module, which means you need a version that exactly matches your kernel version.

It would help to know who the packager was, although, unless they are Digium, it might well be the case that no-one here is in any better a position to contact them than you would be yourself. Similarly for the yum repository.

To check the kernel version needed by dahdi, look in /usr/lib/modules//… to find dahdi. and note the values of "". Then run uname -a to get the kernel version. The latter must match at least one of the former. Although you could risk renaming the modules directory to match, there have been recent kernel version changes that will break dahdi if you do this for too large a change in version.

The safest approach, without compiling, or seeking a dahdi package from some other source, is to install the matching kernel version, then update your bootloader to make that the default. Some yum repositories remove old packages (the CentOS ones seem to do so), so you may need to find a respository with a more complete set of packages, or install it from an explicit RPM. It is possible that the right kernel is already installed, in which case you just need to make it load by default.

(If the packager has done their job properly, they will have a dependency on the kernel package, so you should have the right kernel installed, but it may not be the latest, which is the one that will boot by default.)

david55: dahdi is a kernel module, which means you need a version that exactly matches your kernel version.

Me: Well my kernel version is 2.6.27.30-170.2.82.fc10.x86_64, but the asterisk-dadhi package’s version seems to match the version of asterisk, not the kernel.

david55: It would help to know who the packager was, although, unless they are Digium, it might well be the case that no-one here is in any better a position to contact them than you would be yourself. Similarly for the yum repository.

Me: Well, it was the official Fedora repo, but Digium must be the packager, afaik.

david55: To check the kernel version needed by dahdi, look in /usr/lib/modules//… to find dahdi. and note the values of "". Then run uname -a to get the kernel version…

Me: I’ve looked in there, and i don’t have a /usr/lib/modules or a /usr/lib64/modules. Also, there is no /dev/dahdi/*, not even the folder itself.

david55: The safest approach, without compiling, or seeking a dahdi package from some other source, is to install the matching kernel version, then update your bootloader to make that the default. Some yum repositories remove old packages (the CentOS ones seem to do so), so you may need to find a respository with a more complete set of packages, or install it from an explicit RPM. It is possible that the right kernel is already installed, in which case you just need to make it load by default.

Me: Hmmm, it appears that is not an option, is it (because of what i stated to your first statement)?

david55: (If the packager has done their job properly, they will have a dependency on the kernel package, so you should have the right kernel installed, but it may not be the latest, which is the one that will boot by default.)

Me: Oh, btw, i’m using Fedora 10, x86_64.

The proper path for those is /lib/modules/[kernel version]/dahdi/
“ls /lib/modules/uname -r/dahdi/” should show you whether they are installed for your currently running kernel.

/usr/lib should not contain kernel modules.

[quote=“random”]The proper path for those is /lib/modules/[kernel version]/dahdi/
“ls /lib/modules/uname -r/dahdi/” should show you whether they are installed for your currently running kernel.
/usr/lib should not contain kernel modules.[/quote]
Ha, you know what’s funny? I own LinuxIntro.com and i don’t even know where the modules are! (I’m a web developer, not system developer; that’s my excuse, anyway :smiley:).

Anyway, the funny thing is that there is ztdummy modules, but nothing for dahdi, unless i’m overlooking something…:

[^v^] ls '/lib/modules/2.6.27.30-170.2.82.fc10.x86_64/misc' pciradio.ko wct1xxp.ko wctdm.ko xpp ztdummy.ko tor2.ko wct4xxp wcte11xp.ko zaptel.ko ztdynamic.ko torisa.ko wctc4xxp wcte12xp ztd-eth.ko zttranscode.ko wcfxo.ko wctdm24xxp wcusb.ko ztd-loc.ko [^v^]

I may have to break down and compile something; but then again, i’d probably rather just go without… Thanx again

===edit===
i just read your other post in the other topic. I thought about using that, but like i was saying, i would rather just go without before i compiled something. Compiling is a nightmare sometimes, due to dependencies, and can easily be broken with each update, and un-re-compilable due to new dependency conflicts, etc. So, because i don’t have time for that, if there is no package, then i go without.

Interesting.

I suppose /lib/modules/2.6.27.30-170.2.82.fc10.x86_64/dahdi/ doesn’t exist at all?

Since you aren’t running the hardware you can safely remove the zaptel drivers (assuming that those modules aren’t bizarre residue from a package management failure).

Nope, no dahdi:

[^v^] ls '/lib/modules/2.6.27.30-170.2.82.fc10.x86_64' build modules.ccwmap modules.networking modules.usbmap extra modules.dep modules.ofmap source kernel modules.dep.bin modules.order updates misc modules.ieee1394map modules.pcimap vdso modules.alias modules.inputmap modules.seriomap weak-updates modules.alias.bin modules.isapnpmap modules.symbols modules.block modules.modesetting modules.symbols.bin [^v^]

I think that the zaptel modules are there from me trying to get app_conference or app_meetme to work a while back. I did yum them a few months ago, but then i yum removed them and yummed the dahdi packages instead.

I did a quick check back at what you already did, and by rights:

  1. There should be no zaptel drivers in the directory you found them in.
  2. There should be dahdi drivers where you looked for them.

This command should tell you where your dahdi package thinks it put the drivers:

And this one should tell you where they actually are (if they are anywhere near the correct location):

Hmmmmm,

[^v^] rpm -ql dahdi-tools-libs| grep ko [^v^] rpm -ql dahdi-tools| grep ko [^v^] rpm -ql asterisk-dahdi| grep ko [^v^] find /lib -name dahdi_dummy.ko [^v^] find / -name dahdi_dummy.ko [^v^]

Nada. I do appreciate you trying to track this down. Now you can begin to see what’s driving me nuts! And the asterisk-dahdi package is supposed to have the modules, but none are listed. I’m hopelessly lost :smiley:!

No kidding.

I run off the main archive sources myself, I find it less confusing.

The driver package may be a hybrid-source type of package that requires a build of the modules to ensure they are syncronized with the installed kernel. I don’t think yum has the hooks to do the build itself.

That would explain both the mysteriously present zaptel modules and the mysteriously absent dahdi modules. Since the .ko files aren’t in the package, yum wouldn’t know to remove them.

Hi

My best advice is to compile from source. It shouldnt effect the installation and you can download the packages that teh binarys were made from.

Dahdi must be compiled against a the relevent Kernel

and unless its imperative to upgrade the Kernal it best avoided as it mean recompiling every time.

Ian

Hmmm, well, at least we got this far. Thanx for your help guys.

Apologies for the bogus “/usr” in the modules directory name.

To the best of my knowledge, Digium do not produce a Fedora RPM for Asterisk. As far as I know the only RPMs they produce are for AsteriskNow components, which assume a specific build of CentOS.

Would the fact that i have not touched dahdi_chan.conf have anything to do with this?

Well, once you have the driver modules in place I’d run dahdi_genconf and verify the following files:

/etc/dahdi/modules (should contain the reference to dahdi_dummy)
/etc/dahdi/system.conf (shouldn’t have much at all)
and
/etc/asterisk/chan_dahdi.conf (again, shouldn’t have much at all)

Well, evidently, there is no way to conference without compiling, at this time. Despite the fact that there are several RPMs for dahdi-related stuff, none of them have kernel-modules. I compiled the modules, and all is freakin peachy. So that means that i will have to recompile each time my kernel is updated. Oh well, i will live…

Thanx all for your help.

You can always set yum to not update the kernel* then you dont have to worry about it. I generally dont do to many updates on my system once I get it up and running, unless its a security update. I figure why mess with whats working.

well, for my local machine, i always keep it updated. But when i pay to upgrade my server space for my websites, which will allow me to host other servers as well, i will not touch what is not broken :smiley: