On Thu, 11 Jul 2013 12:24:47 +0200 "Trunzer Markus" Markus.Trunzer@kontron.com wrote:
Hello again, I used this source code http://download.flashrom.org/snapshots/flashrom-0.9.6.1-r1643.tar.bz2 and patched it with patch 3894 "patch<AMD---SP5100---take-SPI-ownership-1-2.patch". The patching and compiling was without errors.
The execution of flashrom with "flashrom -VVV -p internal:amd_imc_force=yes" resulted in following error message.
flashrom v0.9.6.1-r1643 on Linux 3.0.1pae (i686) flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.7, GCC 4.4.5, little endian Command line (3 args): flashrom -VVV -p internal:amd_imc_force=yes Calibrating delay loop... OS timer resolution is 1 usecs, 824M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 1000 us, 10000 myus = 10008 us, 4 myus = 4 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "To be filled by O.E.M." DMI string system-product-name: "To be filled by O.E.M." DMI string system-version: "To be filled by O.E.M." DMI string baseboard-manufacturer: "abc" DMI string baseboard-product-name: "123" DMI string baseboard-version: "1.1.0" DMI string chassis-type: "Desktop" Found chipset "AMD SB7x0/SB8x0/SB9x0" with PCI ID 1002:439d. Enabling flash write... EC SIO is at 0x6e EC MBOX is at 0x3e (Shutting down IMC failed!) FAILED!
Do you have an idea what the problem could be?
I have no idea what the underlying problem is, but can it be that you did only paste the output to stdout and not to stderr (which can happen if you redirect the output of flashrom with ">/some/logfile" instead of using the -o option or directing with ">/some/logfile 2>&1")?
I am asking because I am pretty sure that there is "IMC MBOX: Timeout!" in the original output (to stderr). And in that case it is clearly not an error introduced by me refinement of the patch, and I would like to continue/test/fix my current version (3979) on top of current HEAD (or at least r1680) instead of the original one, because we want to merge the new version eventually of course.
Can you tell us more about your system's firmware? Should the IMC be active and responsive?
Rudolf: Let's assume the IMC is set up but does not respond in time (btw I guess a longer timeout won't help? how did you choose the timeout value?), should we bail out like we do or presume that it is ok to write to flash? I guess it could make quite a lot of sense to be able to rewrite the IMC image in case the current image is broken (and hence does not respond to shutdown requests :) but this hopefully wont happen on end user systems. Also, note my comments in the refinement patch about IMCEnable and EcEnable. Do you have any opinion/knowledge about that?