Firmware (Microcode) handling for RS/6000 and follow-ups


Before upgrading the operating system, especially AIX Versions 5.x, it should be checked whether the system microcode (aka firmware) needs an upgrade. It is a good idea to have the latest microcode loaded, otherwise OS install might fail and even leave the system in an unusable state.
Firmware levels are identified by a 5-digit code representing the release date in Julian notation, yyddd, i.e. TCP05287 means day 287 of year 2005. You get the currently installed firmware level by
lscfg  -vp |  grep  -p  openprom
Alternatively, one may use the SMS Menu at system startup to get that 5-digit number.
Follow the steps:
  1. Use the IBM site Support (unfortunately IBM seems to change their web links at least once a month), follow the links to microcode and look for available updates for the machine under consideration. Alternatively, use the ftp server. Download the AIX version, usually a self-extracting .BIN file.
  2. Unpack it, e.g.:
    chmod u+x ./TCP05287.BIN
    ./TCP05287.BIN
    
    will result in a file ./TCP05287.img
  3. Verify the checksum
    sum TCP05287.img
    
  4. Either
    Transfer (ftp) the image to the target system, then
    cd /usr/lpp/diagnostics/bin
    ./update_flash  -f  TCP05287.img
    
    will trigger the update, which implies an automatic reboot.
    Or
    transfer the image to an MS-DOS formatted floppy and apply the update via SMS Menu

Last update: 13-Apr-2010, M.Kraemer