Testing mainline kernel 5.14 on Linksys WRT3200

This is experimental, note that not everything will work, will work with the Linksys WRT series or devices with no WIFI, I had tested in my WRT 3200 and the espressobin.
If anyone wants to give a try this is my source tree for kernel 5.14 :

Pre builds images for the Linksys WRT:

2 Likes

Do you happen to know if the 700-* patch is still required, was hoping to see this drop by the wayside at some point.

Patch 700* is intended for armada 3700 arm64, Linksys WRT devices are unaffected. did you try this on other device than the rango?

It was recently altered to remove the 37xx from being impacted, it came into existence due to an issue on wrtpac devices back in 4.x?? days I think; see commit, but as it says in commit, it is unclear if anyone has looked at it since.

commit make reference to https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf9bf871280d
I tried with the patch 700 removed, didn't notice any difference.

@anon80727944 You should try this.

25MB images? 21.02.0-rcX are ~6MB.

I tried the system upgrade image for the wrt1900acs , boot ok no crash.

Just took a stab at building a clone of your 5.14-rc4 branch and it fails for me. Wondering what flavour of GCC you are using, I tried both 10.x and 11.x resulting in same:

error
+ arm-openwrt-linux-muslgnueabi-ld -EL --no-undefined -X --pic-veneer -z norelro --gc-sections --build-id=sha1 -X --orphan-handling=warn -o vmlinux -T ./arch/arm/kernel/vmlinux.lds --whole-archive arch/arm/kernel/head.o init/built-in.a usr/built-in.a arch/arm/built-in.a arch/arm/mach-mvebu/built-in.a arch/arm/plat-orion/built-in.a kernel/built-in.a certs/built-in.a mm/built-in.a fs/built-in.a ipc/built-in.a security/built-in.a crypto/built-in.a block/built-in.a arch/arm/lib/built-in.a lib/built-in.a arch/arm/lib/lib.a lib/lib.a drivers/built-in.a sound/built-in.a net/built-in.a virt/built-in.a --no-whole-archive --start-group --end-group .tmp_vmlinux.kallsyms2.o
+ '[' -n '' -a -n y ']'
+ '[' -n y ']'
+ info SORTTAB vmlinux
+ printf '  %-7s %s\n' SORTTAB vmlinux
  SORTTAB vmlinux
+ sorttable vmlinux
+ ./scripts/sorttable vmlinux
no __ex_table in file: vmlinux
+ echo Failed to sort kernel tables
Failed to sort kernel tables
+ exit 1
make[5]: *** [Makefile:1177: vmlinux] Error 1
make[5]: *** Deleting file 'vmlinux'
make[5]: Leaving directory '/home/kc/wrtpac/mj22226/build_dir/target-arm_cortex-a9+vfpv3_musl_eabi/linux-mvebu_cortexa9/linux-5.14-rc4'
make[4]: *** [Makefile:20: /home/kc/wrtpac/mj22226/build_dir/target-arm_cortex-a9+vfpv3_musl_eabi/linux-mvebu_cortexa9/linux-5.14-rc4/.modules] Error 2
make[4]: Leaving directory '/home/kc/wrtpac/mj22226/target/linux/mvebu'
make[3]: *** [Makefile:11: compile] Error 2
make[3]: Leaving directory '/home/kc/wrtpac/mj22226/target/linux'
time: target/linux/compile#12.78#5.97#18.79
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:25: target/linux/compile] Error 1
1 Like

I use the default version 8 , Toolchain Options unchecked, before to change to GCC 8 delete /tmp folder or make dirclean.
I got the same error when tried GCC 11 binutils 3.7, changing to binutils 2.36.1 fixed.

1 Like

binutils was indeed the culprit, thanks. Built images with GCC 11.x:

k5.10.56 size change
Kernel 5.10.56

 3424002 Aug  6 12:22  linksys_wrt1200ac-kernel.bin
 3424002 Aug  6 12:22  linksys_wrt1900acs-kernel.bin
 3414551 Aug  6 12:22  linksys_wrt1900ac-v1-kernel.bin
 3423986 Aug  6 12:22  linksys_wrt1900ac-v2-kernel.bin
 3409949 Aug  6 12:22  linksys_wrt3200acm-kernel.bin
 3409879 Aug  6 12:22  linksys_wrt32x-kernel.bin

