If you compile a kernel module it has to be compiled using the exact sources of the binary kernel you are currently running plus it needs to be compiled with the exactly same version of gcc your kernel has been built with.
That said, you probably got an update of gcc during one of your system updates and that's still a thing I don't understand: If distributions ship a new gcc version they should definetly update the kernel image too so that such problems can't arise.
Invalid module format errors may also show up if the kernel you're currently running differs from the kernel sources used to compile the vpn module, so to make sure what blocks the loading of cisco_ipsec.ko on your system, use the commands shown in the above mentioned topic:
- Code: Select all
The first command (dmesg -c) clears the kernel's ringbuffer. The second command tries to load the cisco_ipsec.ko kernel module and will get you the "invalid module format" error message.
The last command (dmesg) shows you the exact error message (usually it contains the necessary version numbers too), so please let me see the output of the last `dmesg` run.