me_cleaner icon indicating copy to clipboard operation
me_cleaner copied to clipboard

ASRock Z97 Extreme6 - should it be working?

Open fabertawe opened this issue 8 years ago • 5 comments

I have a desktop with an ASRock Z97 Extreme6 mobo and an i7 4790k CPU. The "me_cleaner status" page shows someone with the identical MB and CPU having had success but I'm not.

I used uefitool to "extract the body" from the last BIOS available for this board (Z97Ex62.70) and called it 'bios.bin'. All the logs are below.

I had to add the kernel parameter 'iomem=relaxed' to be able to use intelmetool.

I tried me_cleaner with and without the -S flag. I also tried using the Windows software (UBU) referenced in the successful flashing on the "me_cleaner status" page.

Lastly, I tried flashing a previous BIOS version (with reset to defaults) before attempting to flash my modified version again (twice and with reset to defaults).

Forgot to mention I'm using Arch Linux (4.14.3-1).

Any help appreciated, thanks.

ifdtool -d bios.bin

File bios.bin is 8388608 bytes
FLMAP0:    0x03040003
  NR:      3
  FRBA:    0x40
  NC:      1
  FCBA:    0x30
FLMAP1:    0x15100206
  ISL:     0x15
  FPSBA:   0x100
  NM:      2
  FMBA:    0x60
FLMAP2:    0x00210120
  PSL:     0x2101
  FMSBA:   0x200
FLUMAP1:   0x00000cdf
  Intel ME VSCC Table Length (VTL):        12
  Intel ME VSCC Table Base Address (VTBA): 0x000df0

ME VSCC table:
  JID0:  0x0000471f
    SPI Componend Device ID 1:          0x00
    SPI Componend Device ID 0:          0x47
    SPI Componend Vendor ID:            0x1f
  VSCC0: 0x20152015
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x06
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x06
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID1:  0x001740ef
    SPI Componend Device ID 1:          0x17
    SPI Componend Device ID 0:          0x40
    SPI Componend Vendor ID:            0xef
  VSCC1: 0x20252025
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID2:  0x0016701c
    SPI Componend Device ID 1:          0x16
    SPI Componend Device ID 0:          0x70
    SPI Componend Vendor ID:            0x1c
  VSCC2: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID3:  0x0017701c
    SPI Componend Device ID 1:          0x17
    SPI Componend Device ID 0:          0x70
    SPI Componend Vendor ID:            0x1c
  VSCC3: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID4:  0x001760ef
    SPI Componend Device ID 1:          0x17
    SPI Componend Device ID 0:          0x60
    SPI Componend Vendor ID:            0xef
  VSCC4: 0x20252025
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID5:  0x001720c2
    SPI Componend Device ID 1:          0x17
    SPI Componend Device ID 0:          0x20
    SPI Componend Vendor ID:            0xc2
  VSCC5: 0x20452045
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB

OEM Section:
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

Found Region Section
FLREG0:    0x00000000
  Flash Region 0 (Flash Descriptor): 00000000 - 00000fff 
FLREG1:    0x07ff0200
  Flash Region 1 (BIOS): 00200000 - 007fffff 
FLREG2:    0x01ff0003
  Flash Region 2 (Intel ME): 00003000 - 001fffff 
FLREG3:    0x00020001
  Flash Region 3 (GbE): 00001000 - 00002fff 
FLREG4:    0x00007fff
  Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)

Found Component Section
FLCOMP     0x64900044
  Dual Output Fast Read Support:       supported
  Read ID/Read Status Clock Frequency: 50MHz
  Write/Erase Clock Frequency:         50MHz
  Fast Read Clock Frequency:           50MHz
  Fast Read Support:                   supported
  Read Clock Frequency:                20MHz
  Component 2 Density:                 512KB
  Component 1 Density:                 8MB
FLILL      0xad604221
  Invalid Instruction 3: 0xad
  Invalid Instruction 2: 0x60
  Invalid Instruction 1: 0x42
  Invalid Instruction 0: 0x21
FLPB       0xc7c4b9b7
  Flash Partition Boundary Address: 0x9b7000

