Asterisk 1.8 Dahdi 2.4 on Ubuntu 10.10 Maverick

The system is a clean Ubuntu 10.10 LAMP server install as of yesterday.

Asterisk is running with the config files from 1.6.2.9 but it doesn’t create an entry in /etc/init.d so I have to start it by hand.

Dahdi isn’t working.

I’ve recompiled everything (Asterisk and Dahdi) from source. The documentation is still miserably fragmented and doesn’t seem to have changed much since I complained about it 6 months ago despite the fact that 1.8 is supposed to be Long Term Support. The question is who’s supporting whom?

I’m using a TDM400P with only 1 module inserted which runs fine on 1.6.2.9. It took some tweaking but I got there.

lsmod doesn’t show wctdm but does show dahdi
lspci shows the card

messages contains this which doesn’t look too good

[ 13.707461] wctdm: disagrees about version of symbol dahdi_transmit [ 13.707469] wctdm: Unknown symbol dahdi_transmit (err -22) [ 13.707658] wctdm: disagrees about version of symbol dahdi_register [ 13.707662] wctdm: Unknown symbol dahdi_register (err -22) [ 13.707860] wctdm: disagrees about version of symbol dahdi_qevent_lock [ 13.707864] wctdm: Unknown symbol dahdi_qevent_lock (err -22) [ 13.708068] wctdm: disagrees about version of symbol dahdi_hooksig [ 13.708074] wctdm: Unknown symbol dahdi_hooksig (err -22) [ 13.709038] wctdm: disagrees about version of symbol dahdi_receive [ 13.709045] wctdm: Unknown symbol dahdi_receive (err -22) [ 13.709208] wctdm: disagrees about version of symbol dahdi_unregister [ 13.709211] wctdm: Unknown symbol dahdi_unregister (err -22) [ 13.709485] wctdm: disagrees about version of symbol dahdi_alarm_channel [ 13.709488] wctdm: Unknown symbol dahdi_alarm_channel (err -22) [ 13.709655] wctdm: disagrees about version of symbol dahdi_ec_chunk [ 13.709659] wctdm: Unknown symbol dahdi_ec_chunk (err -22) [ 14.520944] dahdi_dummy: disagrees about version of symbol dahdi_transmit [ 14.520953] dahdi_dummy: Unknown symbol dahdi_transmit (err -22) [ 14.521088] dahdi_dummy: disagrees about version of symbol dahdi_register [ 14.521092] dahdi_dummy: Unknown symbol dahdi_register (err -22) [ 14.521231] dahdi_dummy: disagrees about version of symbol dahdi_receive [ 14.521235] dahdi_dummy: Unknown symbol dahdi_receive (err -22) [ 14.521383] dahdi_dummy: disagrees about version of symbol dahdi_unregister [ 14.521386] dahdi_dummy: Unknown symbol dahdi_unregister (err -22)

dahdi_cfg gives:
DAHDI_CHANCONFIG failed on channel 4: No such device or address (6)

/etc/dahdi/system.conf

[code]# Autogenerated by /usr/sbin/dahdi_genconf on Tue Jun 22 18:32:20 2010

If you edit this file and execute /usr/sbin/dahdi_genconf again,

your manual changes will be LOST.

Dahdi Configuration File

This file is parsed by the Dahdi Configurator, dahdi_cfg

Span 1: WCTDM/4 “Wildcard TDM400P REV I Board 5” (MASTER)

channel 1, WCTDM/4/0, no module.

channel 2, WCTDM/4/1, no module.

channel 3, WCTDM/4/2, no module.

fxsks=4
echocanceller=kb1,4

Span 2: DAHDI_DUMMY/1 “DAHDI_DUMMY/1 (source: HRtimer) 1”

Global data

loadzone = fr
defaultzone = fr[/code]

It isn’t true that this was auto generated because the auto generated file was rubbish. This is the file which works on 1.6.

The dahdi commands don’t appear in the CLI but I think that’s because the card isn’t recognised by the software.

So can someone point me to some complete documentation which works or at least one I can help to complete so lots of other people don’t have to go round the same circles as me.

Best regards,
Pete

I don’t know if this helps to see what’s wrong.
Apparently none of the /dev/dahdi files have been created.

lspci -kvv gives

[code]02:05.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface

Subsystem: Device b119:0003

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

Latency: 32 (250ns min, 32000ns max)

Interrupt: pin A routed to IRQ 10

Region 0: I/O ports at b400 [size=256]