Kernel 5.14-rc4

 3528474 Aug  6 16:12  linksys_wrt1200ac-kernel.bin
 3528474 Aug  6 16:12  linksys_wrt1900acs-kernel.bin
 3519023 Aug  6 16:12  linksys_wrt1900ac-v1-kernel.bin
 3528458 Aug  6 16:12  linksys_wrt1900ac-v2-kernel.bin
 3514421 Aug  6 16:12  linksys_wrt3200acm-kernel.bin
 3514351 Aug  6 16:12  linksys_wrt32x-kernel.bin

I had to drop WG due to a crypto change.

error
ERROR: module '/home/kc/wrtpac/mj22226/build_dir/target-arm_cortex-a9+vfpv3_musl_eabi/linux-mvebu_cortexa9/linux-5.14-rc4/lib/crypto/libblake2s-generic.ko' is missing.
make[3]: *** [modules/crypto.mk:469: /home/kc/wrtpac/mj22226/bin/targets/mvebu/cortexa9/packages/kmod-crypto-lib-blake2s_5.14-rc4-1_arm_cortex-a9_vfpv3.ipk] Error 1
make[3]: Leaving directory '/home/kc/wrtpac/mj22226/package/kernel/linux'
time: package/kernel/linux/compile#1.44#0.10#1.54
    ERROR: package/kernel/linux failed to build.
make[2]: *** [package/Makefile:116: package/kernel/linux/compile] Error 1

so no all things WG, but that is pretty small; did not look to see if zx2c4 is doing anything upstream.

Flashed and booted on a mamba, but keeps generating a kernel fault, keeps running though. Have not tried on the rango I have here. To the note in OP re. wifi, I left mwlwifi in build, not sure if that plays a part here.

1 Like

This patch fix the WireGuard build issue:

diff --git a/target/linux/mvebu/config-5.14 b/target/linux/mvebu/config-5.14
index 35c19258bf..ef0844c47a 100644
--- a/target/linux/mvebu/config-5.14
+++ b/target/linux/mvebu/config-5.14
@@ -107,6 +107,7 @@ CONFIG_CRYPTO_AES_ARM_BS=y
 CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
 CONFIG_CRYPTO_AUTHENC=y
 CONFIG_CRYPTO_BLAKE2B=y
+CONFIG_CRYPTO_BLAKE2S=y
 CONFIG_CRYPTO_CRC32=y
 CONFIG_CRYPTO_CRC32C=y
 CONFIG_CRYPTO_CRYPTD=y
@@ -118,6 +119,7 @@ CONFIG_CRYPTO_ESSIV=y
 CONFIG_CRYPTO_GF128MUL=y
 CONFIG_CRYPTO_HASH_INFO=y
 CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
 CONFIG_CRYPTO_LIB_DES=y
 CONFIG_CRYPTO_LZO=y
 CONFIG_CRYPTO_NULL2=y

Took a clone of your latest 5.14-RC5 with WG fixup, built and flashed to a mamba. The kernel faults seen on RC4 are no longer, everything that I have tested appears to be working. The only anomaly seen on this target device is PWM (fan) is not working (was fine on RC4).

Edit: also the radios are up and running on target device:

Summary
root@mamba:/# bridge vlan
port              vlan-id  
lan4              10 PVID Egress Untagged
lan3              10 PVID Egress Untagged
lan2              20 Egress Untagged
                  4094 PVID
lan1              10 PVID Egress Untagged
                  30
brch0             10
                  30
brch1             20
wlan1             10 PVID Egress Untagged
wlan0             10 PVID Egress Untagged
wap0              30 PVID Egress Untagged
wiot0             20 PVID Egress Untagged
wap1              30 PVID Egress Untagged
wiot1             20 PVID Egress Untagged

did not notice if you changed anything on that front.

I didn't make any changes other than rebase and kernel bump, on my rango has been stable for the last 3 days.

Are there updated pre-builds with all the latest patches?

@LGA1150

I installed 5.14rc4 from dropbox link above and attempted to install missing bonding packages, thus can't test LACP

@LGA1150


I just added bonding to the RC5 build I had in place and uploaded to my drop if you want to test whether 5.14RCx resolves your issue. Images to be found from link on my avatar.

WRT1900ACv1. Any suggestions?

If you have not previously flashed an image to your mamba that enlarged the kernel reservation space you should use factory image and force. Whether sysupgrade or factory do no keep config.

Thanks for the bonding builds.

  1. The LuCI interface does not properly populate the list of devices, thus you have to select the blank entries in order to save LAGG interface and manually edit /etc/config/network file to add devices.

df9e6e44bc026f262a342a3bc735abacde7d884a_2_690x393

  1. Once I manually edited the /etc/config/network file, reboot would hang, thus unable to test bonding.

Reverted back to 21.02.0rc4