MEI kernel driver not available on enlistment

Good day

We have a bunch of machines that work using the Intel AMT power management and it is working fine and all, but I noticed that during enlistment and commissioning the /dev/meiX device is missing.

I tried to do a modprobe and noticed that the kernel drivers for mei is not added on boot time.

If I do a normal deploy on my devices, it does add the correct devices and I am able to see the device post-install but by then I had to manually add the device settings.

Is there a way that we can add this driver to the kernel? I have tried the GA, HWE and HWE-Edge kernels, but with no luck

My end goal is to get all the device settings from Intel AMT on enlistment time so that I don’t have to manually sort through 10s of machines by hand

Good day @louigie,

You could create a commissioning script that add a kernel module.

If you write a bash script loading the kernel module you could use it as commissioning script. This script can be uploaded directly from the UI:

  • Settings (left panel) > Scripts | Commissioning scripts > Upload script

If you need some examples, you can explore the default scripts on the same window. In addition to that, check the MAAS documentation with the metadata reference associated to this type of scripts:

https://maas.io/docs/reference-commissioning-scripts

Thanks for the reply. I am running some scripts, so that much is sorted, but how can I add a kernel module that is missing from the kernel?

If I simply do modprobe -r mei it says it can’t find it. Its missing from the actual kernel drivers folder inside /lib/modules

I did some investigation and the drivers are added into the kernel itself and I can’t seem to find any other place to download the mod files.

Does this mean the kernel used for e listing and commissioning are reduced?

MAAS offers GA and HWE kernels, the later might work here.

you can go to Settings -> Commissioning and select a HWE kernel as default.

for existing machines, you can go to the Machine configuration tab and select a different kernel

I have tried both before and retried them now again

When I boot into the machine, this is the result of the commissioning host (this is the complete list):

ls -l /lib/modules/6.5.0-45-generic/kernel/drivers/misc/
total 116
drwxr-xr-x 2 root root   100 Aug  2 02:13 cardreader
drwxr-xr-x 2 root root    60 Aug  2 02:13 cb710
drwxr-xr-x 2 root root    60 Aug  2 02:13 eeprom
-rw-r--r-- 1 root root 39505 Jul 15 15:19 enclosure.ko
-rw-r--r-- 1 root root 37145 Jul 15 15:19 hpilo.ko
-rw-r--r-- 1 root root 32985 Jul 15 15:19 tifm_core.ko
drwxr-xr-x 2 root root    60 Aug  2 02:14 vmw_vmci

Whereas on our deployed hosts we have (Snipped due to lenght):

ls -l /lib/modules/5.15.0-91-generic/kernel/drivers/misc/
total 560
-rw-r--r-- 1 root root 14705 Nov 14  2023 ad525x_dpot-i2c.ko
-rw-r--r-- 1 root root 15185 Nov 14  2023 ad525x_dpot-spi.ko
-rw-r--r-- 1 root root 45657 Nov 14  2023 ad525x_dpot.ko
drwxr-xr-x 2 root root    29 Jan 18  2024 altera-stapl
-rw-r--r-- 1 root root 15857 Nov 14  2023 apds9802als.ko
...
drwxr-xr-x 3 root root    85 Jan 18  2024 mei
...

So I assume I will need to create a different image which includes these drivers?

Unfortunately, I cannot reproduce it.

I commissioned and deployed Ubuntu 22.04 LTS with ga-22.04 and the kernel module is found:

$ ls -l /lib/modules/$(uname -r)/kernel/drivers/misc/ | grep mei
drwxr-xr-x 3 root root  4096 Sep  4 13:48 mei

The same for Ubuntu 24.04 LTS with ga-24.04:

$ ls -l /lib/modules/$(uname -r)/kernel/drivers/misc/ | grep mei
drwxr-xr-x 5 root root  4096 Sep  4 13:58 mei

Could you reinstall the kernel and headers in the deployed machine?

sudo apt update

sudo apt -y install --reinstall linux-image-$(uname -r)
sudo apt -y install --reinstall linux-headers-$(uname -r)

Then, look up the module again:

modinfo mei

I can see them once they are deployed, that is not my issue.

My issue is that I can’t see them in the commissioning step. I want to connect to the /dev/meiXX device during enlistment/commissioning so that I can get the information of the host dynamically.

Once it has been deployed I don’t really need that driver all that much (at least not in MAAS)

MAAS doesn’t support custom commissioning images. can you file a bug in MAAS about the missing driver?

for reference: Bug #2082885 “Missing MEI driver at enlistment and provisioning” : Bugs : MAAS

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