Found PCH Strap Section
PCHSTRP0:  0x0010d7a2
PCHSTRP1:  0x040001cf
PCHSTRP2:  0x00000000
PCHSTRP3:  0x00000000
PCHSTRP4:  0x00c8e10e
PCHSTRP5:  0x00000000
PCHSTRP6:  0x00000000
PCHSTRP7:  0x00000000
PCHSTRP8:  0x00000000
PCHSTRP9:  0xf0444989
PCHSTRP10: 0x00c00000
PCHSTRP11: 0x00000000
PCHSTRP12: 0x00000000
PCHSTRP13: 0x00000000
PCHSTRP14: 0x00000001
PCHSTRP15: 0x0018437e
PCHSTRP16: 0x00000000
PCHSTRP17: 0x00000002

Found Master Section
FLMSTR1:   0x0a0b0000 (Host CPU/BIOS)
  Platform Data Region Write Access: disabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      disabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     disabled
  Platform Data Region Read Access:  disabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       disabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0000

FLMSTR2:   0x0c0d0000 (Intel ME)
  Platform Data Region Write Access: disabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: disabled
  Flash Descriptor Write Access:     disabled
  Platform Data Region Read Access:  disabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  disabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0000

FLMSTR3:   0x08080118 (GbE)
  Platform Data Region Write Access: disabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      disabled
  Host CPU/BIOS Region Write Access: disabled
  Flash Descriptor Write Access:     disabled
  Platform Data Region Read Access:  disabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       disabled
  Host CPU/BIOS Region Read Access:  disabled
  Flash Descriptor Read Access:      disabled
  Requester ID:                      0x0118

Found Processor Strap Section
????:      0x00000000
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff

python me_cleaner.py -c bios.bin

Full image detected
The ME/TXE region goes from 0x3000 to 0x200000
Found FPT header at 0x3010
Found 20 partition(s)
Found FTPR header: FTPR partition spans from 0x4a000 to 0xd2000
ME/TXE firmware version 9.1.25.1005
Checking the FTPR RSA signature... VALID

python me_cleaner.py -O modbios.bin bios.bin

Full image detected
The ME/TXE region goes from 0x3000 to 0x200000
Found FPT header at 0x3010
Found 20 partition(s)
Found FTPR header: FTPR partition spans from 0x4a000 to 0xd2000
ME/TXE firmware version 9.1.25.1005
Reading partitions list...
 PSVN (0x00000bc0 - 0x000000c00, 0x00000040 total bytes): removed
 FOVD (0x00000c00 - 0x000001000, 0x00000400 total bytes): removed
 MDES (0x00001000 - 0x000002000, 0x00001000 total bytes): removed
 FCRS (0x00002000 - 0x000003000, 0x00001000 total bytes): removed
 EFFS (0x00003000 - 0x000043000, 0x00040000 total bytes): removed
 NVCL (NVRAM partition, no data, 0x000069c9 total bytes): nothing to remove
 NVCP (NVRAM partition, no data, 0x0000a3c0 total bytes): nothing to remove
 NVHM (NVRAM partition, no data, 0x00000058 total bytes): nothing to remove
 NVJC (NVRAM partition, no data, 0x00003da0 total bytes): nothing to remove
 NVKR (NVRAM partition, no data, 0x00005fb4 total bytes): nothing to remove
 NVNF (NVRAM partition, no data, 0x0000175f total bytes): nothing to remove
 NVSH (NVRAM partition, no data, 0x000022c0 total bytes): nothing to remove
 NVSM (NVRAM partition, no data, 0x00001de8 total bytes): nothing to remove
 NVTD (NVRAM partition, no data, 0x00001feb total bytes): nothing to remove
 NVUK (NVRAM partition, no data, 0x00008940 total bytes): nothing to remove
 TMNN (NVRAM partition, no data, 0x000001a6 total bytes): nothing to remove
 GLUT (0x00043000 - 0x000047000, 0x00004000 total bytes): removed
 FTPR (0x00047000 - 0x0000cf000, 0x00088000 total bytes): NOT removed
 NFTP (0x000cf000 - 0x000146000, 0x00077000 total bytes): removed
 MDMV (0x00146000 - 0x00017d000, 0x00037000 total bytes): removed
