Jump to content

[UEFIPatch] UEFI patching utility


CodeRush
1,981 posts in this topic

Recommended Posts

That is great, if works. Can anyone confirm that BIOS for ASUS Z77 board, that was patched with PMPatch and then modified that way can be flashed with EZ Flash?

It cannot be flashed. However it works if only the SLIC modification is applied.

  • Like 1
Link to comment
Share on other sites

k3nny, thanks for testing.

 

I still can't find the locking code in new version of Intel PowerManagement module supplied with new BIOS.

The only module that has "mov ecx, 0E2h" is PM, but I see no sings of locking code.

Now I will describe 0xE2 MSR_PKG_CST_CONFIG_CONTROL map and attach PM module disassembly, so you could help me, I hope.

I need a report using RW everything or any other tool, that can show that MSR 0xE2 is definitely locked on boards with new PM module (AICPM.kext panic screenshot is not enough, it can panic regardless of 0xE2 state)

 

0xE2 MSR_PMG_CST_CONFIG_CONTROL - model-specific register introduced in Intel Nehalem Architecture and used for C-State configuration control

26/1Ah | C-State auto demotion   | R/W  | Demotion of C3/C6/C7 requests are disabled (0) or enabled (1)
25/19h | C3 state auto demotion  | R/W  | Demotion of C6/C7 requests to C3 is disabled (0) or enabled (1)
24/18h | Interrupt filtering     | R/W  | All cores (0) or only one core (1) will wake up with an event sent to specified core
15/0Fh | Configuration lock      | R/WO | Bits [15:0] of the register are locked (1) or unlocked (0) for writing. Once lock is set, it remains until reset.
10/0Ah | I/O MWAIT Redirection   | R/W  | CPU will (1) or will not (0) map IO_read instructions sent to IO register specified by MSR_PMG_IO_CAPTURE_BASE to MWAIT instructions
2,1,0  | Package C-State limit   | R/W  | C0 (no package C-state support) (0), C1 (behavior is the same as C0) (1), C3 (2), C6 (3), C7 (4), No package C-state limit (7)
This is for Nehalem CPU and some reserved bits can now be configuration bits too.

pm.zip

  • Like 1
Link to comment
Share on other sites

i tried PMpatch utility on my laptop and works ok :) thanks!

 

-------------------

Manufacturer : Lenovo
Model : ThinkPad X220, X220i, X220 Tablet, X220i Tablet
Intel Corporation 6 Series Chipset
 
Bios version: 1.39
 
Type: UEFI Phoenix
BIOS ID: 1.39 (8DET69WW)
ECP ID: 1.24 (8DHT34WW)
--------------------
 
PMPatch 0.5.13
PowerManagement modules not found.
PowerMgmtDxe/PowerManagement2.efi modules not found.
AMI nest modules not found.
Trying to apply patch #1
Nested PowerMgmtDxe/PowerManagement2.efi module at 001E57C8 patched.
Phoenix nest module at 005497C8 patched.
CpuPei modules not found.
Output file generated.
 
 
*and a question , can a bios patch be created so we dont need to patch AppleRTC.kext for those CMOS errors after restart?
Link to comment
Share on other sites

 

i tried PMpatch utility on my laptop and works ok :) thanks!

*and a question , can a bios patch be created so we dont need to patch AppleRTC.kext for those CMOS errors after restart?

 

There shouldn't be a CMOS error on this hardware, it's the same SNB/Cougar Point architecture, same SecureCore Tiano BIOS that is found on my Vostro and I never had to patch a kext, nor edits Device (RTC).

Link to comment
Share on other sites

i dont know if its the same but i have to patch AppleRTC (CMOS reset after sleep/wake patch) cause i get CMOS checksum bad error after i do sleep/wake and then restart , if i only sleep/wake no problem exists (tested) even if i delete irq's from Device (RTC) or not (maybe i'm doing wrong dsdt edit? i'll check it again) 

 

sorry if its offtopic , if a moderator wants can move these msg to http://www.insanelymac.com/forum/topic/276066-cmos-resets-by-applertckext/

 

There shouldn't be a CMOS error on this hardware, it's the same SNB/Cougar Point architecture, same SecureCore Tiano BIOS that is found on my Vostro and I never had to patch a kext, nor edits Device (RTC).

 

