<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: rgb(31, 31, 31); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">There's a lot of useful info here relating to X230 ECs, which may help. Mostly applicable to the X220 too.<br></div>
<div style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: rgb(31, 31, 31); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><br></div>
<div style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: rgb(31, 31, 31); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><a style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: rgb(22, 108, 197); outline: 0px;" defang_rel="noopener noreferrer" href="https://github.com/hamishcoleman/thinkpad-ec">https://github.com/hamishcoleman/thinkpad-ec</a><br></div>
<div><br></div>
<div><br></div>
<div>On Sun, 5 Mar 2017, at 14:31, qma ster wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div>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" , <a href="http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate">http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate</a> . 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?<br></div>
<div>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<br></div>
</div>
<div><div><br></div>
<div defang_data-gmailquote="yes"><div>2017-03-05 13:20 GMT+03:00 Arthur Heymans <span dir="ltr"><<a href="mailto:arthur@aheymans.xyz">arthur@aheymans.xyz</a>></span>:<br></div>
<blockquote defang_data-gmailquote="yes" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><div><span>"<a href="mailto:Taiidan@gmx.com">Taiidan@gmx.com</a>" <<a href="mailto:Taiidan@gmx.com">Taiidan@gmx.com</a>> writes:<br> <br> > Well I managed to download the latest BIOS from the lenovo site, which<br> > includes an ME update now the issue is that I can't seem to figure out<br> > how to extract it from the .FL1 and .FL2 files.<br> ><br> </span>Those might have a length too long to fit a flash so you need to trim</div>
<div> those down before using ifdtool on those (If they contain and ifd of<br></div>
<div> course)<br></div>
<div> so depending on size of rom<br></div>
<div> dd if=FL1(or 2)file of=vendor_bios.rom bs=1 count=xM<br></div>
<div> <br></div>
<div> and then ifdtool -x vendor_bios.rom<br></div>
<div> <span><br> > I would also like to know as to how I can re-flash the EC firmware if<br> > that could potentially cause problems, I of course do not know if it<br> > has DMA.<br> ><br> <br> </span>Only existing tool to flash EC is using vendor tool.</div>
<div> EC are only accessed trough port mapped IO (or on newer ones also via<br></div>
<div> memory mapped IO). EC itself does not have DMA afaik.<br></div>
<div> <span><span class="colour" style="color:rgb(136, 136, 136)"><br> --<br> Arthur Heymans<br> </span></span></div>
<div><div><div><br></div>
<div>--<br></div>
<div> coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br></div>
<div> <a href="https://www.coreboot.org/mailman/listinfo/coreboot">https://www.coreboot.org/<wbr>mailman/listinfo/coreboot</a><br></div>
</div>
</div>
</blockquote></div>
</div>
<div>--<br></div>
<div>coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br></div>
<div><a href="https://www.coreboot.org/mailman/listinfo/coreboot">https://www.coreboot.org/mailman/listinfo/coreboot</a><br></div>
</blockquote><div><br></div>
</body>
</html>