Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,41 @@ you a clue of the versions installed:
find /lib/modules -name dahdi.ko


OSLEC
~~~~~
The echo canceller module dahdi_echocan_oslec
provides a DAHDI echo canceller module that uses the code from OSLEC.

https://www.rowetel.com/ucasterisk/oslec.html[OSLEC] is an
Open Source Line Echo Canceller. It was previously part of the mainline
kernel but has since been removed; for licensing reasons, it is
distributed separately in the dahdi-linux-extra repo.

You can get the OSLEC code from the dahdi-linux-extra Git repository:

cd /usr/src
git clone --depth 1 --single-branch --branch extra-2.10.y https://notabug.org/tzafrir/dahdi-linux-extra.git
mv dahdi-linux-extra/drivers/staging dahdi-linux/drivers
rm -rf dahdi-linux-extra

To use OSLEC, can copy drivers/staging/echo from dahdi-extra
to drivers/staging/echo in dahdi-linux; dahdi_echocan_oslec assumes that
this is where the oslec code lies. If it is elsewhere, you'll need to fix
the #include line.

After doing that, you'll see the following when building (running
'make')

...
CC [M] /usr/src/dahdi-linux/drivers/dahdi/dahdi_echocan_oslec.o
CC [M] /usr/src/dahdi-linux/drivers/dahdi/../staging/echo/echo.o
...

As this is an experimental driver, problems building and using it should
be reported on the
https://lists.sourceforge.net/lists/listinfo/freetel-oslec[OSLEC mailing
list].

===== LINUX_DIR
The relative path to the dahdi-linux tree. The default is '.' and normally
there's no reason to override it.
Expand Down
5 changes: 2 additions & 3 deletions drivers/dahdi/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,8 @@ endif

obj-m += $(DAHDI_MODULES_EXTRA)

# If you want to build OSLEC, include the code in the standard location:
# drivers/staging/echo . The DAHDI OSLEC echo canceller will be built as
# well:
# If you want to build OSLEC, include the code in drivers/staging/echo
# The DAHDI OSLEC echo canceller will be built as well:
ifneq (,$(wildcard $(src)/../staging/echo/echo.c))
obj-m += dahdi_echocan_oslec.o
obj-m += ../staging/echo/echo.o
Expand Down
3 changes: 1 addition & 2 deletions drivers/dahdi/dahdi_echocan_oslec.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@
#include <linux/ctype.h>
#include <linux/moduleparam.h>

/* Fix this if OSLEC is elsewhere */
/* Change this if OSLEC is elsewhere */
#include "../staging/echo/oslec.h"
//#include <linux/oslec.h>

#include <dahdi/kernel.h>

Expand Down