What is ipmi_msghandler? It stops nvidia modules from unloading so bbswitch doesn't work

A couple of people tell me they have Optimus problems: bbswitch can’t turn off their nvidia card. They have a kernel module ipmi_msghandler

In fact, there is this bbswitch bug report: https://github.com/Bumblebee-Project/bbswitch/issues/173

On my Ubuntu 18.04 installation, I have not noticed this driver and I don’t have this problem.

What is it and how can it be fixed?

Like mentioned in the comment of that issue report, that module shouldn’t be the problem. In that report, the nvidia module has a usage count of 12, so it can’t be unloaded. So it’s necessary to find out what keeps a hold on it. Maybe this is the systemd-logind issue reloaded? Or maybe the persistenced still running? Maybe someone with that issue should start by checking with lsof
lsof | grep /dev/nvidia
lsof | grep /dev/dri