* i install again vanilla AppleRTC 1.5 and now i dont have the CMOS issue , i dont know why, anyway i'll see how that goes

 

**** update : it happen again so i must have the patched kext

Link to comment
Share on other sites

Hello, Using the program from my macbook I took of my bios file and added the extension. rom and started the program but I did not create the file of the bios can you tell me why? even if I delete the extension of the final result is the same, I wanted to try to stop a problem in the computer, because the stop is fine but to reactivate it takes a minute.

Link to comment
Share on other sites

131, I have said it multiple times here, new BIOSes on ASUS *7x and *8x chipsets are protected from flashing modified BIOSes.

There are two ways to flash it then:

1. USB BIOS Flashback, which is supported only by Z-series 

2. External SPI programmer, which can be bought or built. 

There is no known way to disable this protection on *8x BIOSes, so please use patched kext instead.

  • Like 1
Link to comment
Share on other sites

131, I have said it multiple times here, new BIOSes on ASUS *7x and *8x chipsets are protected from flashing modified BIOSes.

There are two ways to flash it then:

1. USB BIOS Flashback, which is supported only by Z-series 

2. External SPI programmer, which can be bought or built. 

There is no known way to disable this protection on *8x BIOSes, so please use patched kext instead.

Thank you very much for your kindly reply.

Link to comment
Share on other sites

There is no known way to disable this protection on *8x BIOSes, so please use patched kext instead.

 

Hey CodeRush, I'm also watching your thread on HardForum, the lock seems to be caused by an UEFI module.

 

I own an ASUS P8Z77-V LX and a self-built Rayer_SPI flasher, all parts available at conrad electronic.

 

If you need someone for tests, I'm willing to help :D  ...

the ASUS UEFI lock is annoying.

 

For the moment no news about that?

 

At descriptor region offset 60h I have

00 00 FF FF 00 00 FF FF 18 01 FF FF FF FF FF FF

but a flash fails with status

Error 280: Failed to disable write protection for the BIOS space!

I even tried a tool named prr.exe but it fails to unlock the SPI.

My board, my firmware! Bad idea from ASUS to lock the UEFI.

Link to comment
Share on other sites

No news at all for now, I working on another projects related to my master thesis, and I have no access for a board with this lock, but if you are willing to help, that is what you can do:

1. Flash the last old BIOS without this lock.

2. Use flashrom utility with maximum verbosity option, and post the log here.

3. Now flash the first locked version and try using flashrom again.

4. Post the log here.

I think that the lock itself is set by SPI protection registers, and if so, the code that makes them locked can be found and patched out. It couldn't help Z87 owners without UBF support, but if we can figure out, where the f*ck that code is - it will be great.

  • Like 1
Link to comment
Share on other sites

No news at all for now, I working on another projects related to my master thesis, and I have no access for a board with this lock, but if you are willing to help, that is what you can do:

1. Flash the last old BIOS without this lock.

2. Use flashrom utility with maximum verbosity option, and post the log here.

3. Now flash the first locked version and try using flashrom again.

4. Post the log here.

I think that the lock itself is set by SPI protection registers, and if so, the code that makes them locked can be found and patched out. It couldn't help Z87 owners without UBF support, but if we can figure out, where the f*ck that code is - it will be great.

Results for an Asus P8Z77-V LK:

 

* last unlocked version 1001

 

 