Removing partition entries in FPT...
Removing EFFS presence flag...
Correcting checksum (0xea)...
Reading FTPR modules list...
 UPDATE           (LZMA   , 0x0aa680 - 0x0aa8aa): removed
 ROMP             (Huffman, fragmented data    ): NOT removed, essential
 BUP              (Huffman, fragmented data    ): NOT removed, essential
 KERNEL           (Huffman, fragmented data    ): removed
 POLICY           (Huffman, fragmented data    ): removed
 HOSTCOMM         (LZMA   , 0x0aa8aa - 0x0b2bb5): removed
 TDT              (LZMA   , 0x0b2bb5 - 0x0b7f71): removed
 FPF              (LZMA   , 0x0b7f71 - 0x0b9a77): removed
The ME minimum size should be 405504 bytes (0x63000 bytes)
The ME region can be reduced up to:
 00003000:00065fff me
Checking the FTPR RSA signature... VALID
Done! Good luck!

intelmetool -m

MEI found: [8086:8cba] 9 Series Chipset Family ME Interface #1

ME Status   : 0x1e000245
ME Status 2 : 0x60002306

ME: FW Partition Table      : OK
ME: Bringup Loader Failure  : NO
ME: Firmware Init Complete  : YES
ME: Manufacturing Mode      : NO
ME: Boot Options Present    : NO
ME: Update In Progress      : NO
ME: Current Working State   : Normal
ME: Current Operation State : M0 with UMA
ME: Current Operation Mode  : Normal
ME: Error Code              : No Error
ME: Progress Phase          : Host Communication
ME: Power Management Event  : Clean Moff->Mx wake
ME: Progress Phase State    : Host communication established

ME: Extend SHA-256: 270338250cca1d439e1e38229776ad740360322ebaa0afc5e355438989032796

ME: Firmware Version 9.1.1005.25 (code) 9.1.1005.25 (recovery) 9.1.1010.2 (fitc)

ME Capability: Full Network manageability                 : OFF
ME Capability: Regular Network manageability              : OFF
ME Capability: Manageability                              : OFF
ME Capability: Small business technology                  : OFF
ME Capability: Level III manageability                    : OFF
ME Capability: IntelR Anti-Theft (AT)                     : OFF
ME Capability: IntelR Capability Licensing Service (CLS)  : ON
ME Capability: IntelR Power Sharing Technology (MPC)      : OFF
ME Capability: ICC Over Clocking                          : ON
ME Capability: Protected Audio Video Path (PAVP)          : ON
ME Capability: IPV6                                       : OFF
ME Capability: KVM Remote Control (KVM)                   : OFF
ME Capability: Outbreak Containment Heuristic (OCH)       : OFF
ME Capability: Virtual LAN (VLAN)                         : ON
ME Capability: TLS                                        : OFF
ME Capability: Wireless LAN (WLAN)                        : OFF

fabertawe avatar Dec 07 '17 16:12 fabertawe

@GenericHero was able to succeed, maybe he could dump his BIOS flash.

VonManGuy avatar Dec 07 '17 21:12 VonManGuy

Afaik you need to flash with an external flasher (pi/ch341a), you cannot use the internal programmer. If you cross ref. the read/write access you'll understand why.

Could you elaborate on your setup for flashing ?

subjector avatar Dec 07 '17 22:12 subjector

@VonManGuy - there's no email address unfortunately.

@subjector - apologies for not adding the information originally. I am flashing in the BIOS via the updater there. @GenericHero used this option also and succeeded. I will look at the external option again but not sure if I want to get that hands on with the hardware!

Edit: I also tried 'ifdtool -u' - "Unlock firmware descriptor and ME region".

fabertawe avatar Dec 08 '17 10:12 fabertawe

An external programmer is unfortunately the only reliable way to flash a modified image: it may seems scary, but it is quite easy in reality.

ifdtool -u unlocks the RW access, but the resulting image must be flashed with an external programmer to apply the modification.

corna avatar Dec 10 '17 09:12 corna

~~@platomav it seems that this board doesn't have a secondary chip, do you have any idea from where it's fetching the original ME image? It's a 2MB ME image, so a backup image could fit in the BIOS region.~~

Wrong issue, sorry (#126)

corna avatar Dec 10 '17 15:12 corna