How to I disable echo cancellation module without removing the hardware?

You’ll need to:

  1. Stop Asterisk
  2. Stop DAHDI
  3. Unload the driver for your card from the Linux kernel
  4. Load the driver for your card with the module parameter “vpmsupport=0”.

You can stop Asterisk with the command:

asterisk -rx “core stop gracefully”

You can stop DAHDI with the command:

/etc/init.d/dahdi stop

In order to find the kernel module that matches your card, search for the knowledgebase article that shows which kernel modules match which hardware cards.

In this case, we’ll assume you have an AEX2400 card. The AEX2400 uses the wctdm24xxp kernel module.  Please adjust the instructions below to match your adapter’s driver (e.g. wcte12xp, wct4xxp).

From the Linux command line run the command:

rmmod wctdm24xxp

Now that the kernel module has been unloaded, we can load the kernel module with a parameter that disables the echo canceling hardware with this command:

modprobe wctdm24xxp vpmsupport=0

You can verify that the VPM has been disabled after the module has been loaded by running the command:

dmesg

and checking to see that the last few lines contain something like this:

wctdm24xxp 0000:01:04.0: VPM: Support Disabled
Alternatively, users can disable the VPM temporarily without reloading the driver, like so:
echo 0 >  /sys/module/wctdm24xxp/parameters/vpmsupport
Note that reloading the driver will clear this setting.To make these changes permanent (i.e., make the change survive across a system reboot), add the following to the file (/etc/modprobe.d/dahdi.conf, consult your system documentation for details on exactly how to do this for your Linux distribution):

options wctdm24xxp vpmsupport=0

Note that you should change “wctdm24xxp” to the name of your particular card’s driver (e.g. wcte12xp or wct4xxp).  Simply restarting DAHDI will load that change.

Leave a Reply