ASRock Z97 Extreme6 - should it be working?
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
@GenericHero was able to succeed, maybe he could dump his BIOS flash.
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 ?
@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".
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.
~~@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)