log with hwseq
+Reardon
On Sun, Aug 3, 2014 at 10:43 AM, Stefan Tauner stefan.tauner@alumni.tuwien.ac.at wrote:
On Sun, 3 Aug 2014 09:52:48 -0400 TR Reardon thomas_reardon@hotmail.com wrote:
Because I took a picture of the chip ;)
That is a 256Mb/32MB chip. It is unlikely that this is the chip the board boots from:
The Flash Descriptor read by flashrom from the boot flash contains a map of the flash addresses used (something like a partition table). It is designed to work with an 8MB chip (top of BIOS region is top of flash and 0x007fffff in this case, equalling 8MB): 0x54: 0x000f0000 FREG0: Flash Descriptor region (0x00000000-0x0000ffff) is read-write. 0x58: 0x07ff0200 FREG1: BIOS region (0x00200000-0x007fffff) is read-write. 0x5C: 0x00000fff FREG2: Management Engine region is unused. 0x60: 0x00000fff FREG3: Gigabit Ethernet region is unused. 0x64: 0x00000fff FREG4: Platform Data region is unused.
Also, the Component Section contains the density of the boot flash: === Component Section === FLCOMP 0x09300024 FLILL 0x00000000
--- Details --- Component 1 density: 8 MB
Also, 32 MB chips are uncommon yet as boot devices. In your case I believe that's an additional flash chip for some other use case. You may be able to detect that in Linux with flashrom's linux_spi module. flashrom does not support such big flash chips yet, but a verbose log would have its IDs in it. I am pretty sure that you would find a Winbond chip as well if you would look at the board again.
Also, here is the log tail from when I try to --read from flash:
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI). This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Block protection is disabled. Reading flash... Transaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=1 SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=63, SME=0, SCF=0 Running OPCODE 0x03 failed at address 0x010000 (payload length was 64). Read operation failed! FAILED. Restoring MMIO space at 0x7f9c7d0670fc
That seems to match the Flash Descriptor regions as quoted above. The descriptor of this board does not define what's between 0x10000 and 0x1fffff and hence the chipset does not allow to access these regions. There are patches for flashrom that allows to access only specific address ranges but they are not committed yet.
But this patch set seems to work as expected so far. Could you please also post a log done with Hardware Sequencing (i.e. by adding ich_spi_mode=hwseq to the programmer's argument list separated by a comma as below)?
./flashrom --programmer internal:laptop=this_is_not_a_laptop,ich_spi_mode=hwseq -o log -VV
-- Kind regards/Mit freundlichen Grüßen, Stefan Tauner