olek210 napisał/a:Zuzia napisał/a:Jak dodać wsparcie DSA nie wiem, a to jedyna nadzieja na podniesienie wydajności.
W sumie to migracja na DSA powinna być możliwa. Jest mainlinowy sterownik DSA dla switcha rtl8367rb. W pierwszej kolejności trzeba by zmodyfikować dts i dodać odpowiednie wpisy dla obu switchy (zintegrowany gswip i zewnętrzny realtek) na podstawie dokumentacji. W dalszej kolejności trzeba by wpisać odpowiednie nazwy portów w 02_network.
Brzmi to trochę zbyt idealnie i potencjalnie może się okazać, że czegoś będzie jeszcze brakować w jakimś sterowniku.
Podjęłam pierwszą próbę z nowszym kernelem, na razie bez DSA tylko przeniosłam patche dla 5.10: https://github.com/zuzia-dev/openwrt-22 … tches-5.10
Nakładają się, ale:
make -C /media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.10.181 KCFLAGS="-fmacro-prefix-map=/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/build_dir/target-mips_24kc_musl=target-mips_24kc_musl -fno-caller-saves " HOSTCFLAGS="-O2 -I/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/staging_dir/host/include -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="mips-openwrt-linux-musl-" ARCH="mips" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="Easybox" KBUILD_BUILD_HOST="904xDSL" KBUILD_BUILD_TIMESTAMP="Sun Jun 11 18:39:44 2023" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/staging_dir/host/lib" CONFIG_SHELL="bash" V='' cmd_syscalls= KERNELRELEASE=5.10.181 CC="mips-openwrt-linux-musl-gcc" all modules
make[4]: Entering directory '/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.10.181'
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
CHK include/generated/compile.h
CC drivers/net/phy/mdio_bus.o
drivers/net/phy/mdio_bus.c:425:17: error: redefinition of 'mdio_find_bus'
425 | struct mii_bus *mdio_find_bus(const char *mdio_name)
| ^~~~~~~~~~~~~
drivers/net/phy/mdio_bus.c:408:17: note: previous definition of 'mdio_find_bus' with type 'struct mii_bus *(const char *)'
408 | struct mii_bus *mdio_find_bus(const char *mdio_name)
| ^~~~~~~~~~~~~
In file included from ./include/linux/linkage.h:7,
from ./include/linux/kernel.h:8,
from ./include/linux/delay.h:22,
from drivers/net/phy/mdio_bus.c:11:
./include/linux/export.h:67:43: error: redefinition of '__ksymtab_mdio_find_bus'
67 | static const struct kernel_symbol __ksymtab_##sym \
| ^~~~~~~~~~
./include/linux/export.h:114:9: note: in expansion of macro '__KSYMTAB_ENTRY'
114 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
./include/linux/export.h:153:41: note: in expansion of macro '___EXPORT_SYMBOL'
153 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
./include/linux/export.h:161:41: note: in expansion of macro '__EXPORT_SYMBOL'
161 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
./include/linux/export.h:164:41: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
| ^~~~~~~~~~~~~~
drivers/net/phy/mdio_bus.c:432:1: note: in expansion of macro 'EXPORT_SYMBOL'
432 | EXPORT_SYMBOL(mdio_find_bus);
| ^~~~~~~~~~~~~
./include/linux/export.h:67:43: note: previous definition of '__ksymtab_mdio_find_bus' with type 'const struct kernel_symbol'
67 | static const struct kernel_symbol __ksymtab_##sym \
| ^~~~~~~~~~
./include/linux/export.h:114:9: note: in expansion of macro '__KSYMTAB_ENTRY'
114 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
./include/linux/export.h:153:41: note: in expansion of macro '___EXPORT_SYMBOL'
153 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
./include/linux/export.h:161:41: note: in expansion of macro '__EXPORT_SYMBOL'
161 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
./include/linux/export.h:164:41: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
| ^~~~~~~~~~~~~~
drivers/net/phy/mdio_bus.c:415:1: note: in expansion of macro 'EXPORT_SYMBOL'
415 | EXPORT_SYMBOL(mdio_find_bus);
| ^~~~~~~~~~~~~
make[7]: *** [scripts/Makefile.build:286: drivers/net/phy/mdio_bus.o] Error 1
make[6]: *** [scripts/Makefile.build:503: drivers/net/phy] Error 2
make[5]: *** [scripts/Makefile.build:503: drivers/net] Error 2
make[4]: *** [Makefile:1828: drivers] Error 2
make[4]: Leaving directory '/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.10.181'
make[3]: *** [Makefile:22: /media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-5.10.181/.modules] Error 2
make[3]: Leaving directory '/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/target/linux/lantiq'
make[2]: *** [Makefile:11: compile] Error 2
make[2]: Leaving directory '/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/target/linux'
time: target/linux/compile#2.89#1.32#27.01
ERROR: target/linux failed to build.
make[1]: *** [target/Makefile:30: target/linux/compile] Error 1
make[1]: Leaving directory '/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03'
make: *** [/media/truecrypt2/temp/new-eb904-22.03/openwrt-22.03/openwrt-22.03/include/toplevel.mk:230: target/linux/compile] Błąd 2
Może ktoś coś podpowie?