Open Source - How do I disable echo cancellation module without removing the hardware?
Sometimes it's nice to be able to disable echo cancellation without opening the case and removing the module from the card. In cases like those, you can disable the Hardware echo cancellation module (Voice Processing Module or VPM) from the Linux command line. This applies to our 4-port, 8-port, and 24-port Analog cards, our 8-port Hybrid cards (using the wctdm24xxp driver) and as well as our single (using wcte12xp driver), dual, and quad span Digital cards (using the wct4xxp driver). This does not apply to the B410P.
You'll need to:
Stop Asterisk
Stop DAHDI
Unload the driver for your card from the Linux kernel
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.