<div dir="ltr">Hello Michael,<div><br></div><div>Before doing any programming, I have here couple suggestions to you. You should investigate.</div><div><br></div><div>Namely, this: <a href="http://thinkwiki.de/UEFI_BIOS_T420_BIOS_Structure">http://thinkwiki.de/UEFI_BIOS_T420_BIOS_Structure</a></div><div><br></div><div>Also, you should look upon the movie here: <a href="https://www.youtube.com/watch?v=DLwaKb6pLrc&feature=player_embedded">https://www.youtube.com/watch?v=DLwaKb6pLrc&feature=player_embedded</a></div><div><br></div><div><div>Since I am not sure that T420 UEFI BIOS is the same structure as legacy BIOS T400 has (since I remember that T420 is UEFI, legacy/CSM was on - I had one at work since 2011 till 2014). But it is worth trying, nothing to lose.</div><div><br></div><div>Knowing that T420 BIOS structure looks like (and I bet it is stored in only one 8MB flash, as my best bet):</div><div><br></div><div><img src="cid:ii_15a0f182fc2e422d" alt="Inline image 1" width="299" height="136"><br></div><div><br></div></div><div>You should read your T400 Coreboot flash content, and try to see if it complies with the given above structure. If it does, you are All Cool. Namely, you should try to read GbE region, and see where the MAC address (which you find using Linux command: ifconfig -a). If you appear to find the spot, you are 100% sure you are All Good, since then you'll read another BIOS content, and after you will have lot of possibilities for experiments:</div><div>[1] You can reprogram the BIOS from original BIOS to your Coreboot flash rewriting last 0x300000 bytes;</div><div>[2] You can rewrite original MAC address to another BIOS, and try to boot;</div><div>[3] You can compare/combine regions, and see what'll happen?!</div><div>[4] You name it!</div><div><br></div><div>I have no idea if you tampered with ME... And no idea if ME for each LENOVO specimen keeps some unique data from/for the platform.</div><div><br></div><div>But I am eager to hear/read what did you find investigating about T400 structure, does it looks the same as T420, and et cetera. :-)</div><div><br></div><div>You can also read descriptor region, and post it somewhere, so we can peek into it (I remember, I have somewhere some explanations about some of these descriptor region data).</div><div><br></div><div>Thank you,</div><div>Zoran</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 4, 2017 at 8:41 AM, Michal Widlok <span dir="ltr"><<a href="mailto:michalwd1979@gmail.com" target="_blank">michalwd1979@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Zoran, I'm working on this subject now, but I need to do regular work too :-).<br>
<br>
Seriously I'm in the process of changing my current stationary<br>
work-horse to two T400 laptops on docking stations. I've just received<br>
docks (very dirty, noisy fans) and I borrowed my Raspberry programmer<br>
to a friend. I hope to finish working on hardware this weekend and I<br>
will be ready to play with bioses when I get Raspberry back. I think<br>
that the first method would be to "copy" flash from one board to<br>
another and we will see. I also try to change MAC in original bios,<br>
maybe this is possible. I will report everything back, hope it will<br>
help someone.<br>
Michael Widlok<br>
<br>
</span>PS. Sorry for double mail I messed addresses.<br>
<br>
On Fri, Feb 3, 2017 at 9:58 PM, Zoran Stojsavljevic<br>
<span class="im HOEnZb"><<a href="mailto:zoran.stojsavljevic@gmail.com">zoran.stojsavljevic@gmail.com</a><wbr>> wrote:<br>
> Ron, I do agree, does not seem to be promising. It will add problems down<br>
> the road, as requirements grow.<br>
><br>
> Zoran<br>
><br>
> On Fri, Feb 3, 2017 at 8:45 PM, ron minnich <<a href="mailto:rminnich@gmail.com">rminnich@gmail.com</a>> wrote:<br>
>><br>
>><br>
>><br>
>> On Fri, Feb 3, 2017 at 9:45 AM Zoran Stojsavljevic<br>
>> <<a href="mailto:zoran.stojsavljevic@gmail.com">zoran.stojsavljevic@gmail.com</a><wbr>> wrote:<br>
>>><br>
>>><br>
>>><br>
>>> Ron, any (practical) example of above described practices? I have in my<br>
>>> laptops here 6 x 4 GB DIMM modules and 2 x 8GB DIMM modules, all of them<br>
>>> have SPD mounted.<br>
>><br>
>><br>
>><br>
>> DIMMs are so great but so old school :-)<br>
>><br>
>> on some systems, in flash, there are 4 and 8 element tables which are<br>
>> indexed by GPIOs .You use the 2 or 3 bits from 2-3 GPIOs to index the table<br>
>> and that's how you get your RAM programming. No SPD. You can see how much<br>
>> room this leaves for problems.<br>
>><br>
>> This is just one simple example.<br>
>><br>
>> ron<br>
>><br>
><br>
><br>
<br>
</span><div class="HOEnZb"><div class="h5">--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="https://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://www.coreboot.org/<wbr>mailman/listinfo/coreboot</a><br>
</div></div></blockquote></div><br></div>