flashrom v0.9.7-r1732 on Linux 3.10.10-1-ARCH (x86_64)
flashrom was built with libpci 3.2.0, GCC 4.8.1 20130725 (prerelease), little endian
Command line (5 args): flashrom -p internal -V -o flashrom_probe_1001_unlocked.txt
Calibrating delay loop... OS timer resolution is 1 usecs, 3807M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 999 us, 10000 myus = 9992 us, 4 myus = 4 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "System manufacturer"
DMI string system-product-name: "System Product Name"
DMI string system-version: "System Version"
DMI string baseboard-manufacturer: "ASUSTeK COMPUTER INC."
DMI string baseboard-product-name: "P8Z77-V LK"
DMI string baseboard-version: "Rev X.0x"
DMI string chassis-type: "Desktop"
Found chipset "Intel Z77" with PCI ID 8086:1e44. Enabling flash write... 
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x2
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x3
0xffc00000/0xff800000 FWH IDSEL: 0x3
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode enabled
0xff600000/0xff200000 FWH decode enabled
0xff500000/0xff100000 FWH decode enabled
0xff400000/0xff000000 FWH decode enabled
Maximum FWH chip size: 0x100000 bytes
BIOS_CNTL = 0x09: BIOS Lock Enable: disabled, BIOS Write Enable: enabled
Root Complex Register Block address = 0xfed1c000
GCS = 0xc65: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x3 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3800
0x04: 0xe008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
Warning: SPI Configuration Lockdown activated.
Reading OPCODES... done
        OP        Type      Pre-OP
