Your Ad Here

IBM AIX/UNIX system storage administration ksh/perl scripting

Monday, March 15, 2010

mkvdev creating SEA adapter generates: 0514-040 Error initializing a device into the Kernel.

 Technote (FAQ)
Why am I getting this error when I am running my mkvdev command to create an SEA:

Method error (/usr/lib/methods/cfgsea):

0514-040 Error initializing a device into the kernel.
There are many things that can cause this error when creating a Shared Ethernet Adapter. The main idea when troubleshooting the problem is to find out if something is locking down the underlying adapters that is keeping them from being able to be used in the SEA. Here are some common things to check:
1) #netstat -in --> do you see any en or et network interfaces for any of the underlying adapters? If so you will need to detach them from the system, and it is recommended to remove them so that they do not come back on a reboot. Sample commands: where X is the number of the adapter

#ifconfig enX down detach

#rmdev -dl enX

2)You will want to make sure all the ent adapters that are involved in the command are showing up as "available". You can run this command to view the adapters and their state:

#lsdev -Cc adapter |grep ent

3) Make sure that the virtual adapter that is being used as the "trunk" adapter, i.e. the adapter that follows the -vadapter attribute, has the "access external networks" section checked in the radio box. See below screen shot for example:

4) Verify that the ent adapter is not being used by another device such as a etherchannel or another SEA adapter. The only way to verify this is to check out the attributes of all the other SEA, and etherchannel adapters. You can do this by running the following command in the oem_setup_env: (where X is the number of the SEA or etherchannel you want to view)

#lsattr -El entX (where X = the number of the adapter)

5) Another way to cause this error is if the physical adapter and the virtual adapter "check_sum_offload" setting are not the same. They must either both be yes or both be no. The command to check this attribute is:

#lsattr -El entX (where X = the number of the adapter. Run this on both the physical and virtual adapter to be used in the SEA)

6) If you are using an HEA adapter you will want to verify that your vio server is the promiscuous lpar for that physical port. See DCF document: "HEA / IVE Host Ethernet Adapter / Integrated Virtual Ethernet, Setting the Promiscuous Lpar ".,promiscuous

7) Another way to get this error with an HEA is if the VIO server partition does not have enough physical memory. The only way to determine if you need more physical memory to get past this error is to allocate some more memory to the lpar and re-activate. Once this is done, re-try your mkvdev command.

8) This is not a total comprehensive listing as there may not be any such thing. This error message is very generic and new problems arise that can cause this message to be generated. The most important thing to keep in mind when getting this error is that for some reason the adapters involved in creating the SEA are unable to be used for one reason or another. Troubleshooting should be narrowed down to examine each adapter to find out what the problem may be.

NOTE: All commands in this document are to be run from the root prompt in "oem_setup_env" with the exception of the mkvdev command itself. The mkvdev command needs to be run in the CLI environment.