Jump to content
EwinRacing Flash Series Gaming Chairs
plutomaniac

Merge Clevo Bios & EC

Recommended Posts

Hello,

I was interested in merging my laptop's BIOS & EC together into one image and came to an interesting conclusion. My laptop is Clevo W25xHNx from 2011 (EOL). The latest BIOS is 1.01.07 and was released alongside EC 1.00.05. After some time EC 1.00.06 was released and no more updates after that. I opened BIOS 1.01.07 and EC 1.00.05 with AMIBCP and saw that both of them are based on the 1.01.07 BIOS which makes sense since they were released together.

QtXZQj.png

Next I opened EC 1.00.06 with AMIBCP and saw that it is also based on the 1.01.07 BIOS which again makes sense since it had to be based on the latest released BIOS.

mwQPc8.png

So I wondered whether I had to do anything to merge the 1.01.07 BIOS and 1.00.06 EC. I could just flash the 1.00.06 EC image (/E & /P /B /N) to update both EC and then BIOS. Obviously I had to make sure first that there were no other differences apart from an updated EC. Maybe the bare EC image didn't include parts of the main BIOS block. I opened both 07 BIOS and 06 EC with Beyond Compare and saw that only a small block was different on both of them. That block should contain the EC.

fnCBlu.png

However, since I don't know from where exactly I should copy-paste I decided to use UEFIExtract.

N0LtwP.png

I extracted both BIOS 07 and EC 06 and checked both folders for file differences with WinMerge. The only difference was a single 64KB "padding" file at the top of the main BIOS block: eW251HNQ.06.dump\2 BIOS region\0 Padding\body.bin

2nYdnD.png

I copied both files in a folder and after naming them appropriately I opened both of them with HxD hex editor.

EBNgXC.png

At the top I can see ITE which is the BIOS/EC chip manufacturer. Scrolling down a bit reveals the file's version number witch is 1.00.05 for the BIOS 07 one and 1.00.06 for the EC 06 one. This is definitely the EC firmware.

X8VnvV.png

iEMzNc.png

Now, I want to test whether the latest EC_06 is a full 1.01.07 BIOS + EC 1.00.06 image. I opened both BIOS 07 and the extracted 64KB EC 06 firmware. The first line of the extracted EC file is 02 00 2E 02 00 0E 22 22 22 22 22 02 06 80 C2 AF. I search that at the BIOS 07 image and find it at offset 180000.

SncVPb.png

I go back to the EC and right click > Select all > Copy. The length is 10000 as shown by HxD.

QzQLQI.png

Now I go back to BIOS 07 tab, click before the first hex number of the 180000 offset (02 in my case), Edit > Select block and enter the length of the EC file which is 10000 or 64KB.

cSE7XX.png

Then right click > Paste write. The 64KB that I replaced will appear in red.

CqXMV5.png

I save the result in a new file (TEST_BIOS07_EC06). In theory I have now created a 07 BIOS + 06 EC. So if I compare the stock Clevo 06 EC file with my TEST one, they should be identical. And I'm right, they both have the same SHA-1 hash.

nimXP8.png

So that proves that the EC_06 provided by Clevo can be used on it's own to update both the BIOS & EC of a machine. So, in my case I don't have to merge the 64KB EC firmware, I can use the EC image by itself. Of course, IF EC_06 was based on the 04 BIOS for example (whereas the latest BIOS is 07) I would have to extract the 64KB EC and insert it manually like I shown above. But in THIS case, that's not necessary.

Am I wrong?

Share this post


Link to post
Share on other sites

Sure you can just directly flash the v7 BIOS that comes with EC v6, same thing.

(In general be very careful with EC firmware, one bit too much or too less and it bricks the system.)

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Thank you for verifing that Prema, I'll base my mod on the "EC" file. That's what I thought. Btw, UEFITool can also be used for doing the extraction quickly without a hex editor and copy-pasting (I know you know that, just for helping others who might be looking into that). To insert it back though, a hex editor is needed since you cannot import and replace "padding".

p8Od3I.png

I checked one or two newer models for reference and saw that again the EC is signified by 02 00 2E 02 00 0E 22 22 22 22 22 02 06 with a size of 64KB or 10000 length. However, this is probably for systems with one EC firmware using one BIOS/EC ITE chip. The position, size etc might differ otherwise. Just pointing that out. And yes, I'm not going to mess with the actual EC. I can't afford bricks nor do I have a programmer! ;)

It's weird that Clevo has decided to have one BIOS and one EC image when they could easily release one file with both updated. And their batch files shut down the system after the EC making it more dangerous to actually cause a brick. Who knows, they probably have a reason... :beguiled:

