[flashrom] WG: SB600, shutting down IMC failed

Trunzer Markus Markus.Trunzer at kontron.com
Thu Jul 11 14:59:28 CEST 2013

>Can you tell us more about your system's firmware?
=>What kind of information do you mean concretely?

>Should the IMC be active and responsive?
=>I'm not sure what the consequence is in detail when the IMC is inactive. But I gues it doesn't need to be active.

>Rudolf: Let's assume the IMC is set up but does not respond in time (btw I guess a longer timeout won't help?
=>Can you please tell me where I can increase this time? 

Best regards

On Thu, 11 Jul 2013 13:50

>Hello together,
>I'm very sorry...I didn't verified the output at the display and the logfile content. Yes, your absolutely right, the message "IMC MBOX: Timeout!" is printed after the line "EC MBOX is at 0x3e".
>And at the end there are 3 more lines:
>Unhandled programmer parameters: amd_imc_force=yes
>Error: Programmer initialization failed."
>Best regards

On Thu, 11 Jul 2013 12:24:47 +0200
> Hello again,
> I used this source code
> http://download.flashrom.org/snapshots/flashrom- 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!)
> 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?
Kind regards/Mit freundlichen Grüßen, Stefan Tauner

More information about the flashrom mailing list