[asterisk-users] problems inserting dahdi modules using Debian Leni

Dave Platt dplatt at radagast.org
Wed Jan 5 15:26:23 CST 2011


> FATAL: Error inserting dahdi (/lib/modules/2.6.26-2-686/dahdi/dahdi.ko):
> Unknown symbol in module, or unknown parameter (see dmesg)
> [25991.968325] dahdi: no symbol version for crc_ccitt_table
> [25991.968330] dahdi: Unknown symbol crc_ccitt_table

I think the message "no symbol version for crc_ccitt_table" may be
the key here.

It's possible (and fairly common) for Linux kernels and modules
to be compiled using an option which explicitly adds some
"version number" information to each symbol which is imported
or exported.  The "symbol version" information identifies the
exact version of the kernel which was built, or against which
a module was compiled.

This is done in order to provide some assurance that the
implementations in the kernel (used by the module) are
exactly those against which the module was compiled.  It
helps prevent situations in which a module which was
compiled against (e.g.) an older version of the kernel,
isn't loaded and run in the environment of a newer
kernel versions whose APIs or data structures have changed
in an incompatible way.

The use of this versioning feature is optional... you can
use it or not... but you have to make sure that you either
enable it in *both* the kernel and module compile environments,
or in *neither*.

I think that modprobe/insmod is complaining that you have not
followed this rule.  One of the two builds (either the kernel,
or dahdi) was compiled using kernel versioning, and the other
was not.

You'll have to restore consistency to your compilation
environments, before you can produce a dahdi module which
will load.




More information about the asterisk-users mailing list