NICMx / Jool

SIIT and NAT64 for Linux
GNU General Public License v2.0
326 stars 66 forks source link

Jool hasn't been modprobed #312

Closed hagodoy closed 4 years ago

hagodoy commented 4 years ago

When installing Jool 4.0.6 in new format with dkms when running:

/usr/local/bin/jool_siit file handle /etc/jool_siit.conf

Error appears:

Error: Jool's socket family doesn't seem to exist. (This probably means Jool hasn't been modprobed.) Netlink error message: Object not found

When removing the module with

modprobe -r jool_siit

and load again

modprobe jool_siit

the command is executed without error, having to do this manually each reboot.

My Linux Linux 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux CentOS 7.

Thanks

ydahhrk commented 4 years ago

What do you mean "new format"? Which one?

Official Debian package? Standalone package? Or something else?

the command is executed without error, having to do this manually each reboot.

If you're talking about the systemd service, it's supposed to be modprobing the module before starting the service. Did you remove the ExecStartPre?

hagodoy commented 4 years ago

New format I say now with dkms, before I used make; make install

For some reason the version 4.0.1 module is still loading at boot, I don't know why

Dec 17 16:05:13 localhost kernel: SIIT Jool: SIIT Jool v4.0.1.0 module removed. Dec 17 16:05:14 localhost named[1237]: resolver priming query complete Dec 17 16:05:37 localhost kernel: Jool: Core Jool v4.0.6.0 module inserted. Dec 17 16:05:37 localhost kernel: SIIT Jool v4.0.6.0 module inserted.

Thank you.

ydahhrk commented 4 years ago

When you installed 4.0.1, which method did you use? Kbuild or DKMS?

If you used DKMS, see if it's still keeping track of it:

$ dkms status
jool, 4.0.1.git.v4.0.1, 4.15.0-54-generic, x86_64: built
jool, 4.0.6.git.v4.0.6, 4.15.0-54-generic, x86_64: installed
$
$ sudo dkms remove jool/4.0.1.git.v4.0.1 --all

-------- Uninstall Beginning --------
Module:  jool
Version: 4.0.1.git.v4.0.1
Kernel:  4.15.0-54-generic (x86_64)
-------------------------------------

Status: This module version was INACTIVE for this kernel.
depmod...

DKMS: uninstall completed.

------------------------------
Deleting module version: 4.0.1.git.v4.0.1
completely from the DKMS tree.
------------------------------
Done.
$
$ dkms status
jool, 4.0.6.git.v4.0.6, 4.15.0-54-generic, x86_64: installed

That should uninstall it properly.

If, on the other hand, you used Kbuild, the process is more esoteric. I don't think there's any documentation stating how to uninstall a Kbuild module, but I think all you have to do is delete the .ko files and reorganize with depmod:

sudo rm /lib/modules/$(uname -r)/extra/jool_siit.ko
sudo rm /lib/modules/$(uname -r)/extra/jool.ko
sudo depmod

Hope this deals with the problem.

hagodoy commented 4 years ago

The problem has been solved. The previous installation had been by Kbuild.

Removal had to be done manually on symbolic links. :-((

After that, I had to install dkms again installing the current version.

Thank you for your help

ydahhrk commented 4 years ago

Hmmm. That's odd. Removing the .kos and depmodding works for me.

I'd like to include this information in the documentation. Could you please tell me what you had to do to properly remove it, and which distribution you're running?

hagodoy commented 4 years ago

Hi,

At first I did the removal with dkms of the old version 4.0.1

dkms remove jool / 4.0.1 --all

Even so when booting the old version of the module was loaded.

Typing:

dkms status

The message was:

WARNING! Diff between built and installed module!

The suggested option was to manually remove the jool * files from the current kernel directory:

/lib/modules/3.10.0-1062.9.1.el7.x86_64/extra

Then remove the current module:

dkms remove jool / 4.0.6 --all

And install again:

dkms install --force jool-4.0.6

When entering dkms status the module was entered correctly:

dkms status jool, 4.0.6, 3.10.0-1062.9.1.el7.x86_64, x86_64: installed

The distribution is a CentOS 7

Kernel: 3.10.0-1062.9.1.el7.x86_64

Thank you !!!