OK.  so, I basically had 2 choices for modprobe.d auto_loading of
mlx4_en upon usage of mlx4_core.  Neither was perfect.

A.) "softdep mlx4_core post: mlx4_en mlx4_ib"
The softdep route hits what it seems to me to be a bug in 12.04 in modprobe
or update-initramfs.  The updating of initramfs gives warnings like:
  FATAL: modprobe: softdep dependency loop encountered inserting mlx4_core
  FATAL: modprobe: softdep dependency loop encountered inserting mlx4_core
It exits with success (0), but it does not put mlx4_en inside the initramfs.

B.) "install mlx4_core /sbin/modprobe --ignore-install mlx4_core;
/sbin/modprobe mlx4_en; /sbin/modprobe mlx4_ib"

With this entry, creation of initramfs goes fine, but but if there is no 
mlx4_en or mlx4_ib module available upon request to load the mlx4_core module, 
the user gets a confusing error:
   $ sudo modprobe mlx4_core; echo $?
   FATAL: Could not read 
'/lib/modules/3.2.0-37-virtual/kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko':
 No such file or directory
   0


It really feels to me that soft-dep is more intended to satisfy this exact 
need, but the initramfs is a killer.  So, we'll go with the 'install' route.


### issue with softdep route ####

$ sudo rm /boot/initrd.img-$(uname -r); sudo update-initramfs -u -k $(uname 
-r); echo $?; echo === ; cat /etc/modprobe.d/mlx4.conf; echo ===; lsinitramfs 
/boot/initrd.img-$(uname -r) | grep mlx
update-initramfs: Generating /boot/initrd.img-3.2.0-37-virtual
FATAL: modprobe: softdep dependency loop encountered inserting mlx4_core
FATAL: modprobe: softdep dependency loop encountered inserting mlx4_core
0
===
# mlx4_core should load mlx4_en (LP: #1115710).
softdep mlx4_core post: mlx4_en mlx4_ib
===
lib/modules/3.2.0-37-virtual/kernel/drivers/net/ethernet/mellanox/mlx4
lib/modules/3.2.0-37-virtual/kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko
etc/modprobe.d/mlx4.conf


### issue with install route ####

$ sudo cp ~/mlx4.conf.install /etc/modprobe.d/mlx4.conf; sudo rmmod mlx4_en 
mlx4_ib mlx4_core  &>/dev/null; sudo rm -f /lib/modules/$(uname 
-r)/kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko; echo === ; cat 
/etc/modprobe.d/mlx4.conf; echo ===; sudo modprobe mlx4_core; echo $?; 
===
# mlx4_core should load mlx4_en (LP: #1115710).
#softdep mlx4_core post: mlx4_en mlx4_ib
install mlx4_core /sbin/modprobe --ignore-install mlx4_core; /sbin/modprobe 
mlx4_en; /sbin/modprobe mlx4_ib
===
FATAL: Could not read 
'/lib/modules/3.2.0-37-virtual/kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko':
 No such file or directory
0

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1115710

Title:
  Mellanox mlx4_en network driver is not automatically loaded

To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1115710/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to