corna / me_cleaner

Tool for partial deblobbing of Intel ME/TXE firmware images
GNU General Public License v3.0
4.49k stars 278 forks source link

[NO Success] ASRock Fatal1ty Z370 Gaming-ITX/ac #208

Open Grimeton opened 6 years ago

Grimeton commented 6 years ago

Hello,

I just used me_cleaner with the latest BIOS image (1.90) on an Fatal1ty Z370 Gaming-ITX/ac from ASRock and it works just fine. ME is now reported as version 0.0.0.0 in the Bios.

Cu

$ ./me_cleaner.py Z37GIX_1.90 Full image detected The ME/TXE region goes from 0x3000 to 0x200000 Found FPT header at 0x3010 Found 11 partition(s) Found FTPR header: FTPR partition spans from 0x1000 to 0xa8000 Found FTPR manifest at 0x1448 ME/TXE firmware version 11.8.50.3425 Public key match: Intel ME, firmware versions 11.x.x.x The HAP bit is NOT SET Reading partitions list... FTPR (0x00001000 - 0x0000a8000, 0x000a7000 total bytes): NOT removed FTUP (0x00110000 - 0x0001bc000, 0x000ac000 total bytes): removed DLMP ( no data here , 0x00000000 total bytes): nothing to remove PSVN (0x00000e00 - 0x000001000, 0x00000200 total bytes): removed IVBP (0x0010c000 - 0x000110000, 0x00004000 total bytes): removed MFS (0x000a8000 - 0x00010c000, 0x00064000 total bytes): removed NFTP (0x00110000 - 0x0001bc000, 0x000ac000 total bytes): removed ROMB ( no data here , 0x00000000 total bytes): nothing to remove FLOG (0x001bc000 - 0x0001bd000, 0x00001000 total bytes): removed UTOK (0x001bd000 - 0x0001bf000, 0x00002000 total bytes): removed ISHC ( no data here , 0x00000000 total bytes): nothing to remove Removing partition entries in FPT... Removing EFFS presence flag... Correcting checksum (0xf2)... Reading FTPR modules list... FTPR.man (uncompressed, 0x001448 - 0x002018): NOT removed, partition manif. rbe.met (uncompressed, 0x002018 - 0x0020ae): NOT removed, module metadata kernel.met (uncompressed, 0x0020ae - 0x00213c): NOT removed, module metadata syslib.met (uncompressed, 0x00213c - 0x0021a0): NOT removed, module metadata bup.met (uncompressed, 0x0021a0 - 0x00274a): NOT removed, module metadata pm.met (uncompressed, 0x00274a - 0x0027f8): NOT removed, module metadata vfs.met (uncompressed, 0x0027f8 - 0x003158): NOT removed, module metadata evtdisp.met (uncompressed, 0x003158 - 0x0032e6): NOT removed, module metadata loadmgr.met (uncompressed, 0x0032e6 - 0x00340e): NOT removed, module metadata busdrv.met (uncompressed, 0x00340e - 0x003792): NOT removed, module metadata gpio.met (uncompressed, 0x003792 - 0x0038dc): NOT removed, module metadata prtc.met (uncompressed, 0x0038dc - 0x003a8c): NOT removed, module metadata policy.met (uncompressed, 0x003a8c - 0x003c4e): NOT removed, module metadata crypto.met (uncompressed, 0x003c4e - 0x003dd8): NOT removed, module metadata heci.met (uncompressed, 0x003dd8 - 0x003fa4): NOT removed, module metadata storage.met (uncompressed, 0x003fa4 - 0x0042a0): NOT removed, module metadata pmdrv.met (uncompressed, 0x0042a0 - 0x0043c4): NOT removed, module metadata maestro.met (uncompressed, 0x0043c4 - 0x0044ae): NOT removed, module metadata fpf.met (uncompressed, 0x0044ae - 0x0045ba): NOT removed, module metadata hci.met (uncompressed, 0x0045ba - 0x0046bc): NOT removed, module metadata fwupdate.met (uncompressed, 0x0046bc - 0x0047c4): NOT removed, module metadata ptt.met (uncompressed, 0x0047c4 - 0x0048d0): NOT removed, module metadata touch_fw.met (uncompressed, 0x0048d0 - 0x004a00): NOT removed, module metadata rbe (Huffman , 0x004a00 - 0x007100): NOT removed, essential kernel (Huffman , 0x007100 - 0x0170c0): NOT removed, essential syslib (Huffman , 0x0170c0 - 0x028f80): NOT removed, essential bup (Huffman , 0x028f80 - 0x053140): NOT removed, essential pm (LZMA/uncomp., 0x053140 - 0x055740): removed vfs (LZMA/uncomp., 0x055740 - 0x05d6c0): removed evtdisp (LZMA/uncomp., 0x05d6c0 - 0x05f0c0): removed loadmgr (LZMA/uncomp., 0x05f0c0 - 0x061ec0): removed busdrv (LZMA/uncomp., 0x061ec0 - 0x063780): removed gpio (LZMA/uncomp., 0x063780 - 0x0648c0): removed prtc (LZMA/uncomp., 0x0648c0 - 0x065480): removed policy (LZMA/uncomp., 0x065480 - 0x06a040): removed crypto (LZMA/uncomp., 0x06a040 - 0x077c40): removed heci (LZMA/uncomp., 0x077c40 - 0x07bb40): removed storage (LZMA/uncomp., 0x07bb40 - 0x080180): removed pmdrv (LZMA/uncomp., 0x080180 - 0x081340): removed maestro (LZMA/uncomp., 0x081340 - 0x083100): removed fpf (LZMA/uncomp., 0x083100 - 0x084b00): removed hci (LZMA/uncomp., 0x084b00 - 0x0853c0): removed fwupdate (LZMA/uncomp., 0x0853c0 - 0x08a100): removed ptt (LZMA/uncomp., 0x08a100 - 0x09f7c0): removed touch_fw (LZMA/uncomp., 0x09f7c0 - 0x0a8000): removed The ME minimum size should be 360448 bytes (0x58000 bytes) The ME region can be reduced up to: 00003000:0005afff me Checking the FTPR RSA signature... VALID Done! Good luck!

