Network Server AIX: Altering the ODM

Side Navigation Graphic, See Text Links

Find It
Home
Table Of Contents
Support Pages
Feedback & Contact
Apple Computer, Inc.
Mirror Sites
Huh?

ListenUP plug-in URL

TECHINFO-0020751

TOPIC

On a Network Server 500 or 700 running AIX, I moved a PCI Ethernet card to another PCI slot. I was not able to remove the old device, however. The device was in the defined state, but it could not be removed even if I manually deleted the device. This leaves an "en1" device, and a configured "en2" device which should be "en1".

DISCUSSION

This is a special case where an object defined in the ODM could not be deleted by deleting the device. You can selectively alter the ODM with the following steps:

Step 1
Before running any "" or "odmadd" commands, it is recommended that you save the original copies of the Cu* files, like this:


cd /etc/objrepos 
cp CuAt cuat.old 
cp CuDep cudep.old 
cp CuDv cudv.old 
cp CuDvDr cudvdr.old 
cp CuVPD cuvpd.old 
Step 2
In general, to find out what is in the ODM, you can run the odmget command. There are five files on which you would want to run odmget. These files are in /etc/objrepos; their names are CuAt, CuDep, CuDv, CuDvDr, and CuVPD. The syntax for odmget would be:


odmget CuAt > /tmp/cuat 
odmget CuDep > /tmp/cudep 
odmget CuDv > /tmp/cudv 
odmget CuDvDr > /tmp/cudvdr 
odmget CuVPD > /tmp/cuvpd 

Then you can use pg, vi, or another editor on the /tmp/cu* files to "see" what is in the ODM. You can also "grep" for items, if you know what you are looking for, like this: (This assumes that you put the output of the odmget commands in the /tmp directory, in files beginning with the letters "cu".)


grep 'ent_name' /tmp/cu* 

where "ent_name" is the word for which you are looking. For example: grep ent2 /tmp/cu*

Step 3
WARNING: If you run " -o CuAt", you will delete EVERYTHING in /etc/objrepos/CuAt! Consider backing up each /etc/objrepos/Cu* file if you have not already done so.

You can put the commands below in a file, make it executable, and run it. It will delete anything in the ODM that is associated with et2. You will want to also delete all ent2 entries.


DEVICE=et2 
odmdelete -q "name = $DEVICE" -o CuAt 
odmdelete -q "parent = $DEVICE" -o CuDv 
odmdelete -q "name = $DEVICE" -o CuDv 
odmdelete -q "name = $DEVICE" -o CuDep 
odmdelete -q "dependency = $DEVICE" -o CuDep 
odmdelete -q "value1 = $DEVICE" -o CuDvDr 
odmdelete -q "value3 = $DEVICE" -o CuDvDr 
The Famous Apple!

Previous
[Previous] [Top] [Next]

-----------------------------------------------------------

"The Information Alley", in all formats, is copyright Apple Computer, Inc.
All Rights Reserved.