Region 1: Memory at ffdfe000 (32-bit, non-prefetchable) [size=4K]

Capabilities: [40] Power Management version 2

	Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=55mA PME(D0+,D1-,D2+,D3hot+,D3cold+)

	Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

Kernel modules: wcopenpci, wctdm, hisax, netjet

[/code]

So the board is still being found. That’s not really a surprise.

more /etc/udev/rules.d/dahdi.rules

[code]# udev rules to generate the /dev/dahdi device files (if not yet provided

by your distribution):

KERNEL==“dahdictl”, NAME=“dahdi/ctl”

KERNEL==“dahditranscode”, NAME=“dahdi/transcode”

KERNEL==“dahditimer”, NAME=“dahdi/timer”

KERNEL==“dahdichannel”, NAME=“dahdi/channel”

KERNEL==“dahdipseudo”, NAME=“dahdi/pseudo”

KERNEL==“dahdi[0-9]*”, NAME=“dahdi/%n”

DAHDI devices with ownership/permissions for running as non-root

SUBSYSTEM==“dahdi”, OWNER=“asterisk”, GROUP=“asterisk”, MODE=“0660”[/code]

sudo service dahdi restart

Unloading DAHDI hardware modules: done

Loading DAHDI hardware modules:

FATAL: Error inserting dahdi (/lib/modules/2.6.35-24-generic/updates/dkms/dahdi.ko): Invalid argument

wctdm: error

Error: missing /dev/dahdi!

So my question is what causes udev to think that this device is a dahdi device?

I had no problems understanding how to build and install. It possibly does assume basic familiarity with installing open source packages, from source, on Unix.

You appear to have old versions of many of the kernel modules in the directory where the system is looking for them. Maybe you didn’t clean out an old version properly, first?

Since the system was a new install of Ubuntu 10.10 I don’t believe that’s the problem. The only files I copied over from the working version of Asterisk 1.6.2.9 were the contents of /etc/asterisk. However I have to admit that I first built Dahdi from source and then finding it didn’t work used apt-get install dahdi but that version which I believe was 2.2 dodn’t work any better so I rebuilt and installed 2.4 which, of course, still doesn’t work.

What OS did you install on? Did you have this combination i.e. Asterisk 1.8 and Dahdi 2.4? I believe from the documentation that Dahdi is supposed to “slot-in” whether its 2.2 or 2.4 but you never know.

Pete

CentOS and 1.6.

But your problem is a dahdi/dahdi version conflict, not a dahdi/asterisk one.

Could you suggest the best way to flush all versions of Dahdi and start anew?

If I do apt-get remove dahdi will that do the trick? Especially for the kernel modules.

Pete

You need to uninstall using the tool you used to install. I’m not familiar with the Ubuntu package manager, but you should expect to use “make uninstall” to remove modules created from source and the package manager to remove those installed using it.

Generally the modules will be in /lib/modules//dahdi/

Running “depmod -a” afterwards will help the system forget, although I think that normally is run on a reboot, and if you are confused, you probably want to reboot.

I’ve moved to another machine, this one using Ubuntu 10.4 but that is irrelevant.

I initially installed the Ubuntu packages for Asterisk and Dahdi which were 1.6.2 and 2.2 respectively.

Then I compiled Dahdi 2.4 from source and installed it.

Then Asterisk 1.8 from source and installed it.

Although I think I have installed Dahdi 2.4, the CLI command: dahdi show version still says its 2.2.1

[code]sudo make install
make -C linux all
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
make -C drivers/dahdi/firmware firmware-loaders
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make -C /lib/modules/2.6.32-27-generic/build SUBDIRS=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi DAHDI_INCLUDE=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-27-generic »

Building modules, stage 2.
MODPOST 30 modules
WARNING: could not find /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/.vpmadt032_x86_32.o.cmd for /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/vpmadt032_x86_32.o
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
(cd tools && [ -f config.status ] || ./configure --with-dahdi=…/linux)
make -C tools all
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[3]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[3]: Rien à faire pour « all ».
make[3]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make -C linux install
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
make -C drivers/dahdi/firmware firmware-loaders
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make -C /lib/modules/2.6.32-27-generic/build SUBDIRS=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi DAHDI_INCLUDE=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-27-generic »

