Ubuntu: Load drivers at boot

Hi, Just installing the latest MLNX_EN 2.1-1.0.0 drivers on Ubuntu 13.04. The install seems to have gone smoothly and it is nice to have the latest drivers on this release. One thing I was baffled with was loading the drivers at boot. After a bit of investigation, I found that the issue is the “mlnx-en” upstart job is trying to unload the drivers that ship with ubuntu prior to loading the newly installed drivers.

At least in my case, the drivers were not loaded when the upstart job was initiated and trying unload the driver module resulted in an error:

libkmod: ERROR ../libkmod/libkmod-module.c:753 kmod_module_remove_module: could not remove 'mlx4_core': No such file or directory

The fix was to add “|| true” to the “modprobe -r” statement in the upstart script (/etc/init/mlnx-en.conf) as follows:

--- mlnx-en.conf.orig 2014-02-13 14:28:37.937571635 -0600 +++ mlnx-en.conf 2014-02-13 14:28:57.089572169 -0600 @@ -43,7 +43,7 @@ pre-start script /sbin/modprobe $module > /dev/null 2>&1 } - /sbin/modprobe -r mlx4_core + /sbin/modprobe -r mlx4_core || true load_module mlx4_core load_module mlx4_en # Bring up network interfaces

Hopefully this will help someone else that encounters this issue. – Bud

Hi, Thanks for sharing! this is helpful!