<div dir="ltr"><div><div><div><div><span style="font-family:monospace,monospace">Hi everyone,<br><br></span></div><span style="font-family:monospace,monospace">I would like to update you with my current x220 status:<br><br></span></div><span style="font-family:monospace,monospace">1) <u>DDR3 Speed:</u> <br></span><ul><li><span style="font-family:monospace,monospace">My goal was to get 1866Mhz DDR3 speed (tCK = 933Mhz);</span></li><li><span style="font-family:monospace,monospace">I'm using 2 of these modules: <a href="http://www.crucial.com/usa/en/ct8g3s186dm" target="_blank">CRUCIAL_CT8G3S186DM.M16F</a>;</span></li><li><span style="font-family:monospace,monospace">With default coreboot-4.4 I was getting just 1333MHz (tCK = 666MHz): <a href="http://pastebin.com/Zvfs9QAD" target="_blank">dmidecode</a>;</span></li><li><span style="font-family:monospace,monospace">After editing coreboot source (check below), I'm getting 1600Mhz (tCK = 800MHz): <a href="http://pastebin.com/KR0RVZ0z" target="_blank">dmidecode</a><u>;</u></span></li><ul><li><span style="font-family:monospace,monospace">The patch is very simple (Thanks a lot for your help Iru):</span></li><ul><li><span style="font-family:monospace,monospace">Edit src/northbridge/intel/sandybridge/raminit.c;</span></li><li><span style="font-family:monospace,monospace">Add: 'return TCK_933MHZ;' to the very beginning of get_mem_min_tck(void) function;</span></li><li><span style="font-family:monospace,monospace">This avoid automatic detection of the capabilities and makes coreboot(?) think that the min_freq is 1866MHz;</span></li><li><span style="font-family:monospace,monospace">As I said, doing this gave me just 1600MHz so, as a paranoid check, I decided to use 'return TCK_1066MHZ;'</span></li><li><span style="font-family:monospace,monospace">Using tCK = 1066MHz also gave me just 1600MHz (my current firmware build is using tCK = 1066MHz);</span></li></ul></ul><li><span style="font-family:monospace,monospace">Apparently, the patch works and that makes me happy :) So the question is: Why 1866MHz is not being applied?:</span></li><ul><li><span style="font-family:monospace,monospace">I found a better tool to get DIMM info: command is decode-dimms, from i2c-tools package (don't forget to load eeprom module);</span></li><li><span style="font-family:monospace,monospace">With decode-dimms I get much more info than with dmidecode. Current output of my x220 is <a href="http://pastebin.com/fMDW9XFw" target="_blank">here</a>;</span></li><li><span style="font-family:monospace,monospace">In this output we can see: Maximum module speed: 1777 MHz (PC3-14200);</span></li><ul><li><span style="font-family:monospace,monospace">This makes think these Crucial modules cannot reach 1866MHz and that's why I'm getting only 1600MHz. Unfortunately I don't have any other 1866MHz modules to test;</span></li></ul></ul><li><span style="font-family:monospace,monospace">In resume, I think there's nothing more we can do here. Good progress anyway. Thanks everyone.<br></span></li></ul><p><span style="font-family:monospace,monospace">2) <u>Battery Charging Thresholds:</u></span></p><ul><li><span style="font-family:monospace,monospace">tp_smapi is not supported;</span></li><li><span style="font-family:monospace,monospace">tpacpi-bat doesn't work either:</span></li><ul><li><span style="font-family:monospace,monospace">[~]$ tpacpi-bat -v -g ST 1<br>Error: AE_NOT_FOUND for ASL base: \_SB.PCI0.LPCB.EC.HKEY<br>Error: AE_NOT_FOUND at /usr/bin/tpacpi-bat line 409.<br>[~]$</span></li><li><span style="font-family:monospace,monospace">I think '\_SB.PCI0.LPCB.EC.HKEY' is not found...</span></li><li><span style="font-family:monospace,monospace">acpidump is <a href="http://pastebin.com/G3UZQNbX" target="_blank">here</a>;</span></li></ul><li><span style="font-family:monospace,monospace">In TLP I get: tpacpi-bat = inactive (unsupported hardware);<u><br></u></span></li><li><span style="font-family:monospace,monospace">Any ideas here?</span></li></ul><p><span style="font-family:monospace,monospace">3) <u>Internal MIC device:</u></span></p><ul><li><span style="font-family:monospace,monospace">I cannot mute internal MIC (it was possible with official firmware);</span></li><li><span style="font-family:monospace,monospace">Even if I try to mute it using pavucontrol, the MIC mute led never gets on;</span></li><li><span style="font-family:monospace,monospace">Any ideas here?</span></li></ul><span style="font-family:monospace,monospace"></span><p><span style="font-family:monospace,monospace">I still have some tests and validations ongoing, but the issues present are the only open topics at the moment.</span></p><p><span style="font-family:monospace,monospace">Hope it helps and I'm looking forward for your feedback.</span></p><p><span style="font-family:monospace,monospace">Thanks in advance.</span></p><p><span style="font-family:monospace,monospace">--sigkill</span><br></p></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 25, 2016 at 12:06 PM, Nuno Moreira <span dir="ltr"><<a href="mailto:naomoreira@gmail.com" target="_blank">naomoreira@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hello Zoran, Hello everybody,<br><br></div>Thanks for your reply Zoran.<br>I'll try to give all the details about it. Maybe you are missing some important detail.<br><br></div><div>1 - Laptop was with official BIOS_1.29 / EC_1.20;<br></div><div>2 - From windows, updated to official BIOS_1.40 / EC_1.24;<br></div><div>3 - From windows, installed custom 8duj26us_NWL_ADV_AES_PM_Speedo;<br></div><div>4 - Custom BIOS unlocked Advanced Menu (with tons of chipset related options);<br></div><div>5 - 2x8GB DDR3-1866Mhz modules installed. Changed RAM speed to 1866Mhz in BIOS;<br></div><div>6 - Booted to Archlinux and dmidecode reported 1333Mhz as RAM speed;<br></div><div>7 - I went back to BIOS and changed RAM speed to Auto and noticed that SR-IOV was not activated for PCI, so I decided to activate it since I plan to play a little with kvm and stuff (If I recall correctly, these were the only 2 changes that bricked the system). <br></div><div>8 - Save and exit: BIOS bricked. Infinite boot/restart loop until I remove ac/battery;<br></div><div>9 - Tried to remove all the hardware and clear CMOS. Nothing worked. Always in boot loop.<br><br></div><div>I still have the flashrom read dump of this bricked unofficial BIOS.<br></div><div>Let me know i you want the dump. Maybe you can get some info from it.<br></div><div><br><u>Possible stupid question:</u> I tried to find a solution to recover this bricked BIOS and flash it back but I don't have the know how to do it. Do you think it is possible to unbrick the BIOS from the dump and flash it back?<br><br></div><div><u><b>PS:</b></u> I've made some progress with coreboot in the meantime (good and bad news). Will reply to the mailing-list after complete other tests.<br></div><div><br></div><div>Thanks in advance.<br></div><div>--sigkill<br><br></div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Tue, May 24, 2016 at 8:27 PM, Zoran Stojsavljevic <span dir="ltr"><<a href="mailto:zoran.stojsavljevic@gmail.com" target="_blank">zoran.stojsavljevic@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="font-family:monospace,monospace;font-size:12.8px">Hello Nuno,</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">Very interesting use case, I should say.</span></div><span><b style="font-family:monospace,monospace;font-size:12.8px"><div><b style="font-family:monospace,monospace;font-size:12.8px"><br></b></div>> 1) Init:</b><br style="font-family:monospace,monospace;font-size:12.8px"><span style="font-family:monospace,monospace;font-size:12.8px">> --------</span><br style="font-family:monospace,monospace;font-size:12.8px"><span style="font-family:monospace,monospace;font-size:12.8px">> Recently I bought a refurbished x220 and flashed it with a custom BIOS (Lenovo ThinkPad</span><div><span style="font-family:monospace,monospace;font-size:12.8px">> x220_1.40-(8DET70WW)-8duj26us_</span><span style="font-family:monospace,monospace;font-size:12.8px">NWL_ADV_AES_PM_Speedo) because I wanted to unlock the RAM speed</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">> to be 1866MHz (max RAM speed is locked to 1333Mhz in official BIOS), white-list some Wi-Fi</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">> cards, Advanced Chipset Config menu, etc.</span><br style="font-family:monospace,monospace;font-size:12.8px">><br style="font-family:monospace,monospace;font-size:12.8px"><span style="font-family:monospace,monospace;font-size:12.8px">> This custom BIOS worked perfectly until I changed some settings related with Intel VT-x. If</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">> I recall correctly, I activated SR-IOV for PCI-E, saved and exited and after that x220 =</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">> BRICKED.</span><br style="font-family:monospace,monospace;font-size:12.8px">> <br style="font-family:monospace,monospace;font-size:12.8px"><span style="font-family:monospace,monospace;font-size:12.8px">> I tried every typical troubleshooting/workaround (Removing as much HW as possible, unplug</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">> BIOS battery for hours, etc), nothing worked.</span><br></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div></span><div><span style="font-family:monospace,monospace;font-size:12.8px">This is peculiar... How SR-IOV feature can break the BIOS??? Never saw such or similar brick.</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">Taking to account that introduced </span><span style="font-family:monospace,monospace;font-size:12.8px">custom BIOS (Lenovo ThinkPad</span><span style="font-family:monospace,monospace;font-size:12.8px"> x220_1.40-(8DET70WW)-8duj26us_</span><span style="font-family:monospace,monospace;font-size:12.8px">NWL_ADV_AES_PM_Speedo) added (probably) additional few Memory Reference Code algorithms to make DDR3 work @ </span><span style="font-family:monospace,monospace;font-size:12.8px">1866MHz</span><span style="font-family:monospace,monospace;font-size:12.8px">, I have no clue how these two parameters are connected/in relations.</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">But I'll try to investigate this use case. Not (at all) in connection with Coreboot, rather I would like to understand why SNB BIOS behaves like this? Maybe I can learn much more out of this?!</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><font face="monospace, monospace"><span style="font-size:12.8px">I'll move this to other (BIOS based) forum, and try to see if there are more experienced BIOS people to put some light on/demystify this problem?</span></font></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">It is, after all, Sandy Bridge CORe: </span><font face="monospace, monospace"><span style="font-size:12.8px"><a href="http://thinkwiki.de/X220#Technische_Daten" target="_blank">http://thinkwiki.de/X220#Technische_Daten</a></span></font></div><div><span style="font-size:12.8px;font-family:monospace,monospace"><a href="http://ark.intel.com/products/52229/Intel-Core-i5-2520M-Processor-3M-Cache-up-to-3_20-GHz" target="_blank">http://ark.intel.com/products/52229/Intel-Core-i5-2520M-Processor-3M-Cache-up-to-3_20-GHz</a></span><br></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">Let me see what I can dig out of this? ;-)</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">Best Regards,</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">Zoran</span></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Mon, May 23, 2016 at 3:00 PM, Nuno Moreira <span dir="ltr"><<a href="mailto:naomoreira@gmail.com" target="_blank">naomoreira@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><span style="font-family:monospace,monospace">Hello, everyone.<br><br>First of all, I would like to thanks and to congratulate all the community who helps to develop and to optimize this great project. Keep it up :)<br><br>I would appreciate if you can give me some opinions or point me to someone who will, regarding the Open Issues I present below (3.1 and 3.2).<br>Trying to give you a brief contextualization of my status before and after Coreboot.<br><br><b>1) Init:</b><br>--------<br>Recently I bought a refurbished x220 and flashed it with a custom BIOS (Lenovo ThinkPad x220_1.40-(8DET70WW)-8duj26us_NWL_ADV_AES_PM_Speedo) because I wanted to unlock the RAM speed to be 1866MHz (max RAM speed is locked to 1333Mhz in official BIOS), white-list some Wi-Fi cards, Advanced Chipset Config menu, etc.<br><br>This custom BIOS worked perfectly until I changed some settings related with Intel VT-x. If I recall correctly, I activated SR-IOV for PCI-E, saved and exited and after that x220 = BRICKED.<br><br>I tried every typical troubleshooting/workaround (Removing as much HW as possible, unplug BIOS battery for hours, etc), nothing worked. <br>x220 BIOS never booted again and the machine was in a constant boot loop. Don't know why/how this happened in the first place, but since it is a custom BIOS and it is very hard to reach the developer, I knew I could never get it to work without an intrusive method...   <br><br><b>2) Coreboot as Salvation:</b><br>-------------------------<br>I started to look for alternatives, and luckily, Coreboot supports x220 since a couple of months ago :) <br>After dealing with all the learning curve to understand the minimal requirements to compile and install Coreboot (tricky part is basically the need for HW flashing) I managed to get a working BIOS and x220 is now (almost 100%) operational :) <br>I've read and used the blobs from the "damaged" custom BIOS. I'm not sure if this can affect the functionality of Coreboot. Apparently, it does not.<br><i>(Let me know if anyone of you need details/help about/with the HW flashing in this type of chip (MX25L6406E/MX25L6408E)).<br></i><br><b>3) Coreboot rocks but... Current Open issues:</b><br>---------------------------------------------<br>I decided to use coreboot-4.4 release instead of git-master.<br>As payload I'm using SeaBIOS (booting Archlinux with Syslinux as bootloader).<br><br><b>3.1) RAM speed:</b><br>--------------- <br>I've 2 x 8GB DRR3-1866MHz installed. The 16GB are detected but the speed reported is just 667MHz.<br>With the official BIOS, the max speed was 1333Mhz. Don't know how Coreboot is handling this subject in this particular main-board...<br>DDR timings are a little bit confusing to me, I guess...<br><br>Before, with dmidecode -t 17 the speed was 1333Mhz and now it is just 667Mhz...<br>This 667MHz speed I get with coreboot is 2x667=1333Mhz or in reality is 2x333MHz?<br>In "northbridge/intel/sandybridge/raminit.c" we can see the following statement:<br><br>    /* Maximum supported DDR3 frequency is 1066MHz (DDR3 2133) so make sure<br>     * we cap it if we have faster DIMMs.<br>     * Then, align it to the closest JEDEC standard frequency */<br><br><b>=> So, if I'm understanding it correctly, current 667 Mhz is not the maximum </b></span><span style="font-family:monospace,monospace"><b><span style="font-family:monospace,monospace"><b>speed </b></span>supported.<br>Any idea on how I can get higher speeds?</b><br><br><b>3.2) TP-SMAPI: </b><br>--------------<br>Looks like tp-smapi is not available using Coreboot. It was OK with the official and custom BIOS before.<br>From what I've read, this is not a Coreboot limitation... Not sure if the blobs/EC are not ok for tp-smapi now...<br>I use tp-smapi for battery threshold, etc. <a href="http://linrunner.de/en/tlp/tlp.html" target="_blank">TLP </a>also uses tp-smapi. So it is kinda of important to me.<br><b><br>=> Anyone using tp-smapi with no problems out there?</b><br><br><b>3.3) Config files:</b><br>------------------<br>coreboot - <a href="http://pastebin.com/9ymtxLBW" target="_blank">http://pastebin.com/9ymtxLBW</a><br>seabios - <a href="http://pastebin.com/rUU7ajRH" target="_blank">http://pastebin.com/rUU7ajRH</a><br>cmos.default - <a href="http://pastebin.com/Pm5vS15R" target="_blank">http://pastebin.com/Pm5vS15R</a><br><br>Thanks in advance, guys.<br>All the best \o<br><br>--sigkill</span><br></div>
<br></div></div><span>--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a><br>
<a href="https://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://www.coreboot.org/mailman/listinfo/coreboot</a><br></span></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><br></div></div><span class="">-- <br><div>Cumprimentos / Best Regards<div><br></div><div>Nuno Moreira</div></div>
</span></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Cumprimentos / Best Regards<div><br></div><div>Nuno Moreira</div></div>
</div>