Building modules, stage 2.
MODPOST 30 modules
WARNING: could not find /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/.vpmadt032_x86_32.o.cmd for /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/vpmadt032_x86_32.o
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
build_tools/uninstall-modules dahdi 2.6.32-27-generic
make -C /lib/modules/2.6.32-27-generic/build SUBDIRS=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi DAHDI_INCLUDE=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes INSTALL_MOD_PATH= INSTALL_MOD_DIR=dahdi modules_install
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic_eth.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic_ethmf.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic_loc.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_jpah.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_kb1.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_mg2.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_sec.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_sec2.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_transcode.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_vpmadt032_loader.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/pciradio.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/tor2.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/voicebus/dahdi_voicebus.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcb4xxp/wcb4xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcfxo.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wct1xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wct4xxp/wct4xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wctc4xxp/wctc4xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wctdm.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wctdm24xxp/wctdm24xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcte11xp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcte12xp/wcte12xp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_bri.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_fxo.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_fxs.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_pri.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpp_usb.ko
DEPMOD 2.6.32-27-generic
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
[ id -u = 0 ] && /sbin/depmod -a 2.6.32-27-generic || :
install -d /etc/udev/rules.d
build_tools/genudevrules > /etc/udev/rules.d/dahdi.rules
build_tools/genudevrules: 3: udevinfo: not found
install -m 644 drivers/dahdi/xpp/xpp.rules /etc/udev/rules.d/
for hdr in kernel.h user.h fasthdlc.h wctdm_user.h dahdi_config.h; do
install -D -m 644 include/dahdi/$hdr /usr/include/dahdi/$hdr;
done
make -C drivers/dahdi/firmware hotplug-install DESTDIR= HOTPLUG_FIRMWARE=yes
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
Firmware dahdi-fw-oct6114-064.bin is already installed with required version 1.05.01
Firmware dahdi-fw-oct6114-128.bin is already installed with required version 1.05.01
Firmware dahdi-fw-tc400m.bin is already installed with required version MR6.12
Firmware dahdi-fw-hx8.bin is already installed with required version 2.06
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make -C drivers/dahdi/xpp/firmwares install
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/firmwares »
mkdir -p /usr/share/dahdi
install …/init_card_1_30 …/init_card_2_30 …/init_card_3_30 …/init_card_4_30 /usr/share/dahdi/
install -m 644 …/XppConfig.pm USB_FW.hex FPGA_FXS.hex FPGA_1141.hex FPGA_1151.hex FPGA_1161.hex PIC_TYPE_1.hex PIC_TYPE_2.hex PIC_TYPE_3.hex PIC_TYPE_4.hex /usr/share/dahdi/
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/firmwares »
###################################################

DAHDI installed successfully.

If you have not done so before, install the package

dahdi-tools.

###################################################
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
make -C tools install
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[3]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[3]: Rien à faire pour « all ».
make[3]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
/usr/bin/install -c -d /usr/sbin
/usr/bin/install -c astribank_is_starting dahdi_registration xpp_sync lsdahdi xpp_blink dahdi_genconf dahdi_hardware twinstar /usr/sbin/
/usr/bin/install -c -d /usr/share/dahdi
/usr/bin/install -c xpp_fxloader astribank_hook /usr/share/dahdi/
/usr/bin/install -c waitfor_xpds /usr/share/dahdi/
/usr/bin/install -c -d /usr/share/man/man8
/usr/bin/install -c -m 644 astribank_is_starting.8 dahdi_registration.8 xpp_sync.8 lsdahdi.8 xpp_blink.8 dahdi_genconf.8 dahdi_hardware.8 twinstar.8 /usr/share/man/man8/
/usr/bin/install -c -d /etc/hotplug/usb
/usr/bin/install -c -m 644 xpp_fxloader.usermap /etc/hotplug/usb/

for backward compatibility and for hotplug users:

ln -sf /usr/share/dahdi/xpp_fxloader /etc/hotplug/usb/
/usr/bin/install -c -d /usr/local/share/perl/5.10.1
for i in Dahdi Dahdi/Hardware Dahdi/Xpp Dahdi/Config Dahdi/Config/Gen;
do
/usr/bin/install -c -d “/usr/local/share/perl/5.10.1/$i”;
done
for i in Dahdi.pm Dahdi/Chans.pm Dahdi/Hardware.pm Dahdi/Span.pm Dahdi/Utils.pm Dahdi/Xpp.pm Dahdi/Hardware/PCI.pm Dahdi/Hardware/USB.pm Dahdi/Xpp/Line.pm Dahdi/Xpp/Mpp.pm Dahdi/Xpp/Xbus.pm Dahdi/Xpp/Xpd.pm Dahdi/Config/Gen.pm Dahdi/Config/Params.pm Dahdi/Config/Gen/Chandahdi.pm Dahdi/Config/Gen/Modules.pm Dahdi/Config/Gen/System.pm Dahdi/Config/Gen/Unicall.pm Dahdi/Config/Gen/Users.pm Dahdi/Config/Gen/Xpporder.pm;
do
/usr/bin/install -c -m 644 “perl_modules/$i” “/usr/local/share/perl/5.10.1/$i”;
done
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
install -d /usr/sbin
install fxotune sethdlc dahdi_cfg dahdi_monitor dahdi_speed dahdi_test dahdi_scan dahdi_maint /usr/sbin/
install -d /usr/share/man/man8
install -m 644 doc/fxotune.8 doc/dahdi_cfg.8 doc/dahdi_monitor.8 doc/dahdi_test.8 doc/dahdi_scan.8 /usr/share/man/man8/
/usr/bin/install -c -d -m 755 //usr/lib
/usr/bin/install -c -m 755 libtonezone.a /usr/lib/
/usr/bin/install -c -m 755 libtonezone.so /usr/lib/libtonezone.so.2.0
if [ id -u = 0 ]; then
/sbin/ldconfig || : ;
fi
rm -f /usr/lib/libtonezone.so
/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so.2
/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so

Overwrite the 1.0 links out there. dahdi-tools 2.0.0 installed

1.0 links but dahdi-tools changed them to 2.0 in order to explicitly

break applications linked with zaptel. But, this also meant that

applications linked with libtonezone.so.1.0 broke when dahdi-tools

2.1.0 was installed.

/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so.1.0
/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so.1
/usr/bin/install -c -d -m 755 //usr/include/dahdi
/usr/bin/install -c -m 644 tonezone.h /usr/include/dahdi/
###################################################

DAHDI tools installed successfully.

If you have not done so before, install init scripts with:

make config

###################################################
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
pete@kfone-server:~/dahdi-linux-complete-2.4.0+2.4.0$ sudo make config
make -C linux all
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
make -C drivers/dahdi/firmware firmware-loaders
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make -C /lib/modules/2.6.32-27-generic/build SUBDIRS=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi DAHDI_INCLUDE=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-27-generic »

Building modules, stage 2.
MODPOST 30 modules
WARNING: could not find /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/.vpmadt032_x86_32.o.cmd for /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/vpmadt032_x86_32.o
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
(cd tools && [ -f config.status ] || ./configure --with-dahdi=…/linux)
make -C tools all
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[3]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[3]: Rien à faire pour « all ».
make[3]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make -C linux install
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
make -C drivers/dahdi/firmware firmware-loaders
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make -C /lib/modules/2.6.32-27-generic/build SUBDIRS=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi DAHDI_INCLUDE=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-27-generic »

Building modules, stage 2.
MODPOST 30 modules
WARNING: could not find /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/.vpmadt032_x86_32.o.cmd for /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/vpmadt032_loader/vpmadt032_x86_32.o
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
build_tools/uninstall-modules dahdi 2.6.32-27-generic
make -C /lib/modules/2.6.32-27-generic/build SUBDIRS=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi DAHDI_INCLUDE=/home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes INSTALL_MOD_PATH= INSTALL_MOD_DIR=dahdi modules_install
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic_eth.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic_ethmf.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_dynamic_loc.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_jpah.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_kb1.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_mg2.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_sec.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_echocan_sec2.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_transcode.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/dahdi_vpmadt032_loader.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/pciradio.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/tor2.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/voicebus/dahdi_voicebus.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcb4xxp/wcb4xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcfxo.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wct1xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wct4xxp/wct4xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wctc4xxp/wctc4xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wctdm.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wctdm24xxp/wctdm24xxp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcte11xp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/wcte12xp/wcte12xp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_bri.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_fxo.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_fxs.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpd_pri.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpp.ko
INSTALL /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/xpp_usb.ko
DEPMOD 2.6.32-27-generic
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.32-27-generic »
[ id -u = 0 ] && /sbin/depmod -a 2.6.32-27-generic || :
install -d /etc/udev/rules.d
build_tools/genudevrules > /etc/udev/rules.d/dahdi.rules
build_tools/genudevrules: 3: udevinfo: not found
install -m 644 drivers/dahdi/xpp/xpp.rules /etc/udev/rules.d/
for hdr in kernel.h user.h fasthdlc.h wctdm_user.h dahdi_config.h; do
install -D -m 644 include/dahdi/$hdr /usr/include/dahdi/$hdr;
done
make -C drivers/dahdi/firmware hotplug-install DESTDIR= HOTPLUG_FIRMWARE=yes
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
Firmware dahdi-fw-oct6114-064.bin is already installed with required version 1.05.01
Firmware dahdi-fw-oct6114-128.bin is already installed with required version 1.05.01
Firmware dahdi-fw-tc400m.bin is already installed with required version MR6.12
Firmware dahdi-fw-hx8.bin is already installed with required version 2.06
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/firmware »
make -C drivers/dahdi/xpp/firmwares install
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/firmwares »
mkdir -p /usr/share/dahdi
install …/init_card_1_30 …/init_card_2_30 …/init_card_3_30 …/init_card_4_30 /usr/share/dahdi/
install -m 644 …/XppConfig.pm USB_FW.hex FPGA_FXS.hex FPGA_1141.hex FPGA_1151.hex FPGA_1161.hex PIC_TYPE_1.hex PIC_TYPE_2.hex PIC_TYPE_3.hex PIC_TYPE_4.hex /usr/share/dahdi/
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux/drivers/dahdi/xpp/firmwares »
###################################################

DAHDI installed successfully.

If you have not done so before, install the package

dahdi-tools.

###################################################
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/linux »
make -C tools install
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[3]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[3]: Rien à faire pour « all ».
make[3]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
make[2]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
/usr/bin/install -c -d /usr/sbin
/usr/bin/install -c astribank_is_starting dahdi_registration xpp_sync lsdahdi xpp_blink dahdi_genconf dahdi_hardware twinstar /usr/sbin/
/usr/bin/install -c -d /usr/share/dahdi
/usr/bin/install -c xpp_fxloader astribank_hook /usr/share/dahdi/
/usr/bin/install -c waitfor_xpds /usr/share/dahdi/
/usr/bin/install -c -d /usr/share/man/man8
/usr/bin/install -c -m 644 astribank_is_starting.8 dahdi_registration.8 xpp_sync.8 lsdahdi.8 xpp_blink.8 dahdi_genconf.8 dahdi_hardware.8 twinstar.8 /usr/share/man/man8/
/usr/bin/install -c -d /etc/hotplug/usb
/usr/bin/install -c -m 644 xpp_fxloader.usermap /etc/hotplug/usb/

for backward compatibility and for hotplug users:

ln -sf /usr/share/dahdi/xpp_fxloader /etc/hotplug/usb/
/usr/bin/install -c -d /usr/local/share/perl/5.10.1
for i in Dahdi Dahdi/Hardware Dahdi/Xpp Dahdi/Config Dahdi/Config/Gen;
do
/usr/bin/install -c -d “/usr/local/share/perl/5.10.1/$i”;
done
for i in Dahdi.pm Dahdi/Chans.pm Dahdi/Hardware.pm Dahdi/Span.pm Dahdi/Utils.pm Dahdi/Xpp.pm Dahdi/Hardware/PCI.pm Dahdi/Hardware/USB.pm Dahdi/Xpp/Line.pm Dahdi/Xpp/Mpp.pm Dahdi/Xpp/Xbus.pm Dahdi/Xpp/Xpd.pm Dahdi/Config/Gen.pm Dahdi/Config/Params.pm Dahdi/Config/Gen/Chandahdi.pm Dahdi/Config/Gen/Modules.pm Dahdi/Config/Gen/System.pm Dahdi/Config/Gen/Unicall.pm Dahdi/Config/Gen/Users.pm Dahdi/Config/Gen/Xpporder.pm;
do
/usr/bin/install -c -m 644 “perl_modules/$i” “/usr/local/share/perl/5.10.1/$i”;
done
make[2]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools/xpp »
install -d /usr/sbin
install fxotune sethdlc dahdi_cfg dahdi_monitor dahdi_speed dahdi_test dahdi_scan dahdi_maint /usr/sbin/
install -d /usr/share/man/man8
install -m 644 doc/fxotune.8 doc/dahdi_cfg.8 doc/dahdi_monitor.8 doc/dahdi_test.8 doc/dahdi_scan.8 /usr/share/man/man8/
/usr/bin/install -c -d -m 755 //usr/lib
/usr/bin/install -c -m 755 libtonezone.a /usr/lib/
/usr/bin/install -c -m 755 libtonezone.so /usr/lib/libtonezone.so.2.0
if [ id -u = 0 ]; then
/sbin/ldconfig || : ;
fi
rm -f /usr/lib/libtonezone.so
/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so.2
/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so