Share this post


Link to post
Share on other sites

They just don't know what they are doing...they simply use the files the way they are spit out by the dev tools and send to them... ;)

All Clevo models since Sx series have the EC directly hosted in the ITE controller (some also have a secondary EC chip (co-lay).

Those ECs contained in BIOS files are only used until Ex series.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

It is a left over and unused part, no difference if you write FF into the entire region and flash with /e, it is simply no longer used on Sx+ production units.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Ha, ha. Oh Clevo... I can't imagine how many systems you must have bricked and brought back to life in order to know all these.

I guess I could transform this thread slightly into a small guide for older systems up until Ex series on how to do the BIOS/EC merger. Could be useful for someone, who is feeling dangerous, later on. ;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By rubendeus
      Hello!
       
      I have a notebook Asus X550CC.
      Some weeks ago my screen went black with the brightness working though (black screen but one can see brightness changes) - I couldn't figure out the root of the problem, since it was sudden and it works with an external monitor.
      Now, I was trying to install an SSD with a caddy. I went to BIOS to change the boot order, but couldn't find my SSD - so, I accidently disabled launch CSM option hoping it would recognize it or something. After that I couldn't access BIOS anymore and I have a very slow startup with dxgkrnl.sys, wdfilter.sys and CAD.sys showing not loaded in the boot log.
      I tried to:
      Remove CMOS battery for 8h  Short JRST2001 and JRST2002  Access BIOS through windows 10 troubleshooting None of the above worked for me
      The laptop does not restart or shuts down correctly as it gets stuck somewhere and I have to press ON/OFF button again in order to shut it completly. The only display I can see in the external monitor, during start-up is the windows 10 loading screen (can't see the asus loading screen) and it takes more than 5 minutes to get me there (seems like a bootloop).
       
      I hope someone may have the answer cause I'm running out of solutions 
       
      Thanks in advance, everyone!
    • By Klem
      In this thread you can post your requests for Lenovo ThinkPad T440p / T440s / T540p.
      If someone wants upgrade Wi-Fi card and remove whitelist, or unlock hidden additional menus and settings in bios setup menu, then you can post your request in this thread.
      Important!
      For creating bios backup and to flash bios mod, you must use any SPI programmer  (like CH341A programmer) and a SOIC8/SOP8 test clip!
       
      Just dump your Bios using any SPI programmer  (like CH341A programmer) and a SOIC8/SOP8 test clip, then post it in this thread or upload it to any fileserver and send me the link.
       
       


       
      How to to it:
       
       
    • By raqall
      Hi!

      I would love to have my BIOS modded to disable the wireless whitelist.
      I tried to do it myself (dump BIOS from chip, disassemble, locate the reference to the error message "Unauthorized Wireless network card is plugged in..." memory address and modify the condition in the binary file so not to "land" in the infinite loop) but I couldn't dig to anything meaningful I could easily change.

      Laptop: Lenovo ThinkPad S440 (TYPE 20BB-S00400)
      BIOS version: 73ET71WW (1.71)
      Original WiFi/BT card: Intel Wireless-N 7260 (7260HMW BN) (vendor: 0x8086, device: 0x08B2, subdevice: 0x4262)
      Target WiFi/BT card: Broadcom BCM94352HMB (I haven't received it yet, waiting for delivery)

      Manufacturer BIOS download: bootable ISO, updater for Windows
      My BIOS dump (using CH341A SPI Programmer under Linux): http://www.mediafire.com/file/mn0gfr9ext7yqrn/S440_73ET71WW.bin/file
       
      Thanks!
    • By Klem
      In this thread you can post your requests for Lenovo Y50-70, Lenovo Y70-70, Lenovo Z50-70, Lenovo Z70-70, Lenovo G50-70, Lenovo G70-70.
      If someone want upgrade Wi-Fi card and remove whitelist, or unlock hidden additional menus and settings in bios setup menu, or unlocked vbios for overclock NVIDIA card, then you can post your request in this thread. Also, if you have a problem with fan pulsating/clicking on any modified bios then you can post your request in this thread.
       
      The flashing procedure include two steps:
      1.  Flash main system bios.
      2.  Flash EC firmware.
    • By Blake467
      I recently purchased an NVMe ssd to use as a boot drive but I found out that the bios on my Sager NP8651 does not support booting from an NVMe drive. I've seen many mentions of the prema bios that used to be able to unlock this feature but it is no longer available. Does anyone know of any alternate solutions? Any help is much appreciated. 
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.