It shows after: mltk_root + mltk ap + hostapd.
Without encryption it's possible without hostapd, with something like: ifconfig wlan0 up.
They do not appear on luci
but you can see the devices using
iw phy
or whatever, after loading mtlk.ko, right?
it appeared for me in ifconfig as wlan0 after loading the modules. haven't tried anything more yet.
Yes, it shows.
do you know what kind of api the wave 600 gives to hostapd? Wext like wave300?
i wish i could share something of value.
i've learned there is something wrong with the intel port of the lantiq pcie driver lol -_-
I think for this to make sense this needs porting to something more standard, porting to cfg80211 and actually finding all the functions will be probably required. Those devices are quite slow(xrx200) and really need to be optimized a lot.
Can everyone post an exact working build how to ?
I try the scripts from post #286 but it fails on generating config because gcc not working
(i thing the -V Flag produce an error)
Can everone where it works tell which toolchain from which sdk, etc ?
Probably you need to remove duplicate gcc directories, there is no code for this because I did not had this issue.
It is planned to add in OpenWrt?
Realistically, chances for that are somewhere between minimal and non-existent (and that's already optimistic).
I am trying to compile the wave300 with the release candidates of OpenWrt (kernel 5.4), but it fails on building "mtlkroot" with this:
make[4]: Entering directory '/home/user/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.4.137'
scripts/kconfig/conf --syncconfig Kconfig
net/sched/Kconfig:45: warning: menuconfig statement without prompt
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
Building modules, stage 2.
MODPOST 951 modules
make[4]: Leaving directory '/home/user/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.4.137'
/home/user/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/bin/mips-openwrt-linux-strip: 'mtlkroot.ko': No such file
cp: could not find 'drv_toolchain_info' # translated original error message
Makefile:485: recipe for target 'mtlkroot.ko' failed
make[3]: *** [mtlkroot.ko] Error 11
make[3]: Leaving directory '/home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot'
Until version 19 the output was:
make[4]: Entering directory '/home/user/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-4.14.221'
Generating drv_info.c...
Generating drv_toolchain_info...
CC [M] /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/tools/mtlkroot/linux/drv_info.o
LP /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/tools/mtlkroot/linux/drv_info.c
LP /home/user/wave300/builds/ugw5.4-vrx288/config.h
......
Building modules, stage 2.
MODPOST 1 modules
CC /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/mtlkroot.mod.o
LD [M] /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/mtlkroot.ko
make[4]: Leaving directory '/home/user/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-4.14.221'
The last command executed by "/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/Makefile.in:486" was:
@(
mkdir -p linux
&& (test -e /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/Kbuild || ln -s /home/user/wave300/builds/ugw5.4-vrx288/../../tools/mtlkroot/linux/Kbuild /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/Kbuild)
&& cd linux
&& echo -n > .mtlk_kernel_target
&& { test x"" = x"y" || echo modules > .mtlk_kernel_target; }
&& make -C /home/user/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.4.137 \
SUBDIRS=/home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux \
`cat .mtlk_kernel_target` \ # this evaluates to: "modules"
abs_srcdir=/home/user/wave300/tools/mtlkroot/linux/ \
top_srcdir=../../../../../ \
abs_top_builddir=/home/user/wave300/builds/ugw5.4-vrx288/ \
abs_builddir=/home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/linux/ \
top_builddir=../../../ \
abs_top_srcdir=/home/user/wave300/ \
srcdir=../../../../../tools/mtlkroot/linux/ \
KERNELDIR=/home/user/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.4.137 \
MTLK_KERNEL_CFLAGS="-mlong-calls" \
ARCH=mips \
CROSS_COMPILE="/home/user/wave300/support/mtlkfront.sh /home/user/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/bin/mips-*linux-" \
CUSTOM_DRV_ENV_INFO= \
LD_LIBRARY_PATH= \
mtlk_build_kernel_library=
&& { { test x"" != x"y"; } || echo lib.a > .built_binary_name; }
&& { { test x"" = x"y"; } || echo mtlkroot.ko > .built_binary_name; }
&& ( /home/user/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/bin/mips-*linux-strip -dx `cat .built_binary_name`; true)
&& ( cp -R --remove-destination -p -u drv_toolchain_info /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot)
&& cp -R --remove-destination -p -u `cat .built_binary_name` /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/mtlkroot.ko || ( rm -f /home/user/wave300/builds/ugw5.4-vrx288/tools/mtlkroot/mtlkroot.ko && exit 11 )
)
The above command is almost the same when compiling against kernel 4.14 and gcc 7.5, except for those paths.
I am stuck on this for a month, need help, thx
p.s.: included the fix for the duplicate toolchain directories, that was shared on this thread
Made some progress, now it almost finish the compilation, its failing with lots of:
......
ERROR: "mtlk_aocs_set_measurement_window" [/home/user/wave300/builds/ugw5.4-vrx288/wireless/driver/linux/mtlk.ko] undefined!
ERROR: "mtlk_20_40_get_active_total_per_channel" [/home/user/wave300/builds/ugw5.4-vrx288/wireless/driver/linux/mtlk.ko] undefined!
ERROR: "mtlk_20_40_set_wait_for_scan_results_interval" [/home/user/wave300/builds/ugw5.4-vrx288/wireless/driver/linux/mtlk.ko] undefined!
ERROR: "mtlk_eeprom_get_lna_gain_bypass" [/home/user/wave300/builds/ugw5.4-vrx288/wireless/driver/linux/mtlk.ko] undefined!
This is probably because modpost is not exporting those symbols.
Beyond that, it will be required to convert 3 pieces of code that use old kernel timer, that I just "#if" it out.
Hello, Successfully compiled.
Now, we need to convert 3 pieces of code that use old kernel timer, that I just "#if" it out.
Hi, kernel 5 timer API included, could someone test it with OpenWrt 21+ ? thx
P.S: Would be good to hear the progress you got
Hi, i can test the driver, is the script working?
i have the vr200v with wave300 for 2.4ghz only
Yes, unless some bug happens
Hi,
Mtlk-root is loading, but insmod can't load the driver because of the missing symbols that I instructed kbuild to ignore, wich was the default behavior on previous kernels.
code for function mtlk_aocs_set_measurement_window
can found in repositories
I found the functions, If I remember correctly, they were in rflib, but the export macro was missing, I tried to export before reconfiguring kbuild flag.
Fixed, it was not missing the export, actually it was not including mltk_rtlib.a in the module ko file