op[0]: 0x02, write w/  addr, none
op[1]: 0x03, read  w/  addr, none
op[2]: 0x20, write w/  addr, none
op[3]: 0x05, read  w/o addr, none
op[4]: 0x9f, read  w/o addr, none
op[5]: 0x01, write w/o addr, none
op[6]: 0x00, read  w/o addr, none
op[7]: 0x00, read  w/o addr, none
Pre-OP 0: 0x06, Pre-OP 1: 0x00
0x06: 0x0000 (HSFC)
HSFC: FGO=0, FCYCLE=0, FDBC=0, SME=0
0x08: 0x001af566 (FADDR)
0x50: 0x0000ffff (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0xff, BRRA 0xff
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.
0x58: 0x07ff0180 FREG1: BIOS region (0x00180000-0x007fffff) is read-write.
0x5C: 0x017f0001 FREG2: Management Engine region (0x00001000-0x0017ffff) is read-write.
0x60: 0x00001fff FREG3: Gigabit Ethernet region is unused.
0x64: 0x00001fff FREG4: Platform Data region is unused.
0x74: 0x00000000 (PR0 is unused)
0x78: 0x00000000 (PR1 is unused)
0x7C: 0x00000000 (PR2 is unused)
0x80: 0x00000000 (PR3 is unused)
0x84: 0x00000000 (PR4 is unused)
0x90: 0x80 (SSFS)
SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
0x91: 0xf94010 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=0, SME=0, SCF=1
0x94: 0x0006     (PREOP)
0x96: 0x043b     (OPTYPE)
0x98: 0x05200302 (OPMENU)
0x9C: 0x0000019f (OPMENU+4)
0xA0: 0x00000000 (BBAR)
0xC4: 0x00802005 (LVSCC)
LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xC8: 0x00002005 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=0
0xD0: 0x00000000 (FPB)

Reading flash descriptors mapped by the chipset via FDOC/FDOD... done.
=== Content Section ===
FLVALSIG 0x0ff0a55a
FLMAP0   0x02040003
FLMAP1   0x12100206
FLMAP2   0x00210120

--- Details ---
NR          (Number of Regions):                     3
FRBA        (Flash Region Base Address):         0x040
NC          (Number of Components):                  1
FCBA        (Flash Component Base Address):      0x030
ISL         (ICH/PCH Strap Length):                 18
FISBA/FPSBA (Flash ICH/PCH Strap Base Address):  0x100
NM          (Number of Masters):                     3
FMBA        (Flash Master Base Address):         0x060
MSL/PSL     (MCH/PROC Strap Length):                 1
FMSBA       (Flash MCH/PROC Strap Base Address): 0x200

=== Component Section ===
FLCOMP   0x09300024
FLILL    0x00000000

--- Details ---
Component 1 density:             8 MB
Component 2 is not used.
Read Clock Frequency:           20 MHz
Read ID and Status Clock Freq.: 33 MHz
Write and Erase Clock Freq.:    33 MHz
Fast Read is supported.
Fast Read Clock Frequency:      33 MHz
No forbidden opcodes.

=== Region Section ===
FLREG0   0x00000000
FLREG1   0x07ff0180
FLREG2   0x017f0001
FLREG3   0x00001fff
FLREG4   0x00001fff

--- Details ---
Region 0 (Descr.) 0x00000000 - 0x00000fff
Region 1 (BIOS  ) 0x00180000 - 0x007fffff
Region 2 (ME    ) 0x00001000 - 0x0017ffff
Region 3 (GbE   ) is unused.
Region 4 (Platf.) is unused.

=== Master Section ===
FLMSTR1  0xffff0000
FLMSTR2  0xffff0000
FLMSTR3  0xffff0118

--- Details ---
      Descr. BIOS ME GbE Platf.
BIOS    rw    rw  rw  rw   rw
ME      rw    rw  rw  rw   rw
GbE     rw    rw  rw  rw   rw

SPI Read Configuration: prefetching enabled, caching enabled, OK.
The following protocols are supported: FWH, SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25LQ16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25LQ032/A25LQ32A, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25LQ64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25F512, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512A, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25F1024(A), 128 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F2048, 256 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F4096, 512 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB321E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for ESMT F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Found Eon flash chip "EN25F64" (8192 kB, SPI) at physical address 0xff800000.
Chip status register is 0x00.
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH128, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25LQ32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q512, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q20(, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q40(, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q80(, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q16(, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q32(, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q64(, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q128B, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25T80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F160S33B8, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F160S33T8, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F320S33B8, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F320S33T8, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F640S33B8, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F640S33T8, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L512(E)/MX25V512(C), 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1005(C)/MX25L1006E, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L2005(C), 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L4005(A/C), 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L8005/MX25V8005, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1605A/MX25L1606E, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1605D/MX25L1608D, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3205(A), 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3205D/MX25L3208D, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3206E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L6405(D), 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L6406E/MX25L6436E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L6445E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L12805(D), 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25U1635E, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25U3235E/F, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25U6435E/F, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P20-old, 256 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q016, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q032..1E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q032..3E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q064..1E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q064..3E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q128..1E, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q128..3E, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD256C, 32 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD512(C), 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD010(C), 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD020(C), 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD040(C), 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV512(A), 64 kB: Invalid OPCODE 0xab, will not execute.
Probing for PMC Pm25LV010, 128 kB: Invalid OPCODE 0xab, will not execute.
Probing for PMC Pm25LV010A, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo LE25FW203A, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo LE25FW403A, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo LE25FW418A, 512 kB: Invalid OPCODE 0xab, will not execute.
Probing for Sanyo LE25FW806, 1024 kB: Invalid OPCODE 0xab, will not execute.
Probing for Sanyo LE25FW808, 1024 kB: Invalid OPCODE 0xab, will not execute.
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL032A/P, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL064A/P, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL204K, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL208K, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL116K/S25FL216K, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL128S......0, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not execute.
Probing for SST SST25LF080(A), 1024 kB: Invalid OPCODE 0xab, will not execute.
Probing for SST SST25VF010, 128 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF512, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF010, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF020, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q80.V, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q16.V, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q32.V, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q64.V, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q128.V, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q20.W, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q40.W, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q80.W, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q16.W, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q32.W, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q64.W, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Unknown SFDP-capable chip, 0 kB: Invalid OPCODE 0x5a, will not execute.
Receiving SFDP signature failed.
Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90, will not execute.
Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL002, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0xeb, id2 0x4b, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF016C, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040A, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW016, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW040, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W49V002FA, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Found Eon flash chip "EN25F64" (8192 kB, SPI).
No operations were specified.
Restoring MMIO space at 0x7f12507eb8a0
Restoring PCI config space for 00:1f:0 reg 0xdc

 

 

* first locked version 1103

 

 

flashrom v0.9.7-r1732 on Linux 3.10.10-1-ARCH (x86_64)
flashrom was built with libpci 3.2.0, GCC 4.8.1 20130725 (prerelease), little endian
Command line (5 args): flashrom -p internal -V -o flashrom_probe_1103_locked.txt
Calibrating delay loop... OS timer resolution is 1 usecs, 4198M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 1000 us, 10000 myus = 10003 us, 4 myus = 4 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "System manufacturer"
DMI string system-product-name: "System Product Name"
DMI string system-version: "System Version"
DMI string baseboard-manufacturer: "ASUSTeK COMPUTER INC."
DMI string baseboard-product-name: "P8Z77-V LK"
DMI string baseboard-version: "Rev X.0x"
DMI string chassis-type: "Desktop"
Found chipset "Intel Z77" with PCI ID 8086:1e44. Enabling flash write... 
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x2
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x3
0xffc00000/0xff800000 FWH IDSEL: 0x3
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode enabled
0xff600000/0xff200000 FWH decode enabled
0xff500000/0xff100000 FWH decode enabled
0xff400000/0xff000000 FWH decode enabled
Maximum FWH chip size: 0x100000 bytes
BIOS_CNTL = 0x2a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled
Warning: BIOS region SMM protection is enabled!
Warning: Setting Bios Control at 0xdc from 0x2a to 0x0b on Z77 failed.
New value is 0x2a.
Root Complex Register Block address = 0xfed1c000
GCS = 0xc65: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x3 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3800
0x04: 0xe008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
Warning: SPI Configuration Lockdown activated.
Reading OPCODES... done
        OP        Type      Pre-OP
op[0]: 0x02, write w/  addr, none
op[1]: 0x03, read  w/  addr, none
op[2]: 0x20, write w/  addr, none
op[3]: 0x05, read  w/o addr, none
op[4]: 0x9f, read  w/o addr, none
op[5]: 0x01, write w/o addr, none
op[6]: 0x00, read  w/o addr, none
op[7]: 0x00, read  w/o addr, none
Pre-OP 0: 0x06, Pre-OP 1: 0x00
0x06: 0x0000 (HSFC)
HSFC: FGO=0, FCYCLE=0, FDBC=0, SME=0
0x08: 0x00000000 (FADDR)
0x50: 0x0000ffff (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0xff, BRRA 0xff
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.
0x58: 0x07ff0180 FREG1: BIOS region (0x00180000-0x007fffff) is read-write.
0x5C: 0x017f0001 FREG2: Management Engine region (0x00001000-0x0017ffff) is read-write.
0x60: 0x00001fff FREG3: Gigabit Ethernet region is unused.
0x64: 0x00001fff FREG4: Platform Data region is unused.
0x74: 0x00000000 (PR0 is unused)
0x78: 0x00000000 (PR1 is unused)
0x7C: 0x00000000 (PR2 is unused)
0x80: 0x00000000 (PR3 is unused)
0x84: 0x00000000 (PR4 is unused)
0x90: 0x84 (SSFS)
SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0
0x91: 0xf94240 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=4, DBC=2, SME=0, SCF=1
0x94: 0x0006     (PREOP)
0x96: 0x043b     (OPTYPE)
0x98: 0x05200302 (OPMENU)
0x9C: 0x0000019f (OPMENU+4)
0xA0: 0x00000000 (BBAR)
0xC4: 0x00802005 (LVSCC)
LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xC8: 0x00002005 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=0
0xD0: 0x00000000 (FPB)
 
Reading flash descriptors mapped by the chipset via FDOC/FDOD... done.
=== Content Section ===
FLVALSIG 0x0ff0a55a
FLMAP0   0x02040003
FLMAP1   0x12100206
FLMAP2   0x00210120
 
--- Details ---
NR          (Number of Regions):                     3
FRBA        (Flash Region Base Address):         0x040
NC          (Number of Components):                  1
FCBA        (Flash Component Base Address):      0x030
ISL         (ICH/PCH Strap Length):                 18
FISBA/FPSBA (Flash ICH/PCH Strap Base Address):  0x100
NM          (Number of Masters):                     3
FMBA        (Flash Master Base Address):         0x060
MSL/PSL     (MCH/PROC Strap Length):                 1
FMSBA       (Flash MCH/PROC Strap Base Address): 0x200
 
=== Component Section ===
FLCOMP   0x09300024
FLILL    0x00000000
 
--- Details ---
Component 1 density:             8 MB
Component 2 is not used.
Read Clock Frequency:           20 MHz
Read ID and Status Clock Freq.: 33 MHz
Write and Erase Clock Freq.:    33 MHz
Fast Read is supported.
Fast Read Clock Frequency:      33 MHz
No forbidden opcodes.
 
=== Region Section ===
FLREG0   0x00000000
FLREG1   0x07ff0180
FLREG2   0x017f0001
FLREG3   0x00001fff
FLREG4   0x00001fff
 
--- Details ---
Region 0 (Descr.) 0x00000000 - 0x00000fff
Region 1 (BIOS  ) 0x00180000 - 0x007fffff
Region 2 (ME    ) 0x00001000 - 0x0017ffff
Region 3 (GbE   ) is unused.
Region 4 (Platf.) is unused.
 
=== Master Section ===
FLMSTR1  0xffff0000
FLMSTR2  0xffff0000
FLMSTR3  0xffff0118
 
--- Details ---
      Descr. BIOS ME GbE Platf.
BIOS    rw    rw  rw  rw   rw
ME      rw    rw  rw  rw   rw
GbE     rw    rw  rw  rw   rw
 
SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway
The following protocols are supported: FWH, SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25LQ16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25LQ032/A25LQ32A, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for AMIC A25LQ64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25F512, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512A, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25F1024(A), 128 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F2048, 256 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F4096, 512 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB321E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for ESMT F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25F64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Found Eon flash chip "EN25F64" (8192 kB, SPI) at physical address 0xff800000.
Chip status register is 0x00.
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25QH128, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon EN25S64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25LQ32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q512, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q20(, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q40(, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q80(, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q16(, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q32(, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q64(, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25Q128B, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for GigaDevice GD25T80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F160S33B8, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F160S33T8, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F320S33B8, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F320S33T8, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F640S33B8, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Intel 25F640S33T8, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L512(E)/MX25V512(C), 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1005(C)/MX25L1006E, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L2005(C), 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L4005(A/C), 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L8005/MX25V8005, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1605A/MX25L1606E, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1605D/MX25L1608D, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3205(A), 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3205D/MX25L3208D, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3206E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L6405(D), 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L6406E/MX25L6436E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L6445E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25L12805(D), 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25U1635E, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25U3235E/F, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix MX25U6435E/F, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P20-old, 256 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST M45PE16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q016, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q032..1E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q032..3E, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q064..1E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q064..3E, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q128..1E, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Micron/Numonyx/ST N25Q128..3E, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Nantronics N25S16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD256C, 32 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD512(C), 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD010(C), 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD020(C), 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LD040(C), 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV512(A), 64 kB: Invalid OPCODE 0xab, will not execute.
Probing for PMC Pm25LV010, 128 kB: Invalid OPCODE 0xab, will not execute.
Probing for PMC Pm25LV010A, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo LE25FW203A, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo LE25FW403A, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo LE25FW418A, 512 kB: Invalid OPCODE 0xab, will not execute.
Probing for Sanyo LE25FW806, 1024 kB: Invalid OPCODE 0xab, will not execute.
Probing for Sanyo LE25FW808, 1024 kB: Invalid OPCODE 0xab, will not execute.
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL032A/P, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL064A/P, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL204K, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL208K, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL116K/S25FL216K, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Spansion S25FL128S......0, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not execute.
Probing for SST SST25LF080(A), 1024 kB: Invalid OPCODE 0xab, will not execute.
Probing for SST SST25VF010, 128 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF512, 64 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF010, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF020, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST SST25WF040, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q80.V, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q16.V, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q32.V, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q64.V, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q128.V, 16384 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q20.W, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q40.W, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q80.W, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q16.W, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q32.W, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25Q64.W, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Unknown SFDP-capable chip, 0 kB: Invalid OPCODE 0x5a, will not execute.
Receiving SFDP signature failed.
Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0x1c, id2 0x3117
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90, will not execute.
Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL002, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0x7e, id2 0x06, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF016C, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040A, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW016, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW040, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W49V002FA, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Found Eon flash chip "EN25F64" (8192 kB, SPI).
No operations were specified.
Restoring MMIO space at 0x7fb4c42c48a0
Restoring PCI config space for 00:1f:0 reg 0xdc

 

 

 

* Diff between the logs

 

 

3,4c3,4
< Command line (5 args): flashrom -p internal -V -o flashrom_probe_1001_unlocked.txt
< Calibrating delay loop... OS timer resolution is 1 usecs, 3807M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 999 us, 10000 myus = 9992 us, 4 myus = 4 us, OK.
---
> Command line (5 args): flashrom -p internal -V -o flashrom_probe_1103_locked.txt
> Calibrating delay loop... OS timer resolution is 1 usecs, 4198M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 1000 us, 10000 myus = 10003 us, 4 myus = 4 us, OK.
40c40,43
< BIOS_CNTL = 0x09: BIOS Lock Enable: disabled, BIOS Write Enable: enabled
---
> BIOS_CNTL = 0x2a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled
> Warning: BIOS region SMM protection is enabled!
> Warning: Setting Bios Control at 0xdc from 0x2a to 0x0b on Z77 failed.
> New value is 0x2a.
61c64
< 0x08: 0x001af566 (FADDR)
---
> 0x08: 0x00000000 (FADDR)
74,77c77,80
< 0x90: 0x80 (SSFS)
< SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
< 0x91: 0xf94010 (SSFC)
< SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=0, SME=0, SCF=1
---
> 0x90: 0x84 (SSFS)
> SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0
> 0x91: 0xf94240 (SSFC)
> SSFC: SCGO=0, ACS=0, SPOP=0, COP=4, DBC=2, SME=0, SCF=1
147c150
< SPI Read Configuration: prefetching enabled, caching enabled, OK.
---
> SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway
401c404
< Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0xeb, id2 0x4b, id1 parity violation, id1 is normal flash content, id2 is normal flash content
---
> Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0x7e, id2 0x06, id1 parity violation, id1 is normal flash content, id2 is normal flash content
423c426
< Restoring MMIO space at 0x7f12507eb8a0
---
> Restoring MMIO space at 0x7fb4c42c48a0 

 

 

 

In unlocked mode we have:

< BIOS_CNTL = 0x09: BIOS Lock Enable: disabled, BIOS Write Enable: enabled

0x09 = 0000 1001

 

.. and in locked mode:

> BIOS_CNTL = 0x2a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled
> Warning: BIOS region SMM protection is enabled!
> Warning: Setting Bios Control at 0xdc from 0x2a to 0x0b on Z77 failed.
> New value is 0x2a.

0x2a = 0010 1010

 

According to the Intel specs (page 489) the important bits are:

 

0: BIOS Write Enable (BIOSWE) — R/W

0 = Only read cycles result in Firmware Hub I/F cycles. 

1 = Access to the BIOS space is enabled for both read and write cycles. When this bit is 

written from a 0 to a 1 and BIOS Lock Enable (BLE) is also set, an SMI# is 

generated. This ensures that only SMI code can update BIOS.

 

1: BIOS Lock Enable (BLE) — R/WLO

0 = Setting the BIOSWE will not cause SMIs.

1 = Enables setting the BIOSWE bit to cause SMIs. Once set, this bit can only be

cleared by a PLTRST#

 

5: SMM BIOS Write Protect Disable (SMM_BWP)— R/WLO

This bit set defines when the BIOS region can be written by the host.

0 = BIOS region SMM protection is disabled. The BIOS Region is writable regardless if 

processors are in SMM or not. (Set this field to 0 for legacy behavior)

1 = BIOS region SMM protection is enabled. The BIOS Region is not writable unless all 

processors are in SMM.

Edited by k3nny
  • Like 3
Link to comment
Share on other sites

DON'T TRY THIS AT HOME, IT WILL CAUSE A BRICK:

 

compared ROMs with MMTools for Aptio modules that has been added in 1103:
 

|000|DummyMSOA      |DE498C70-1EDA-466B-ABCF-DD3ABC3D24B4|001F0848|00004F|FRFM|
|097|MSOA           |A1902AB9-5394-45F2-857A-12824213EEFB|003659C8|001201|DRVR|
|135|               |842A454A-75E5-408B-8B1C-36420E4E3F21|003F8C68|000DA7|    |

I compared extracted modules by Phoenixtools and in content only the directories shows difference here:

842A454A-75E5-408B-8B1C-36420E4E3F21_0_397.ROM
842A454A-75E5-408B-8B1C-36420E4E3F21_1_397.ROM
842A454A-75E5-408B-8B1C-36420E4E3F21_2_397.ROM
DE498C70-1EDA-466B-ABCF-DD3ABC3D24B4_0_9.ROM

so those modules did not exist before.

k3nny, are you willing to risk a downgrade to 1001 with an upgrade to 1103 afterwards without those modules?

I suggest those modules cause the lock.

 

What we can compare is an RW-Everything report of ACPI tables, the lock is triggered very likely with an ACPI command

to set #WP pin at low level (0x2a?).

 

In file 842A454A-75E5-408B-8B1C-36420E4E3F21_2_397.ROM I see:

 

2vct4ic.jpg

 

At offset 1160h I see something interesting too:

 

2hd42ko.jpg

 

Now it would be really interesting to dump the NVRAM SMI-buffer but how?

 

update: I found something interesting about exploiting SMRAM.

Link to comment
Share on other sites

...

k3nny, are you willing to risk a downgrade to 1001 with an upgrade to 1103 afterwards without those modules?

I suggest those modules cause the lock.

 

What we can compare is an RW-Everything report of ACPI tables, the lock is triggered very likely with an ACPI command

to set #WP pin at low level (0x2a?).

...

To me it sounds like the lock bit is set during the platform reset and I would say the code is present in some part that sets the default platform values. That's not really much of an info of course..

 

Here are the two DSDT files extracted directly from the BIOS files, I didn't find anything useful however:

dsdt_1001+1103.zip

 

How exactly did you compare the content of the PhoenixTool dumps?

 

Generally I would risk it but I would like to wait for some more details on this issue before I try it.

Link to comment
Share on other sites

To me it sounds like the lock bit is set during the platform reset and I would say the code is present in some part that sets the default platform values. That's not really much of an info of course..

 

Here are the two DSDT files extracted directly from the BIOS files, I didn't find anything useful however:

attachicon.gifdsdt_1001+1103.zip

 

How exactly did you compare the content of the PhoenixTool dumps?

 

Generally I would risk it but I would like to wait for some more details on this issue before I try it.

 

I built a SPI flasher, so I have no risk, the EEPROM on my P8Z77-V LX can be pulled out of the socket.

The chances are pretty good to make a permanent unlock, look:

 

21b3t08.jpg

 

On PhoenixTool simply click on structure to edit a ROM ;)

 

I just downgraded to 0401.rom with afudos for APTIO and at the moment I flash the modified 2204.

Now I had to recover with SPI flash - the UEFI was stuck at init.

 

Lock bit must be set somewhere else. Sorry I don't own IDA to decompile this submodule.

 

update: now I removed the modules

 

|000|DummyMSOA      |DE498C70-1EDA-466B-ABCF-DD3ABC3D24B4|001F0848|00004F|FRFM|

|097|MSOA           |A1902AB9-5394-45F2-857A-12824213EEFB|003659C8|001201|DRVR|

|135|               |842A454A-75E5-408B-8B1C-36420E4E3F21|003F8C68|000DA7|    |

 

but still the UEFI hangs after postboot beep.

Without a SPI flash device you won't be able to recover, cause it's impossible to enter setup or bootmenu.

Link to comment
Share on other sites

I found a setting mismatch in AMIBCP at Main > (Unnamed directory): handle 02FA, BIOS Lock - Enable or disable BIOS lock enable (BLE) bit. 1001 had it disabled and 1103 enabled.

post-129936-0-77634500-1378154550_thumb.jpg

 

Altering this setting from Enabled to Disabled and saving a new BIOS using AMIBCP changes one single byte from 0x01 to 0x00 in two different modules:

1) B1DA0ADF-4F77-4070-A88E-BFFE1C60529A - AMITSE

2) CEF5B9A3-476D-497F-9FDC-E98143E0422C - NVRAM

 

To automate the patch we need to figure out how to determine the correct settings byte.

 

Running an unlocked 1104 (an update came out today) right now. Tried reflashing the same version using FPT and it worked.  :)

 

Output from RW-Everything while running FPT:

post-129936-0-84834300-1378153379_thumb.jpg

 

Edit:

This method doesn't seem to work with newer boards from Asus. For example it isn't possible to change the setting using AMIBCP on a Z87-PRO BIOS. Even if this would be possible, there is no way to flash such a modified BIOS without UBF I guess.

Edited by k3nny
  • Like 5
Link to comment
Share on other sites

×
×
  • Create New...