I just wanted to write down by experience recovering from a failed BMC firmware upgrade.
The board lost power when I was upgrading the firmware and was completely dead after that apart from the BMC led.
This is what ended up working.
Ethernet switch or crossover cable
TFTPD32 -> http://tftpd32.jounin.net/tftpd32_download.html
PuTTY -> https://www.putty.org/
BMC Firmware -> http://download.gigabyte.eu/FileList/Firmware/server_firmware_ga-6_7xxx_v2.3x.zip
Start TFTPD32 and set the TFTP root directory (example c:\tftp)
Extract the firmware zip file and copy the \235\fw\235.img file to the tftp directory and rename it to all.bin
Connect the TFTP server and the management port of the GA-7PESH2 to a switch or directly with a crossover cable
Set the IP address of the TFTP server to 192.168.0.126
There is a 4 pin UART header for the Aspeed AST2300 SOC located next to one of the 16X PCI-E slots
Connect the UART cable to the pins.
RXD -> TXD
TXD -> RXD
GND -> GND
VCC is not needed
Connect Putty to the com port of your UART cable with baud rate (speed) 115200
Connect power to the GA-7PESH2 board and repetetly press the enter key on the putty console until you get to the uboot console.
DRAM Init-DDR3 CBR0-1234567134670123456701234567 CBR13Done U-Boot 1.2.0-g781ea2e0-dirty (Sep 14 2015 - 14:30:45) Avocent (0.0.28) EVB Board: AST2300 DRAM: 128 MB Flash: Bank (1) Size: 16 MB in 256 Sectors (MXIC MX25L12805) In: serial Out: serial Err: serial Start and Send Device Address can't get ACK back I2C read: I/O error Net: Un-Protected 1 sectors Erasing Flash... Erasing Bank 0: 100% Erased 1 sectors Writing to Flash... Writing Bank 0: 100% done Protected 1 sectors No such device: eth#0 No such device: eth#0 PHY_REG0x1f: 8180 Is KSZ8051 no NC-SI channel active or fail to open NC-SI. eth#0, eth#1 Hit any key to stop autoboot: 0 uboot#
Run the “tftpboot” command
This will download the all.bin firmware image file from the tftp server to memory
uboot# tftpboot PHY_REG0x1f: 8180 Is KSZ8051 eth#0 Wait for auto-negotiation complete ... OK 100MB - Full Duplex Using eth#0 device TFTP from server 192.168.0.126; our IP address is 192.168.0.188 Filename 'all.bin'. Load address: 0x41400000 Loading: 14 MB Bytes transferred = 14679680 (dffe80 hex) uboot#
Take note of the load address from the previous command.
This is the location of the image in memory
Run the “fwu check <load address>” command
uboot# fwu check 0x41400000 Checking image header CRC ... OK Checking platform ID ........ OK Checking kernel image CRC ... OK Checking rootfs image CRC ... OK Checking u-boot image CRC ... OK Skipping u-boot update ...... YES Done!
If this fails the image has not been transferred correctly or you are using the wrong image file.
Run the “fwu update <load address>” command.
uboot# fwu update 0x41400000 Checking image header CRC ... OK Checking platform ID ........ OK Checking kernel image CRC ... OK Checking rootfs image CRC ... OK Checking u-boot image CRC ... OK Skipping u-boot update ...... YES Copying kernel image ........ Un-Protected 26 sectors Erasing Bank 0: 100% Erased 26 sectors Writing Bank 0: 100% Protected 26 sectors OK Copying rootfs .............. Un-Protected 196 sectors ...
If everything completes OK then the firmware has been installed.
Run the “reset” command and you should see the BMC start up normally and the board should be back to normal.