On 23.05.2017 00:58, Alejandro Flores wrote:
Ok, so the image John uploaded of a known good me is exactly the same as the one I have been using that fails. The shasums match exactly. So I thought maybe somehow it is getting corrupted when coreboot creates the rom. I used the unhuffme tool to examine both the raw me image and the coreboot.rom file I am currently using. Both are identical except the full rom has 4 extra lines regarding the location of flash regions at the top.
If the ME image is known good, how about your firmware descriptor? the first 4KiB on the flash. Did you verify that they are still the same as in the original?
You can compare two binaries simply with `cmp`. It'll tell you the position of the first mismatching byte. If that is below 4096, better write back the descriptor from the original image. You can use flash- rom's layout option for that (see `man flashrom`).
Nico
The output of unhuffme is here: https://pastebin.com/zRsh6TqA
I downloaded the latest version of intelmetool to check out the live running me but it says my hardware is not compatible. I'm stumped at this point. If the me image is good why does the checksum fail on boot?
Problem is solved. I was using an old precompiled version of flashrom to write the bios. When I compiled a new binary from latest source it gave an error when I tried to write the rom.
It said it would be unable to write to ME since the ME is currently active and in use. The old binary hadn't given any error and presumably tried to write to ME and failed silently leaving some mix of new and old that failed signature verification.
I confirmed this by using a hardware writer to verify first that the rom on chip is not the rom I intended to write and then writng the correct rom.
ME now works as expected. I wonder though if this is expected behavior to be unable to flash the ME from a running system or if it is just my model of laptop?