SPI flashe/eeprom programmer with capsule file question

Discussion in 'BIOS Mods' started by pitabread, Sep 14, 2013.

  1. pitabread

    pitabread MDL Novice

    Aug 23, 2009
    7
    0
    0
    Hi,

    I apologize if this is a stupid question. Is it possible to flash a capsule (.cap | uefi) file using a spi flasher? I believe the answer is no, because I tried it and it didn't work out. With that said are there any utilities that can convert it into a format that I can use a flasher to program the chip?

    I tried fd44editor but it only accepts asus boards. I am able to open the capsule file using AMIBCP 4.53 and MMTOOL 4.50.0.23 but it wants to save it in capsule format.

    Any insight and help would be greatly appreciated. Thanks!
     
  2. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,264
    1,422
    180
    #2 LatinMcG, Sep 14, 2013
    Last edited by a moderator: Apr 20, 2017
    what are steps youre doing to recover bios ?

    Code:
     The following procedure should be completed in the event the standard ME firmware update process fails.  1. Power down and remove the AC power cord. 2. Open the server chassis. For instructions, see your server chassis documentation. 3. Move jumper from the default operating position (covering pins 1 and 2) to the enabled position (covering pins 2 and 3). 4. Close the server chassis. 5. Reconnect the AC cord and power up the server. 6. Perform the ME firmware update procedure as documented in the README.TXT file that is included in the given ME firmware update package (same package as BIOS). 7. Power down and remove the AC power cord. 8. Open the server chassis. 9. Move jumper from the enabled position (covering pins 2 and 3) to the disabled position (covering pins 1 and 2). 10. Close the server chassis. 11. Reconnect the AC cord and power up the server. 8.4 BIOS Recovery Jumper The BIOS Recovery process can be initiated by setting the BIOS Recovery jumper. The recovery media must contain the following files under the root directory: 1. RML.ROM  2. UEFI iFlash32 11.0 Build 8 (including ipmi.efi ) 3. *Rec.CAP 4. BIOS.nsh (update accordingly to use proper *Rec.CAP file)  BIOS starts the recovery process by first loading and booting to the recovery image file (RML.ROM) on the root directory of the recovery media (USB flash drive). This process takes place before any video or console is available. Once the system boots to this recovery image file, it will boot automatically into EFI shell to invoke the BIOS.nsh script and start the flash update application (IFlash32.efi). IFlash32.efi requires the supporting BIOS Capsule image file   (*Rec.CAP). After the update is complete, there will be a message displayed stating that the "BIOS has been updated successfully" indicating the recovery process is finished.The User should then switch the recovery jumper back to normal operation and restart the system by performing a power cycle.
    http://www.manualowl.com/m/Intel/S2600CP/Manual/299886?page=117

    also open it in HxD hexeditor to delete what it needs deleted then save as .bin

    or find a similar board and make backup from spi prog.
     
  3. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    219
    646
    10
    #3 CodeRush, Sep 16, 2013
    Last edited: Sep 22, 2013
    UPD: actually, I was wrong advising to remove the exactly 0x800 bytes of data from every UEFI capsule present. Let me correct myself a bit.
    First, there is 2 modern UEFI capsule types: normal one defined by UEFI 2.0 standard and extended one used by AMI in their Aptio UEFIs.
    Check out this slide from AMI's Plugfest 2012 presentation:
    [​IMG]
    The only thing I must add that sizeof(EFI_GUID) is 16 bytes.
    Open your capsule file with hex editor and see, where the header ends, so you can remove it the right way.
    You can check if your UEFI image file can be directly flashed to BIOS chip by checking Intel descriptor signature, that is always 5A A5 F0 0F at offset 0x10 from the beginning of the image without capsule header. It's so only for Intel platforms, but it still can be handy.
     
  4. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    219
    646
    10
    Updated the answer to be more correct.
     
  5. pitabread

    pitabread MDL Novice

    Aug 23, 2009
    7
    0
    0
    Sorry for the late reply, I couldn't find time to play around with it until now. I wish I can get access to another board and I tried recovery mode awhile back. I tried it again after attempting to load my botched BIOS in but doesn't appear to work.

    Does the chip need to be blank for the recovery mode to work?
     
  6. pitabread

    pitabread MDL Novice

    Aug 23, 2009
    7
    0
    0
    Thank you for the very informative post. I tried removing the first 2k (0x800) from the cap file and doesn't appear to work. I was able to find the Intel signature in the cap file and removed everything before it in attempt to only load the FW. Perhaps this approach was wrong and it wasn't located in 0x10 it was starting at 0x1E3CB. I'm obviously doing this wrong... :(
     
  7. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,264
    1,422
    180
    how is BootBlock going to work if BIOS chip is erased ???
     
  8. pitabread

    pitabread MDL Novice

    Aug 23, 2009
    7
    0
    0
    Thanks for the clarification. This is why i'm trying to get a BIOS loaded because it's the only option at this point; I left out the information on this thread that the original chip is not functional.
     
  9. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,264
    1,422
    180
    so u never made a backup.bin of the chip ? bad.. but i think its recoverable with NBDMIFIT (slp file marker tool thread) if u get the bios working.. serial and other things likely missing.