vNIC and VIO Servers at 2.2.4.21
As far as I know, this only applies to VIOS 2.2.4.21 and may only be relevant if you have upgraded to 2.2.4.21. Before you configure any vNIC devices, you need to update the ODM for vNIC to use the correct drivers.
Here is the IBM Fix:
IV88624 AFTER VIOS UPGRADE TO 2.2.4.21 VNIC ADAPTER CONFIGURATION FAILS
If the ODM settings are wrong, you will see this error message from cfgdev.
Method error (/usr/lib/methods/cfgvnicserver -l vnicserver0 ):
0514-040 Error initializing a device into the kernel.
If you have any vNIC devices configured, you must remove them from the Client LPAR.
rmdev -dl ent${X}
rmdev -dl en${X}
rmdev -dl et${X}
On the VIO Server:
padmin@vio012: oem_setup_env
This first command did not work for me, but according to IBM it should have fixed the issue. I think this is due to my VIOS having other Converged Network Adapters.
/usr/lib/methods/lncentGotoV2 adapter/pciex/df1028e20f04000 phase2
This was a test lab, so I tried the force option, this worked.
/usr/lib/methods/lncentGotoV2 adapter/pciex/df1028e20f04000 force
How I checked if the above method worked.
This first output shows the vNIC device driver is set to the incorrect one: pci/lnc2entdd
odmget PdDv | grep -p df1028e20f04000 | grep DvDr
DvDr = "pci/lncentdd"
This second output shows the vNIC device driver is set to the correct one: pci/lnc2entdd
odmget PdDv | grep -p df1028e20f04000 | grep DvDr
DvDr = "pci/lnc2entdd"
savebase
shutdown -Fr
Now add the vNIC devices as per my vNIC blog.