Best practice to persistently set kernel module parameters?


I would like a knowledgeable opinion, please.

I have here an X86 box (I-O Data HDL4-X). Its ITE super-i/o chipset (ITE8616, ID 0x8616) is not officially supported by the it87 kernel driver, but can be coerced to work by forcing a compatible chipset (IT8728F). I can load the kmod-hwmon-it87 kernel module manually using

insmod it87 force_id=0x8728

And it seems to be picked up at startup after I edit /etc/modules.d/hwmon-it87 from



it87 force_id=0x8728

Is this approach acceptable?

I also tried creating a .conf file in /etc/modules.d/, but try as I might with several permutations of filenames and contents, I could not get any options to be picked up using .conf files. It's entirely possible that I'm getting some detail wrong, though.

Documentation of all of this is rather poor in general, and especially in an OpenWrt context. What is best practice to set kernel module parameters at startup?

1 Like

etc/modules.conf is a better place surviving sysupgrades by default.

1 Like

That's exactly the approach I was looking for, thank you.

In my case not for the sysupgrade persistance, but rather to be able to bake it into custom images.

For that use case patching modules.d file for kmod via patch is optimal, considering sysupgrade/restore.

If one were to compile the image, which I am not. I will simply include the modified /etc/modules.conf as a file when building my image using ImageBuilder.

1 Like

Thats fine as long as your consumers treat it as a black box.

I don't distribute my images. The consumer, singular, is me. :wink:

That being said, some devices would definitely benefit from a writeup about their properties and necessary modifications. And that reminds me that I wanted to get started on that x86 page for well over a year now. Sigh.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.