BeardOverflow / msi-ec

GNU General Public License v2.0
145 stars 45 forks source link

BUG: DKMS install does not work on fedora. #119

Open CosmicRaptor opened 4 months ago

CosmicRaptor commented 4 months ago

Laptop model

Modern 15 B7M

EC firmware version

15HKEMS1.104

Description

Dmesg output of the error is:

[    1.338520] systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
[    1.338643] systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
[    1.338776] systemd[1]: Failed to start systemd-modules-load.service - Load Kernel `Modules.

Basically, 6.8.7 is the kernel version on which I installed the module. I upgraded to 6.8.8 and it is still trying to load the older version for some reason? Also, even if I remove the module I still get this error while booting for some reason.

teackot commented 4 months ago

Hi!

Also, even if I remove the module I still get this error while booting for some reason.

The module is also present in the upstream Linux kernel, you'll have to blacklist it if you want to fully disable it. The kernel version doesn't support your firmware yet, thus the error.

Are you sure you pulled the latest version of the driver from the main branch of this repo? Try running sudo make dkms-uninstall && sudo make dkms-install on the latest commit

You can also follow these steps to troubleshoot the issue

CosmicRaptor commented 4 months ago

Try running sudo make dkms-uninstall && sudo make dkms-install on the latest commit

HUH, after doing this I still get the dmesg output I earlier mentioned, but nothing shows up in systemctl --failed

I guess we will have to see if this works after a kernel upgrade?

glpnk commented 4 months ago

On Ubuntu after kernel update I need to reinstall driver with dkms.

Btw, I just need to reboot to test if it broken on 6.8.9. Now it works on 6.8.6

UPD: It is not broken on new kernel. Even reinstallation was not required.

CosmicRaptor commented 4 months ago

Okay, I upgraded to 6.8.9 The module did load automatically, yay! Although the dmesg error is still up. It's now complaining that I'm trying to load the module on 6.8.8 What is up with it?

You can also follow these steps to troubleshoot the issue

The log for the systemd-modules-load service is just

May 10 18:04:18 fedora systemd-modules-load[958]: Module 'msr' is built in
May 10 18:04:18 fedora systemd-modules-load[958]: Failed to insert module 'msi_ec': Exec format error

I'm not sure how to resolve that.

glpnk commented 4 months ago

msr is something different.

How you compiled new version? When running updated kernel or old?

Incompatible compiler version?

Try to build it with make without parameters. So maybe dkms just not showing error about compiler incompatibility.

For me it's showing

warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc-13 (Debian 13.2.0-23) 13.2.0
  You are using:           gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

So I just force "required" version with CC flag like this sudo make dkms-install CC=gcc-13

CosmicRaptor commented 4 months ago

How you compiled new version? When running updated kernel or old?

While running the old version I ran dkms-install. The new kernel does load the module, I only get the annoying FAILED entry while booting. I'm trying to fix that.

Try to build it with make without parameters. So maybe dkms just not showing error about compiler incompatibility.

Did not get any errors there.

glpnk commented 4 months ago

Try to re-install with new kernel. But probably this wouldn't help.

I only get the annoying FAILED entry while booting

So module is working after manual reloading?

CosmicRaptor commented 4 months ago

So module is working after manual reloading?

It loaded automatically, I had to do nothing.

Try to re-install with new kernel. But probably this wouldn't help.

That changes nothing I still get the failed entry.

To be clear here, I am trying to diagnose why the entry comes up. The driver loads without any issues.