RedSkyAround commented 6 years ago

Reports about success works are here: https://github.com/corna/me_cleaner/issues/3.

Grimeton commented 6 years ago

So, turns out. Disabling the ME, kills the network card. The Intel i219-V is there and visible but the drivers cannot be loaded. I was only able to work around this by flashing the main BIOS including the ME.

I tried capital "-S" already. Gonna try "-s" now.

Grimeton commented 6 years ago

"-s" worked.

corna commented 6 years ago

Try with -S

Grimeton commented 6 years ago

Actually I'm not a 100% convinced....

I had the problem and installed the BIOS including the ME and it worked, afterwards I installed the "-s" version and it still works. I wonder if the ME-enabled BIOS made the driver install happen and now it's not a problem anymore as were a fresh install would create the same problem again :-/

Will test and report.

Cu

Futureknows commented 6 years ago

Grimeton. where are you seeing ME reported as version 0.0.0.0 in the BIOS?

I've tried it on three different BIOS (1.9, 2.1, 3.1). Every time ME_Cleaner reports success, the BIOS flashes perfect but after reboot the BIOS still shows the ME Version 11.8.50.3470 in the Advanced/Chipset Configuration page

I've tried with "-s" and with "-S" "-S" seems like it is actually cleaning the firmware as it lists the FTPR modules line by line and shows the ones removed:

[user@localhost ~]$ python '/home/user/Downloads/ME_Cleaner/me_cleaner-master/me_cleaner.py' -S -O /home/user/Downloads/ME_Cleaner/me_cleaner-master/Z37db3.10 '/home/user/Downloads/ME_Cleaner/Z37MIA3.10'
Full image detected
The ME/TXE region goes from 0x3000 to 0x200000
Found FPT header at 0x3010
Found 11 partition(s)
Found FTPR header: FTPR partition spans from 0x1000 to 0xa8000
Found FTPR manifest at 0x1448
ME/TXE firmware version 11.8.50.3470
Public key match: Intel ME, firmware versions 11.x.x.x
The HAP bit is NOT SET
Reading partitions list...
 FTPR (0x00001000 - 0x0000a8000, 0x000a7000 total bytes): NOT removed
 FTUP (0x00110000 - 0x0001bc000, 0x000ac000 total bytes): removed
 DLMP (      no data here      , 0x00000000 total bytes): nothing to remove
 PSVN (0x00000e00 - 0x000001000, 0x00000200 total bytes): removed
 IVBP (0x0010c000 - 0x000110000, 0x00004000 total bytes): removed
 MFS  (0x000a8000 - 0x00010c000, 0x00064000 total bytes): removed
 NFTP (0x00110000 - 0x0001bc000, 0x000ac000 total bytes): removed
 ROMB (      no data here      , 0x00000000 total bytes): nothing to remove
 FLOG (0x001bc000 - 0x0001bd000, 0x00001000 total bytes): removed
 UTOK (0x001bd000 - 0x0001bf000, 0x00002000 total bytes): removed
 ISHC (      no data here      , 0x00000000 total bytes): nothing to remove