Overwrite the 1.0 links out there. dahdi-tools 2.0.0 installed

1.0 links but dahdi-tools changed them to 2.0 in order to explicitly

break applications linked with zaptel. But, this also meant that

applications linked with libtonezone.so.1.0 broke when dahdi-tools

2.1.0 was installed.

/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so.1.0
/bin/ln -sf libtonezone.so.2.0
/usr/lib/libtonezone.so.1
/usr/bin/install -c -d -m 755 //usr/include/dahdi
/usr/bin/install -c -m 644 tonezone.h /usr/include/dahdi/
###################################################

DAHDI tools installed successfully.

If you have not done so before, install init scripts with:

make config

###################################################
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
make -C tools config
make[1]: entrant dans le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
install -D dahdi.init /etc/init.d/dahdi
/usr/sbin/update-rc.d dahdi defaults 15 30
System start/stop links for /etc/init.d/dahdi already exist.
DAHDI has been configured.

List of detected DAHDI devices:

No hardware found
make[1]: quittant le répertoire « /home/pete/dahdi-linux-complete-2.4.0+2.4.0/tools »
pete@kfone-server:~/dahdi-linux-complete-2.4.0+2.4.0$ sudo service asterisk start
Starting Asterisk PBX: asterisk.
pete@kfone-server:~/dahdi-linux-complete-2.4.0+2.4.0$ sudo asterisk -vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvr
Verbosity was 0 and is now 42
kfone-serverCLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
kfone-server
CLI> dahdi show version
DAHDI Version: 2.2.1 Echo Canceller: [/code]

So is it the message which is wrong or the installation?

You haven’t rebooted, or, alternatively unloaded the old drivers and loaded the new drivers.

Linux kernel modules are loaded completely into memory and you can delete the disk file without invalidating that memory copy.

Preferably reboot, but if not, do “service dahdi restart” between service asterisk stop and service asterisk start

Nice idea but unfortunately it isn’t the solution. I have rebooted passing by windows on the way and the version is still 2.2.1

I’ve now gone back to the original machine to try to reproduce the same situtation. Hopefully getting closer to what I want. There I have a TDM400P installed so I hope to see it, not just with lspci.

Time moves on. I was trying to install a combination of Asterisk 10, Dahdi 2.6 on Unbuntu 10.4 LTS.

Having installed the TDM400P I had previously put elsewhere.

As above although the card was recognised as shown with lspci, the dahdi kernel modules wouldn’t load because of a version error although I had built them on the same machine today using the makefile.

It turns out that the contents of /lib/modules/KERNEL VERSION/updates/dkms was not being updates by the make install

I deleted everything and copied the .ko files from the /linux/drivers/dahdi directory in the make directory tree

That fixed the problem. When I rebooted dmesg shows that the dahdi modules are loaded

I had to do a sudo service dahdi start to get the wctdm to be loaded.

I had previously blacklisted the hisax and netjet modules in /etc/modprobe.d/blacklist.conf
which seem to be loaded instead of wctdm
Anyway now it works!

Hi Pkirkham,

I’m having the same problem. Could you give more details on how you resolved this? What exactly did you delete and from what directories and where did you insert the ko files.

Thanks

I’ll take a look at that machine when I get home in say 5 hours so don’t hold your breath.
best regards,
Pete

If you’re building from source on Debian / Ubuntu, please make sure that dahdi-dkms is not installed and removed. Those modules are typically loaded before any modules that you might have installed from a source checkout. This means that when you restart DAHDI, the dkms modules will be used and not the ones you just compiled. You can see this like:

$ /sbin/modinfo -F version drivers/dahdi/dahdi.ko
SVN-trunk-r10686
$ cat /sys/module/dahdi/version 
SVN-branch-2.6-r10657

You can see that SVN-trunk-r10686 is the version of the module in my current directory, but what is currently loaded into the kernel on this system is SVN-branch-2.6-r10657.

Maybe snuffel’s reply is THE answer but it seems to me that the install script should do the necessary.
I can’t really give a definitive reply since I’ve now moved on to Asterisk 10.0 and Dahdi 2.6.
What I said looks coherent with what snuffel said: i.e. i had to copy the kernel modules in the make directory into the dkms directory of the kernel version/updates/dkms directory and having started the dahdi service it worked.

Good luck,
Pete