wanpipe doesn't compile on kernels higher than 6.1, e.g. Ubuntu 24.04 which uses 6.8:
Sangoma is "working on it", but we all know what that means...
WANPIPE DRIVER COMPILE LOG
Wed Oct 16 19:32:02 UTC 2024
-----------------------------------
make -C /lib/modules/6.8.0-1016-aws/build SUBDIRS=/usr/src/wanpipe-7.0.38/kdrvtmp CC=gcc KBUILD_VERBOSE=1 modules
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-1016-aws'
make --no-print-directory -C /usr/src/linux-headers-6.8.0-1016-aws \
-f /usr/src/linux-headers-6.8.0-1016-aws/Makefile modules
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
You are using: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
make -f ./scripts/Makefile.build obj=/usr/src/wanpipe-7.0.38/kdrvtmp need-builtin=1 need-modorder=1
# cmd_mod /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv.mod
printf '%s
' sdladrv_src.o sdladrv_fe.o sdladrv_utils.o wanpipe_cdev_linux.o wanpipe_logger.o sdladrv_usb.o | awk '!x[$0]++ { print("/usr/src/wanpipe-7.0.38/kdrvtmp/"$0) }' > /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv.mod
# CC [M] /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.o
gcc -Wp,-MMD,/usr/src/wanpipe-7.0.38/kdrvtmp/.sdladrv_src.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fno-omit-frame-pointer -fno-optimize-sibling-calls -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fzero-call-used-regs=used-gpr -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=1024 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-overflow -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g -gdwarf-5 -D__LINUX__ -DCONFIG_PRODUCT_WANPIPE_BASE -DCONFIG_PRODUCT_WANPIPE_FR -DCONFIG_PRODUCT_WANPIPE_CHDLC -DCONFIG_PRODUCT_WANPIPE_PPP -DCONFIG_PRODUCT_WANPIPE_X25 -DCONFIG_PRODUCT_WANPIPE_MULTPROT -DCONFIG_PRODUCT_WANPIPE_AFT -DCONFIG_PRODUCT_WANPIPE_AFT_CORE -DCONFIG_PRODUCT_WANPIPE_AFT_TE1 -DCONFIG_PRODUCT_WANPIPE_AFT_56K -DCONFIG_PRODUCT_WANPIPE_AFT_RM -DCONFIG_PRODUCT_WANPIPE_CODEC_SLINEAR_LAW -DCONFIG_PRODUCT_WANPIPE_AFT_BRI -DCONFIG_PRODUCT_WANPIPE_AFT_SERIAL -DCONFIG_PRODUCT_WANPIPE_AFT_A600 -DCONFIG_PRODUCT_WANPIPE_AFT_B601 -DCONFIG_PRODUCT_WANPIPE_AFT_B800 -DCONFIG_PRODUCT_WANPIPE_AFT_A700 -DCONFIG_PRODUCT_WANPIPE_USB -DCONFIG_PRODUCT_WANPIPE_AFT_TE3 -DWANPIPE_USE_I_PRIVATE -DKERN_PROC_PDE_FEATURE=1 -DKERN_PROC_CREATE=0 -DKERN_SK_FOR_NODE_FEATURE=0 -DSOCK_NO_OPT=0 -DKERN_NETIF_TRANS_UPDATE=1 -DKERN_NDO_CHANGE_MTU_RH74=0 -DKERN_DEV_CHG_FLAG_UPDATE=1 -DKERN_NDO_TIMEOUT_UPDATE=1 -DKERN_MEMCPY_FROM_MSG=1 -DKERN_MEMCPY_TO_MSG=1 -DKERN_CLASS_DEV_GROUPS=1 -DKERN_TIMER_SETUP=1 -DKERN_TIMER_32BIT=0 -DKERN_REFCNT_UPDATE=1 -DKERN_SIG_UPDATE=1 -DKERN_CLASS_PROTO_OPS_UPDATE=0 -DKERN_DO_GET_TIME=0 -DKERN_GET_KENEL_DS=0 -DKERN_MODPOST_STATIC_ERR=0 -DKERN_TASK_STATE_CHG=1 -DKERN_RECV_DATAGRAM_CHG=1 -DKERN_BUS_CHG=0 -DCONFIG_WANPIPE_HWEC -I//usr/include/wanpipe -I/usr/include/wanpipe/oct6100_api -I/usr/include/wanpipe/oct6100_api/include -I/usr/include/wanpipe/oct6100_api/include/oct6100api -fsanitize=bounds-strict -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"sdladrv_src"' -DKBUILD_MODNAME='"sdladrv"' -D__KBUILD_MODNAME=kmod_sdladrv -c -o /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.o /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --retpoline --rethunk --sls --stackval --static-call --uaccess --prefix=16 --module /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.o
In file included from /usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:126:
//usr/include/wanpipe/wanpipe_defines.h:479:20: warning: no previous prototype for ‘load_sdladrv’ [-Wmissing-prototypes]
479 | int __init load_##name(void){return mod_init(NULL);} \
| ^~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:668:1: note: in expansion of macro ‘WAN_MODULE_DEFINE’
668 | WAN_MODULE_DEFINE(
| ^~~~~~~~~~~~~~~~~
//usr/include/wanpipe/wanpipe_defines.h:480:21: warning: no previous prototype for ‘unload_sdladrv’ [-Wmissing-prototypes]
480 | void __exit unload_##name(void){mod_exit(NULL);} \
| ^~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:668:1: note: in expansion of macro ‘WAN_MODULE_DEFINE’
668 | WAN_MODULE_DEFINE(
| ^~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:11706:5: warning: no previous prototype for ‘sdla_usb_create’ [-Wmissing-prototypes]
11706 | int sdla_usb_create(struct usb_interface *intf, int adptr_type)
| ^~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:11749:5: warning: no previous prototype for ‘sdla_usb_remove’ [-Wmissing-prototypes]
11749 | int sdla_usb_remove(struct usb_interface *intf, int force)
| ^~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:11777:6: warning: no previous prototype for ‘_sdla_copy_hwinfo’ [-Wmissing-prototypes]
11777 | void _sdla_copy_hwinfo(hardware_info_t *hwinfo, sdlahw_t *hw, sdlahw_cpu_t *hwcpu)
| ^~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c: In function ‘sdla_register’:
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:5166:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
5166 | if (conf != NULL){
| ^
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:5169:9: note: here
5169 | case WANOPT_AFT:
| ^~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c: In function ‘sdla_down’:
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:6565:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
6565 | if (hwcpu->used > 1){
| ^
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_src.c:6569:17: note: here
6569 | default:
| ^~~~~~~
...
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1138:5: warning: no previous prototype for ‘sdla_a700_analog_write_fe’ [-Wmissing-prototypes]
1138 | int sdla_a700_analog_write_fe (void* phw, ...)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1180:10: warning: no previous prototype for ‘__sdla_a700_analog_read_fe’ [-Wmissing-prototypes]
1180 | u_int8_t __sdla_a700_analog_read_fe (void* phw, ...)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1285:10: warning: no previous prototype for ‘sdla_a700_analog_read_fe’ [-Wmissing-prototypes]
1285 | u_int8_t sdla_a700_analog_read_fe (void* phw, ...)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1400:6: warning: no previous prototype for ‘sdla_b800_reset_module’ [-Wmissing-prototypes]
1400 | void sdla_b800_reset_module(sdla_t *card, int mod_no)
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1420:6: warning: no previous prototype for ‘sdla_b800_reset_fe’ [-Wmissing-prototypes]
1420 | void sdla_b800_reset_fe (void *fe)
| ^~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1536:5: warning: no previous prototype for ‘sdla_b800_write_fe’ [-Wmissing-prototypes]
1536 | int sdla_b800_write_fe(void* phw, ...)
| ^~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1771:10: warning: no previous prototype for ‘__sdla_b800_read_fe’ [-Wmissing-prototypes]
1771 | u_int8_t __sdla_b800_read_fe (void* phw, ...)
| ^~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:1843:10: warning: no previous prototype for ‘sdla_b800_read_fe’ [-Wmissing-prototypes]
1843 | u_int8_t sdla_b800_read_fe (void* phw, ...)
| ^~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2584:5: warning: no previous prototype for ‘sdla_b601_te1_write_fe’ [-Wmissing-prototypes]
2584 | int sdla_b601_te1_write_fe(void *phw, ...)
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2615:10: warning: no previous prototype for ‘__sdla_b601_te1_read_fe’ [-Wmissing-prototypes]
2615 | u_int8_t __sdla_b601_te1_read_fe (void *phw, ...)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2660:10: warning: no previous prototype for ‘sdla_b601_te1_read_fe’ [-Wmissing-prototypes]
2660 | u_int8_t sdla_b601_te1_read_fe (void *phw, ...)
| ^~~~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2689:6: warning: no previous prototype for ‘sdla_w400_reset_fe’ [-Wmissing-prototypes]
2689 | void sdla_w400_reset_fe (void *fe)
| ^~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2696:5: warning: no previous prototype for ‘sdla_w400_write_fe’ [-Wmissing-prototypes]
2696 | int sdla_w400_write_fe (void *phw, ...)
| ^~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2703:10: warning: no previous prototype for ‘__sdla_w400_read_fe’ [-Wmissing-prototypes]
2703 | u_int8_t __sdla_w400_read_fe (void *phw, ...)
| ^~~~~~~~~~~~~~~~~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/sdladrv_fe.c:2710:10: warning: no previous prototype for ‘sdla_w400_read_fe’ [-Wmissing-prototypes]
2710 | u_int8_t sdla_w400_read_fe (void *phw, ...)
| ^~~~~~~~~~~~~~~~~
...
In file included from //usr/include/wanpipe/wanpipe_includes.h:231,
from //usr/include/wanpipe/wanpipe_cdev_iface.h:8,
from /usr/src/wanpipe-7.0.38/kdrvtmp/wanpipe_cdev_linux.c:16:
/usr/src/wanpipe-7.0.38/kdrvtmp/wanpipe_cdev_linux.c: In function ‘wanpipe_global_cdev_init’:
./include/linux/init.h:184:22: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
184 | #define THIS_MODULE (&__this_module)
| ~^~~~~~~~~~~~~~~
| |
| struct module *
/usr/src/wanpipe-7.0.38/kdrvtmp/wanpipe_cdev_linux.c:214:38: note: in expansion of macro ‘THIS_MODULE’
214 | wp_cdev_class = class_create(THIS_MODULE, "wanpipe");
| ^~~~~~~~~~~
In file included from ./include/linux/device.h:31,
from ./include/linux/dma-mapping.h:8,
from ./include/linux/skbuff.h:28,
from ./include/linux/ip.h:16,
from ./include/net/ip.h:22,
from //usr/include/wanpipe/wanpipe_includes.h:259:
./include/linux/device/class.h:228:54: note: expected ‘const char *’ but argument is of type ‘struct module *’
228 | struct class * __must_check class_create(const char *name);
| ~~~~~~~~~~~~^~~~
/usr/src/wanpipe-7.0.38/kdrvtmp/wanpipe_cdev_linux.c:214:25: error: too many arguments to function ‘class_create’
214 | wp_cdev_class = class_create(THIS_MODULE, "wanpipe");
| ^~~~~~~~~~~~
./include/linux/device/class.h:228:29: note: declared here
228 | struct class * __must_check class_create(const char *name);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /usr/src/wanpipe-7.0.38/kdrvtmp/wanpipe_cdev_linux.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.8.0-1016-aws/Makefile:1925: /usr/src/wanpipe-7.0.38/kdrvtmp] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-1016-aws'
make: *** [Makefile:33: all] Error 2
---------------------------------------------
wanpipe install failed: unsupported kernel?
You must be