It should be possible to reflash EC internal firmware through a keyboard
port, - or maybe through some other debug port that may or may not be
soldered by default... For example, here is a guide that describes how to
reflash EC KB9012 internal firmware on Lenovo G505S - "AMD based laptop
that is supported by coreboot project" ,
Thanks to this method it is possible to flash a completely clean EC KB9012
firmware image, which: 1) does not contain any "secret configs" (could be
stored in the free place after the firmware) 2) does not contain any serial
numbers or other specific laptop information ... For any EC it is
guaranteed that it IS possible to reflash a firmware through In-System
Programming (direct flashing) - otherwise, 1) how the manufacturers flash
EC for the first time? ;) 2) if some laptop's EC is burned, how do repair
shops flash a firmware to a new replacement EC?
Sadly, for this direct flashing method you may need to buy a proprietary
programmer (closed source hardware/software) , because a flashrom does not
support every EC in existence
2017-03-05 13:20 GMT+03:00 Arthur Heymans <arthur(a)aheymans.xyz>:
Well I managed to download the latest BIOS from
the lenovo site, which
includes an ME update now the issue is that I can't seem to figure out
how to extract it from the .FL1 and .FL2 files.
Those might have a length too long to fit a flash so you need to trim
those down before using ifdtool on those (If they contain and ifd of
so depending on size of rom
dd if=FL1(or 2)file of=vendor_bios.rom bs=1 count=xM
and then ifdtool -x vendor_bios.rom
I would also like to know as to how I can
re-flash the EC firmware if
that could potentially cause problems, I of course do not know if it
Only existing tool to flash EC is using vendor tool.
EC are only accessed trough port mapped IO (or on newer ones also via
memory mapped IO). EC itself does not have DMA afaik.
coreboot mailing list: coreboot(a)coreboot.org