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" , http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate . 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@aheymans.xyz:
"Taiidan@gmx.com" Taiidan@gmx.com writes:
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 course) 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 has DMA.
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.
-- Arthur Heymans
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot