View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0017437 | AltArch - armhfp | kernel | public | 2020-06-06 20:32 | 2020-10-28 16:24 |
Reporter | bahleka.hoobovo | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | AltArch-armhfp | OS | CentOS 7 | OS Version | 7.8.2003 |
Product Version | 7.8-2003 | ||||
Summary | 0017437: wireguard not working on kernel 5.4.42 | ||||
Description | wireguard stops working after kernel-update from 5.4.28 to 5.4.42 | ||||
Steps To Reproduce | 1) Install kernel 5.4.28 2) configure wireguard 3) Install kernel 5.4.42 4) wireguard is not available anymore | ||||
Additional Information | 5.4.42 $ lsmod | grep wire is empty 5.4.42 $ insmod wireguard insmod: ERROR: could not load module wireguard: No such file or directory 5.4.28 $ lsmod | grep wire wireguard 135168 0 ip6_udp_tunnel 16384 1 wireguard udp_tunnel 16384 1 wireguard ipv6 466944 29 nf_reject_ipv6,ip6table_mangle,wireguard Seems like "wireguard-dkms.noarch" is not working for the new kernel. $ yum list *kernel-headers* Installed Packages kernel-headers.armv7hl 5.4.28-200.el7 @base Maybe missing kernel-headers? | ||||
Tags | centos7 raspberripi arm | ||||
Is this generic kernel or for raspberrypi2 kernel? How did you install wireguard (step by step or reference url, so I can try to replicate without assuming anything) Since wireguard isn't included in kernel until 5.6, I'm assuming that something must have broken the build in kernel upstream, but I'd like to be able to confirm that |
|
$ yum list *kernel* Installed Packages kernel-headers.armv7hl 5.4.28-200.el7 @base raspberrypi2-kernel-devel.armv7hl 5.4.28-v7.1.el7 @centos-kernel raspberrypi2-kernel-devel.armv7hl 5.4.42-v7.1.el7 @centos-kernel raspberrypi2-kernel4.armv7hl 5.4.28-v7l.1.el7 installed raspberrypi2-kernel4.armv7hl 5.4.42-v7l.1.el7 @centos-kernel raspberrypi2-kernel4-devel.armv7hl 5.4.28-v7l.1.el7 @centos-kernel raspberrypi2-kernel4-devel.armv7hl 5.4.42-v7l.1.el7 @centos-kernel $ yum list *wireguard* wireguard-dkms.noarch 1:1.0.20200506-1.el7 @copr:copr.fedorainfracloud.org:jdoss:wireguard wireguard-tools.armv7hl 1.0.20200513-1.el7 @epel Repo: https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo $ yum repolist !base/7/armhfp CentOS-7 - Base 7,454 !centos-kernel/7/armhfp CentOS LTS Kernels for armhfp 19 !copr:copr.fedorainfracloud.org:jdoss:wireguard Copr repo for wireguard owned by jdoss 5 !epel Epel rebuild for armhfp 24,610 !extras/7/armhfp CentOS-7 - Extras 320 !updates/7/armhfp CentOS-7 - Updates 522 There is a kernel-headers package @base, but only for 5.4.28-200.el7, no other is found. I think therefore the dkms does not build. |
|
$ dkms install wireguard/1.0.20200506 -k 5.4.42-v7.1.el7 Error! echo Your kernel headers for kernel 5.4.42-v7.1.el7 cannot be found at /lib/modules/5.4.42-v7.1.el7/build or /lib/modules/5.4.42-v7.1.el7/source. You can use the --kernelsourcedir option to tell DKMS where it's located. |
|
I think the error is that you're building a different kernel. IIUC, you should run dkms install wireguard/1.0.20200506 -k 5.4.42-v7l.1.el7 (notice the v7l instead of v7) |
|
You're absolutely right. I choosed the wrong kernel doing it by hand. Nevertheless it also does not work with the right kernel, but with a different error message. Actually it should do this all automatic without user intervention. $ dkms install wireguard/1.0.20200506 -k 5.4.42-v7l.1.el7 [..] Error! Bad return status for module build on kernel: 5.4.42-v7l.1.el7 (armv7hl) Consult /var/lib/dkms/wireguard/1.0.20200506/build/make.log for more information. $ cat /var/lib/dkms/wireguard/1.0.20200506/build/make.log [..] LD [M] /var/lib/dkms/wireguard/1.0.20200506/build/wireguard.o Building modules, stage 2. MODPOST 1 modules make[3]: *** No rule to make target `arch/arm/kernel/module.lds', needed by `/var/lib/dkms/wireguard/1.0.20200506/build/wireguard.ko'. Stop. make[3]: *** Waiting for unfinished jobs.... CC [M] /var/lib/dkms/wireguard/1.0.20200506/build/wireguard.mod.o make[2]: *** [__modpost] Error 2 make[1]: *** [modules] Error 2 make: *** [sub-make] Error 2 make: Leaving directory `/usr/src/kernels/5.4.42-v7l.1.el7' with the older kernel it works fine: $ dkms install wireguard/1.0.20200506 -k 5.4.28-v7l.1.el7 [..] DKMS: install completed. $ cat make.log [..] LD [M] /var/lib/dkms/wireguard/1.0.20200506/build/wireguard.o Building modules, stage 2. MODPOST 1 modules CC [M] /var/lib/dkms/wireguard/1.0.20200506/build/wireguard.mod.o LD [M] /var/lib/dkms/wireguard/1.0.20200506/build/wireguard.ko make: Leaving directory `/usr/src/kernels/5.4.28-v7l.1.el7' |
|
after coping the "module.lds" from the old-kernel-dir to the new-kernel-dir it works. But this is not the way it should work. $ cat arch/arm/kernel/module.lds SECTIONS { .plt (NOLOAD) : { BYTE(0) } .init.plt (NOLOAD) : { BYTE(0) } .text.ftrace_trampoline (NOLOAD) : { BYTE(0) } } |
|
Agreed, but I'm guessing that's what you did the first time, since nothing changed in the packaging. I'll see if I can get that file added for the next time |
|
You are right. History says: I injected the file from somewhere to the old kernel. Adding the file would be great. Here is an one year old thread (other linux) with he same problem for arm64: https://forum.odroid.com/viewtopic.php?t=34659 So maybe it's a problem in the upstream? |
|
No, definitely a problem with the way we build that kernel. | |
@ bahleka.hoobovo This should be fixed in 5.4.49, can you check? | |
OK. the update works. I can not check a fresh install now. | |
Just an FYI, we'll be building 5.4.53 this week, (both Raspberry and generic kernels) and it will include wireguard, so no need for dkms/kmod anymore :) | |
Wireguard is now included in all our 5.4.x kernels | |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-06-06 20:32 | bahleka.hoobovo | New Issue | |
2020-06-06 20:32 | bahleka.hoobovo | Tag Attached: centos7 raspberripi arm | |
2020-06-08 11:41 | pgreco | Note Added: 0037050 | |
2020-06-08 12:23 | bahleka.hoobovo | Note Added: 0037051 | |
2020-06-08 12:53 | bahleka.hoobovo | Note Added: 0037052 | |
2020-06-08 16:26 | pgreco | Note Added: 0037056 | |
2020-06-10 12:16 | bahleka.hoobovo | Note Added: 0037061 | |
2020-06-10 12:31 | bahleka.hoobovo | Note Added: 0037062 | |
2020-06-10 12:37 | pgreco | Note Added: 0037063 | |
2020-06-10 13:51 | bahleka.hoobovo | Note Added: 0037064 | |
2020-06-10 21:03 | pgreco | Note Added: 0037068 | |
2020-07-22 17:24 | pgreco | Note Added: 0037397 | |
2020-07-28 08:10 | bahleka.hoobovo | Note Added: 0037426 | |
2020-07-28 10:11 | pgreco | Note Added: 0037427 | |
2020-10-25 14:00 | pgreco | Status | new => closed |
2020-10-25 14:00 | pgreco | Resolution | open => fixed |
2020-10-25 14:00 | pgreco | Note Added: 0037822 | |
2020-10-28 16:24 | toracat | Status | closed => resolved |