Removing partition entries in FPT...
Removing EFFS presence flag...
Correcting checksum (0xc5)...
Reading FTPR modules list...
 FTPR.man     (uncompressed, 0x001448 - 0x002018): NOT removed, partition manif.
 rbe.met      (uncompressed, 0x002018 - 0x0020ae): NOT removed, module metadata
 kernel.met   (uncompressed, 0x0020ae - 0x00213c): NOT removed, module metadata
 syslib.met   (uncompressed, 0x00213c - 0x0021a0): NOT removed, module metadata
 bup.met      (uncompressed, 0x0021a0 - 0x00274a): NOT removed, module metadata
 pm.met       (uncompressed, 0x00274a - 0x0027f8): NOT removed, module metadata
 vfs.met      (uncompressed, 0x0027f8 - 0x003158): NOT removed, module metadata
 evtdisp.met  (uncompressed, 0x003158 - 0x0032e6): NOT removed, module metadata
 loadmgr.met  (uncompressed, 0x0032e6 - 0x00340e): NOT removed, module metadata
 busdrv.met   (uncompressed, 0x00340e - 0x003792): NOT removed, module metadata
 gpio.met     (uncompressed, 0x003792 - 0x0038dc): NOT removed, module metadata
 prtc.met     (uncompressed, 0x0038dc - 0x003a8c): NOT removed, module metadata
 policy.met   (uncompressed, 0x003a8c - 0x003c4e): NOT removed, module metadata
 crypto.met   (uncompressed, 0x003c4e - 0x003dd8): NOT removed, module metadata
 heci.met     (uncompressed, 0x003dd8 - 0x003fa4): NOT removed, module metadata
 storage.met  (uncompressed, 0x003fa4 - 0x0042a0): NOT removed, module metadata
 pmdrv.met    (uncompressed, 0x0042a0 - 0x0043c4): NOT removed, module metadata
 maestro.met  (uncompressed, 0x0043c4 - 0x0044ae): NOT removed, module metadata
 fpf.met      (uncompressed, 0x0044ae - 0x0045ba): NOT removed, module metadata
 hci.met      (uncompressed, 0x0045ba - 0x0046bc): NOT removed, module metadata
 fwupdate.met (uncompressed, 0x0046bc - 0x0047c4): NOT removed, module metadata
 ptt.met      (uncompressed, 0x0047c4 - 0x0048d0): NOT removed, module metadata
 touch_fw.met (uncompressed, 0x0048d0 - 0x004a00): NOT removed, module metadata
 rbe          (Huffman     , 0x004a00 - 0x007180): NOT removed, essential
 kernel       (Huffman     , 0x007180 - 0x016fc0): NOT removed, essential
 syslib       (Huffman     , 0x016fc0 - 0x028e80): NOT removed, essential
 bup          (Huffman     , 0x028e80 - 0x053300): NOT removed, essential
 pm           (LZMA/uncomp., 0x053300 - 0x055900): removed
 vfs          (LZMA/uncomp., 0x055900 - 0x05d900): removed
 evtdisp      (LZMA/uncomp., 0x05d900 - 0x05f300): removed
 loadmgr      (LZMA/uncomp., 0x05f300 - 0x062100): removed
 busdrv       (LZMA/uncomp., 0x062100 - 0x0639c0): removed
 gpio         (LZMA/uncomp., 0x0639c0 - 0x064b00): removed
 prtc         (LZMA/uncomp., 0x064b00 - 0x0656c0): removed
 policy       (LZMA/uncomp., 0x0656c0 - 0x06a2c0): removed
 crypto       (LZMA/uncomp., 0x06a2c0 - 0x077ec0): removed
 heci         (LZMA/uncomp., 0x077ec0 - 0x07bdc0): removed
 storage      (LZMA/uncomp., 0x07bdc0 - 0x080400): removed
 pmdrv        (LZMA/uncomp., 0x080400 - 0x0815c0): removed
 maestro      (LZMA/uncomp., 0x0815c0 - 0x083380): removed
 fpf          (LZMA/uncomp., 0x083380 - 0x084d80): removed
 hci          (LZMA/uncomp., 0x084d80 - 0x085640): removed
 fwupdate     (LZMA/uncomp., 0x085640 - 0x08a380): removed
 ptt          (LZMA/uncomp., 0x08a380 - 0x09fa80): removed
 touch_fw     (LZMA/uncomp., 0x09fa80 - 0x0a8000): removed
The ME minimum size should be 360448 bytes (0x58000 bytes)
The ME region can be reduced up to:
 00003000:0005afff me
Setting the HAP bit in PCHSTRP0 to disable Intel ME...
Checking the FTPR RSA signature... VALID
Done! Good luck!

I am on the X370 ITC/AC (Non gaming) version it shouldn't make any diference.
xinterix commented 6 years ago

i failed with an asrock z370 myself,it was a dual bios, and i have no idea where things went wrong but somehow after flashing to the 1st bios chip, the one used by default, and restarting, it immediately entered into restore mode and begin copying data from the other chip, which should have contained a good unaltered bios, but after restore completes, and restarts pc, it immediately does the same thing again, over and over. Now interestingly, i had never touched the other chip since it was remove box, never even touched the jumper either. So I move a jumper to the header that activate the other chip and it do the same thing, boot up copying stuff from the first chip...basically endless restore loop

Futureknows commented 6 years ago

Mine wasn't bricked it works fine, I'm just not certain it cleaned the ME. After reading more I think it did, but my BIOS always reports the ME number no 0.0.0.0.

Is this the same for everyone else?