Netgate SG-2440 coreboot update failure
-
I recently factory reset this unit and restored from this usb firmware image making sure to accept all the defaults:
pfSense-netgate-memstick-ADI-2.4.5-RELEASE-amd64.imgIt comes up fine, however I noticed that the coreboot bios was out of date (v12 instead of v17). When I attempted to perform the upgrade, it tells me that the coreboot update failed, and the output states:
Failed to write flash data, exiting ... Updating flashing ... SN: XXXXXXXXXX Serial Number Read from Flash XXXXXXXXXX
I tried uninstalling and re-installing the coreboot package, but that had no effect.
I tried gracefully power cycling it (System, Halt, unplugging and plugging the unit back in again), but the same message appears when I make another attempt. I'd like to take one last stab at this from the terminal to make sure this is really the failure being reported, but I haven't been able to find anything online about how to do this from the console. Has anyone attempted this?
If the chip is bad, I'd like to know where on the board it exists to see if it's possible to replace. I'm also curious how much of a problem this is -- as I said, it works, it's just missing whatever updates have happened since v1.00.00.12
edit:
I found a backup in /tmp, and using that size did a search for similar files:/usr/local/share/pfSense-pkg-Netgate_Coreboot_Upgrade/roms/ADI_RCCVE-01.00.00.17-nodebug.rom /usr/local/share/pfSense-pkg-Netgate_Coreboot_Upgrade/roms/ADI_DFF2-01.00.00.17-nodebug.rom
I think the flashrom binary should be the executable to use, but...
-
I found the source of the flash file (https://github.com/ADIEngineering/adi_coreboot_public/tree/master/releases/ADI_RCCVE-01.00.00.17) and looking in their perl script to see how to run everything, tried it myself:
flashrom -p internal -w /usr/local/share/pfSense-pkg-Netgate_Coreboot_Upgrade/roms/ADI_RCCVE-01.00.00.17-nodebug.rom -o /tmp/test.log flashrom v1.1 on FreeBSD 11.3-STABLE (amd64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 4, resolution: 1ns). coreboot table found at 0x7fbf0c00. Found chipset "Intel Avoton/Rangeley". Enabling flash write... OK. Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x00000000ff800000. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED.
I gracefully powercycled the device and it came up with the latest bios version. shrug
-
@Tantamount Thank you for this. My SG-2440 couldn't update with the same error and your solution worked for me as well. I should add that after a reboot from UI, my device got a solid red status led. After power cycling it, it started working again with latest version!