flashrom
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
June 2012
- 35 participants
- 108 discussions

July 18, 2012
I recently got myself a MSI Z68MA-G45 board. It's running with an Intel
Z68 chipset, which has some support in flashrom and coreboot.
First, I ran flashrom with the system on the board and it was able to
correctly read the chip (see attached log). I uploaded the read data
[1]. The UEFI interface proposed to save the UEFI image on usb storage
[2]: I was then able to compare it to the read data from flashrom. It
appears that the UEFI image are the last 0x600000 bytes of the BIOS ROM
image (from 0x200000 to 0x7FFFFF).
While searching for the BIOS chip on the board hardware, I saw a set of
pins called "JSPI1", right next to the BIOS SPI chip [3]. After some
research [4][5], I used this pin layout: [6].
The only SPI flasher I have is a Bus Pirate, that I used with flashrom
at different spispeeds, but it never worked (it was only returning
either 0xff or 0x00) (see attached logs). I used connectors from an USB
on-board connector (9 pins) but had to take them off the plastic as the
pins disposal didn't match the JSPI1 disposal (the pins are closer to
each other than on USB on-board connectors). Fearing that the connectors
would touch each other, I put adhesive tape around to isolate them [7].
As it still didn't work, I put some of the connectors of the bus pirate
(I have a probe cable) directly on the pins, but it was only possible
for 4 of them and used my hand-made cables for the rest [8]. Though, it
still didn't work.
Any lead on this would be welcome. According to
http://www.flashrom.org/ISP it can be because of cable length: are the
buspirate probe cables too long for this? [9]
[1] http://download.paulk.fr/coreboot/msi-z68ma-g45/bios.rom
[2] http://download.paulk.fr/coreboot/msi-z68ma-g45/E7676IMS.H10.rom
[3]
http://download.paulk.fr/coreboot/msi-z68ma-g45/photos/spi-chip-pins.jpg
[4]
http://soj.mesdiscussions.net/soj/Electronique/Autres/projet-adaptateur-har…
[5] http://forum-en.msi.com/index.php?topic=139099.0
[6] http://download.paulk.fr/coreboot/msi-z68ma-g45/photos/spi-pins.png
[7]
http://download.paulk.fr/coreboot/msi-z68ma-g45/photos/connectors.jpg
[8]
http://download.paulk.fr/coreboot/msi-z68ma-g45/photos/on-pins-connectors.j…
[9] http://download.paulk.fr/coreboot/msi-z68ma-g45/photos/buspirate.jpg
--
Paul Kocialkowski
3
5
otis@zed ~/code/flashrom-1.0 $ sudo ./flashrom -Vr xx
flashrom v0.9.5.2-r1538 on Linux 3.2.0-2-amd64 (x86_64), built with
libpci 3.1.8, GCC 4.6.3, little endian
flashrom is free software, get the source code at http://www.flashrom.org
Command line (2 args): ./flashrom -Vr xx
Calibrating delay loop... OS timer resolution is 1 usecs, 1415M loops
per second, 10 myus = 10 us, 100 myus = 117 us, 1000 myus = 973 us,
10000 myus = 9945 us, 4 myus = 8 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "Hewlett-Packard"
DMI string system-product-name: "HP Z400 Workstation"
DMI string system-version: " "
DMI string baseboard-manufacturer: "Hewlett-Packard"
DMI string baseboard-product-name: "0AE4h"
DMI string baseboard-version: "Not Specified"
DMI string chassis-type: "Mini Tower"
Found chipset "Intel ICH10R" with PCI ID 8086:3a16. 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 disabled
0xffd00000/0xff900000 FWH decode disabled
0xffc80000/0xff880000 FWH decode disabled
0xffc00000/0xff800000 FWH decode disabled
0xff700000/0xff300000 FWH decode disabled
0xff600000/0xff200000 FWH decode disabled
0xff500000/0xff100000 FWH decode disabled
0xff400000/0xff000000 FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
BIOS Lock Enable: enabled, BIOS Write Enable: disabled, BIOS_CNTL is 0x2
WARNING: Setting 0xdc from 0x2 to 0x3 on ICH10R failed. New value is 0x2.
Root Complex Register Block address = 0xfed1c000
GCS = 0x464: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3800
0x04: 0xa008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=0, FLOCKDN=1
WARNING: SPI Configuration Lockdown activated.
Reading OPCODES... done
0x08: 0x001fffc0 (FADDR)
0x74: 0x81ff01f0 PR0: WARNING: 0x001f0000-0x001fffff is read-only.
Please send a verbose log to flashrom(a)flashrom.org if this board is not
listed on
http://flashrom.org/Supported_hardware#Supported_mainboards yet.
Writes have been disabled. You can enforce write support with the
ich_spi_force programmer option, but it will most likely harm your hardware!
If you force flashrom you will get no support if something breaks.
0x90: 0x04 (SSFS)
SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0
0x91: 0x007f40 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=4, DBC=63, SME=0, SCF=0
0x94: 0x0606 (PREOP)
0x96: 0xb6f0 (OPTYPE)
0x98: 0x0220059f (OPMENU)
0x9C: 0x03020103 (OPMENU+4)
0xA0: 0x00000000 (BBAR)
SPI Read Configuration: prefetching disabled, caching enabled, PROBLEMS,
continuing anyway
The following protocols are supported: FWH, SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Chip status register is 10
Found Atmel flash chip "AT26DF161" (2048 kB, SPI) at physical address
0xffe00000.
Chip status register is 10
Chip status register: Sector Protection Register Lock (SRPL) is not set
Chip status register: Bit 6 is not set
Chip status register: Erase/Program Error (EPE) is not set
Chip status register: WP# pin (WPP) is not asserted
Chip status register: Software Protection Status (SWP): no sectors are
protected
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not execute.
Probing for SST SST25LF080A, 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 0x1f,
id2 0x4600
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x1f, id2
0x4600
Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x1f,
id2 0x4600
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 0x1f, id2 0x4600
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x1f, id2 0x4600
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Macronix unknown Macronix SPI chip, 0 kB:
probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x1f, id2 0x4600
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x1f, id2 0x4600
Probing for Generic unknown SPI chip (RDID), 0 kB:
probe_spi_rdid_generic: id1 0x1f, id2 0x4600
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90,
will not execute.
Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0x22, id2 0x2f,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0x18, id2 0xf1,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for PMC Pm49FL002, 256 kB: probe_jedec_common: id1 0x22, id2
0x2f, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0x18, id2
0xf1, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0x22, id2
0x2f, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0x78, id2
0xfc, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0x18, id2
0xf1, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0x18, id2 0xf1,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0xff, id2 0xff,
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 0x18, id2 0xf1,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0x18, id2 0xf1,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0x22, id2 0x2f, id1
parity violation, 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 0x18, id2 0xf1, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0x18, id2
0xf1, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0x18, id2
0xf1, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0x18, id2
0xf1, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W49V002FA, 256 kB: probe_jedec_common: id1 0x22, id2
0x2f, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0xff,
id2 0xff, 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 0x18, id2 0xf1, id1 parity violation, id1 is normal flash content,
id2 is normal flash content
Found Atmel flash chip "AT26DF161" (2048 kB, SPI).
===
This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom(a)flashrom.org if any of the above
operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Some block protection in effect, disabling
Block protection could not be disabled!
Reading flash... done.
Restoring MMIO space at 0x7f80c933b8a0
Restoring PCI config space for 00:1f:0 reg 0xdc
--
Juraj Lutter | /\ ASCII Ribbon Campaign
otis (at) wilbury (dot) sk | \/ - NO HTML/RTF in e-mail
http://www.wilbury.sk/ | /\ - NO Word docs in e-mail
JID: otis (at) jabber (dot) vx (dot) sk
!07/11 PDP a ni deppart m'I !pleH
2
1
Log for Gigabyte GA-H61M-D2-B3 motherboard on a Intel H61 chipset for
read and write operations.
2
1
Hi,
thank you for the great tool it saved me from messing ouround with DOS boot dics etc on a system which is purely running on Linux.
I updated the bios of this board and in case the diagnostic output of this board is interesting for you, here is it:
juergen@media:/scratch/software/bios$ sudo flashrom
[sudo] password for juergen:
flashrom v0.9.5.2-r1517 on Linux 3.2.0-25-generic (x86_64), built with libpci 3.1.8, GCC 4.6.3, little endian
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP67". Enabling flash write... This chipset is not really supported yet. Guesswork...
SPI on this chipset is WIP. Please report any success or failure by mailing us the verbose output to flashrom(a)flashrom.org, thanks!
Mapping NVIDIA MCP6x SPI at 0xfec80000, unaligned size 0x544.
Please send the output of "flashrom -V" to flashrom(a)flashrom.org with
your board name: flashrom -V as the subject to help us finish support for your
chipset. Thanks.
OK.
Found Macronix flash chip "MX25L8005" (1024 kB, SPI) at physical address 0xfff00000.
No operations were specified.
--
NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!
Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
2
1
flashrom v0.9.5.2-r1515 on Linux 3.2.13-grsec-xxxx-grs-ipv6-64 (x86_64),
built with libpci 3.1.7, GCC 4.1.2 20080704 (Red Hat 4.1.2-52), little
endian
flashrom is free software, get the source code at http://www.flashrom.org
Please run "flashrom --help" for usage info.
flashrom v0.9.5.2-r1515 on Linux 3.2.13-grsec-xxxx-grs-ipv6-64 (x86_64),
built with libpci 3.1.7, GCC 4.1.2 20080704 (Red Hat 4.1.2-52), little
endian
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OS timer resolution is 1 usecs, 3230M loops per
second, 10 myus = 10 us, 100 myus = 102 us, 1000 myus = 1012 us, 10000 myus
= 10058 us, 4 myus = 5 us, OK.
Initializing internal programmer
dmidecode execution unsuccessful - continuing without DMI info
Found chipset "Intel H61" with PCI ID 8086:1c5c.
This chipset is marked as untested. If you are using an up-to-date version
of flashrom please email a report to flashrom(a)flashrom.org including a
verbose (-V) log. Thank you!
Enabling flash write...
0x7fffffff/0x7fffffff FWH IDSEL: 0x0
0x7fffffff/0x7fffffff FWH IDSEL: 0x0
0x7fffffff/0x7fffffff FWH IDSEL: 0x1
0x7fffffff/0x7fffffff FWH IDSEL: 0x1
0x7fffffff/0x7fffffff FWH IDSEL: 0x2
0x7fffffff/0x7fffffff FWH IDSEL: 0x2
0x7fffffff/0x7fffffff FWH IDSEL: 0x3
0x7fffffff/0x7fffffff FWH IDSEL: 0x3
0x7fffffff/0x7fffffff FWH IDSEL: 0x4
0x7fffffff/0x7fffffff FWH IDSEL: 0x5
0x7fffffff/0x7fffffff FWH IDSEL: 0x6
0x7fffffff/0x7fffffff FWH IDSEL: 0x7
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode enabled
0x7fffffff/0x7fffffff FWH decode disabled
0x7fffffff/0x7fffffff FWH decode disabled
0x7fffffff/0x7fffffff FWH decode disabled
0x7fffffff/0x7fffffff FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
BIOS Lock Enable: enabled, BIOS Write Enable: disabled, BIOS_CNTL is 0x2
WARNING: Setting 0xdc from 0x2 to 0x3 on H61 failed. New value is 0x2.
Root Complex Register Block address = 0xfed1c000
GCS = 0xc01: 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
0x06: 0x0000 (HSFC)
HSFC: FGO=0, FCYCLE=0, FDBC=0, SME=0
0x08: 0x00003000 (FADDR)
0x50: 0x00000a0b (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0x0a, BRRA 0x0b
0x54: 0x00000000 FREG0: WARNING: Flash Descriptor region
(0x00000000-0x00000fff) is read-only.
0x58: 0x03ff0185 FREG1: BIOS region (0x00185000-0x003fffff) is read-write.
0x5C: 0x01840003 FREG2: WARNING: Management Engine region
(0x00003000-0x00184fff) is locked.
0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is
read-write.
Please send a verbose log to flashrom(a)flashrom.org if this board is not
listed on
http://flashrom.org/Supported_hardware#Supported_mainboards yet.
Writes have been disabled. You can enforce write support with the
ich_spi_force programmer option, but it will most likely harm your hardware!
If you force flashrom you will get no support if something breaks.
0x90: 0x84 (SSFS)
SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0
0x91: 0xfc0000 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=0, DBC=0, SME=0, SCF=4
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)
SPI Read Configuration: prefetching disabled, caching enabled, PROBLEMS,
continuing anyway
The following protocols are supported: FWH, SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not execute.
Probing for SST SST25LF080A, 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 0xef, id2
0x4016
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Chip status register is 00
Found Winbond flash chip "W25Q32" (4096 kB, SPI) at physical address
0xffc00000.
Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2
0x4016
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
0xef, id2 0x4016
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1
0xef, id2 0x4016
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1
0xef, id2 0x4016
Probing for Macronix unknown Macronix SPI chip, 0 kB:
probe_spi_rdid_generic: id1 0xef, id2 0x4016
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1
0xef, id2 0x4016
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0xef, id2 0x4016
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef,
id2 0x4016
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1
0xef, id2 0x4016
Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic:
id1 0xef, id2 0x4016
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 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, 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 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, 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 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, 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 0x64, id2 0xb2, id1 is
normal flash content, id2 is normal flash content
Probing for ST M50FLW040A, 512 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, 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 0x64, id2 0xb2, id1 is
normal flash content, id2 is normal flash content
Probing for ST M50FW040, 512 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0xff, id2 0xff, id1
parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, 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 0xff, id2
0xff, 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
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Found Winbond flash chip "W25Q32" (4096 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).
Reading flash... SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0
SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=63, SME=0, SCF=4
Running OPCODE 0x03 failed at address 0x003000 (payload length was 64).
FAILED.
Restoring MMIO space at 0x7fc7126af8a0
Restoring PCI config space for 00:1f:0 reg 0xdc
Error accessing low megabyte, 0x100000 bytes at 0x00000000
/dev/mem mmap failed: Operation not permitted
Failed getting access to coreboot low tables.
-s: No such file or directory
Transaction error!
Read operation failed!
2
1
Just flashed my motherboard ROM. Worked great Thanks.
2
1
Hi,
It seems that flashing the vendor BIOS works on the HP Compaq nc6320:
-----------------------------------------------------------------------
flashrom v0.9.5.2-r1539 on Linux 3.0.0-20-generic (x86_64), built with
libpci 3.1.7, GCC 4.6.1, little endian
flashrom is free software, get the source code at
http://www.flashrom.org
Command line (3 args): ../../../flashrom/flashrom -V -p
internal:laptop=force_I_want_a_brick
Calibrating delay loop... OS timer resolution is 1 usecs, 1985M loops
per second, 10 myus = 11 us, 100 myus = 101 us, 1000 myus = 997 us,
10000 myus = 9986 us, 4 myus = 5 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "Hewlett-Packard"
DMI string system-product-name: " "
DMI string system-version: "F.0E"
DMI string baseboard-manufacturer: "Hewlett-Packard"
DMI string baseboard-product-name: "30AA"
DMI string baseboard-version: "KBC Version 58.13"
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
Found chipset "Intel ICH7M" with PCI ID 8086:27b9. 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 disabled
0xffe00000/0xffa00000 FWH decode disabled
0xffd80000/0xff980000 FWH decode disabled
0xffd00000/0xff900000 FWH decode disabled
0xffc80000/0xff880000 FWH decode disabled
0xffc00000/0xff800000 FWH decode disabled
0xff700000/0xff300000 FWH decode disabled
0xff600000/0xff200000 FWH decode disabled
0xff500000/0xff100000 FWH decode disabled
0xff400000/0xff000000 FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
BIOS Lock Enable: disabled, BIOS Write Enable: disabled, BIOS_CNTL is
0x0
Root Complex Register Block address = 0xfed90000
GCS = 0x30460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1
(SPI)
Top Swap : not enabled
SPIBAR = 0xfed90000 + 0x3020
0x00: 0x8004 (SPIS)
0x02: 0x0030 (SPIC)
0x04: 0x000001a3 (SPIA)
0x08: 0x00000000 (SPID0)
0x0c: 0x00000000 (SPID0+4)
0x10: 0x00000000 (SPID1)
0x14: 0x00000000 (SPID1+4)
0x18: 0x00000000 (SPID2)
0x1c: 0x00000000 (SPID2+4)
0x20: 0x00000000 (SPID3)
0x24: 0x00000000 (SPID3+4)
0x28: 0x00000000 (SPID4)
0x2c: 0x00000000 (SPID4+4)
0x30: 0x00000000 (SPID5)
0x34: 0x00000000 (SPID5+4)
0x38: 0x00000000 (SPID6)
0x3c: 0x00000000 (SPID6+4)
0x40: 0x00000000 (SPID7)
0x44: 0x00000000 (SPID7+4)
0x50: 0x00000000 (BBAR)
0x54: 0x5006 (PREOP)
0x56: 0x7f48 (OPTYPE)
0x58: 0x0405039f (OPMENU)
0x5c: 0x0102d852 (OPMENU+4)
0x60: 0x00000000 (PBR0)
0x64: 0x00000000 (PBR1)
0x68: 0x00000000 (PBR2)
WARNING: SPI Configuration Lockdown activated.
Reading OPCODES... done
SPI Read Configuration: prefetching disabled, caching enabled, OK.
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Chip status register is 00
Found Numonyx flash chip "M25PE80" (1024 kB, SPI) at physical address
0xfff00000.
Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not
execute.
Probing for SST SST25LF080A, 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 0x20,
id2 0x8014
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
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 0x20, id2 0x8014
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x20, id2 0x8014
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix unknown Macronix SPI chip, 0 kB:
probe_spi_rdid_generic: id1 0x20, id2 0x8014
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x20, id2 0x8014
Probing for Generic unknown SPI chip (RDID), 0 kB:
probe_spi_rdid_generic: id1 0x20, id2 0x8014
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90,
will not execute.
Found Numonyx flash chip "M25PE80" (1024 kB, SPI).
No operations were specified.
Restoring MMIO space at 0x7fce6eb80070
Restoring PCI config space for 00:1f:0 reg 0xdc
-----------------------------------------------------------------------
flashrom v0.9.5.2-r1539 on Linux 3.0.0-20-generic (x86_64), built with
libpci 3.1.7, GCC 4.6.1, little endian
flashrom is free software, get the source code at
http://www.flashrom.org
Command line (5 args): ../../../flashrom/flashrom -V -p
internal:laptop=force_I_want_a_brick -r rom.bin
Calibrating delay loop... OS timer resolution is 1 usecs, 1985M loops
per second, 10 myus = 11 us, 100 myus = 101 us, 1000 myus = 1014 us,
10000 myus = 9971 us, 4 myus = 5 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "Hewlett-Packard"
DMI string system-product-name: " "
DMI string system-version: "F.0E"
DMI string baseboard-manufacturer: "Hewlett-Packard"
DMI string baseboard-product-name: "30AA"
DMI string baseboard-version: "KBC Version 58.13"
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
Found chipset "Intel ICH7M" with PCI ID 8086:27b9. 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 disabled
0xffe00000/0xffa00000 FWH decode disabled
0xffd80000/0xff980000 FWH decode disabled
0xffd00000/0xff900000 FWH decode disabled
0xffc80000/0xff880000 FWH decode disabled
0xffc00000/0xff800000 FWH decode disabled
0xff700000/0xff300000 FWH decode disabled
0xff600000/0xff200000 FWH decode disabled
0xff500000/0xff100000 FWH decode disabled
0xff400000/0xff000000 FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
BIOS Lock Enable: disabled, BIOS Write Enable: disabled, BIOS_CNTL is
0x0
Root Complex Register Block address = 0xfed90000
GCS = 0x30460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1
(SPI)
Top Swap : not enabled
SPIBAR = 0xfed90000 + 0x3020
0x00: 0x8004 (SPIS)
0x02: 0x4200 (SPIC)
0x04: 0x00000000 (SPIA)
0x08: 0x00148020 (SPID0)
0x0c: 0x00000000 (SPID0+4)
0x10: 0x00000000 (SPID1)
0x14: 0x00000000 (SPID1+4)
0x18: 0x00000000 (SPID2)
0x1c: 0x00000000 (SPID2+4)
0x20: 0x00000000 (SPID3)
0x24: 0x00000000 (SPID3+4)
0x28: 0x00000000 (SPID4)
0x2c: 0x00000000 (SPID4+4)
0x30: 0x00000000 (SPID5)
0x34: 0x00000000 (SPID5+4)
0x38: 0x00000000 (SPID6)
0x3c: 0x00000000 (SPID6+4)
0x40: 0x00000000 (SPID7)
0x44: 0x00000000 (SPID7+4)
0x50: 0x00000000 (BBAR)
0x54: 0x5006 (PREOP)
0x56: 0x7f48 (OPTYPE)
0x58: 0x0405039f (OPMENU)
0x5c: 0x0102d852 (OPMENU+4)
0x60: 0x00000000 (PBR0)
0x64: 0x00000000 (PBR1)
0x68: 0x00000000 (PBR2)
WARNING: SPI Configuration Lockdown activated.
Reading OPCODES... done
SPI Read Configuration: prefetching disabled, caching enabled, OK.
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Chip status register is 00
Found Numonyx flash chip "M25PE80" (1024 kB, SPI) at physical address
0xfff00000.
Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not
execute.
Probing for SST SST25LF080A, 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 0x20,
id2 0x8014
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
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 0x20, id2 0x8014
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x20, id2 0x8014
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix unknown Macronix SPI chip, 0 kB:
probe_spi_rdid_generic: id1 0x20, id2 0x8014
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x20, id2 0x8014
Probing for Generic unknown SPI chip (RDID), 0 kB:
probe_spi_rdid_generic: id1 0x20, id2 0x8014
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90,
will not execute.
Found Numonyx flash chip "M25PE80" (1024 kB, SPI).
Reading flash... done.
Restoring MMIO space at 0x7fcc3a7be070
Restoring PCI config space for 00:1f:0 reg 0xdc
-----------------------------------------------------------------------
flashrom v0.9.5.2-r1539 on Linux 3.0.0-20-generic (x86_64), built with
libpci 3.1.7, GCC 4.6.1, little endian
flashrom is free software, get the source code at
http://www.flashrom.org
Command line (5 args): ../../../flashrom/flashrom -V -p
internal:laptop=force_I_want_a_brick -w ../68YDU.BIN
Calibrating delay loop... OS timer resolution is 1 usecs, 1989M loops
per second, 10 myus = 11 us, 100 myus = 101 us, 1000 myus = 1006 us,
10000 myus = 10008 us, 4 myus = 5 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "Hewlett-Packard"
DMI string system-product-name: " "
DMI string system-version: "F.0E"
DMI string baseboard-manufacturer: "Hewlett-Packard"
DMI string baseboard-product-name: "30AA"
DMI string baseboard-version: "KBC Version 58.13"
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
Found chipset "Intel ICH7M" with PCI ID 8086:27b9. 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 disabled
0xffe00000/0xffa00000 FWH decode disabled
0xffd80000/0xff980000 FWH decode disabled
0xffd00000/0xff900000 FWH decode disabled
0xffc80000/0xff880000 FWH decode disabled
0xffc00000/0xff800000 FWH decode disabled
0xff700000/0xff300000 FWH decode disabled
0xff600000/0xff200000 FWH decode disabled
0xff500000/0xff100000 FWH decode disabled
0xff400000/0xff000000 FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
BIOS Lock Enable: disabled, BIOS Write Enable: disabled, BIOS_CNTL is
0x0
Root Complex Register Block address = 0xfed90000
GCS = 0x30460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1
(SPI)
Top Swap : not enabled
SPIBAR = 0xfed90000 + 0x3020
0x00: 0x8004 (SPIS)
0x02: 0x7f10 (SPIC)
0x04: 0x000fffc0 (SPIA)
0x08: 0xffffffff (SPID0)
0x0c: 0xffffffff (SPID0+4)
0x10: 0xffffffff (SPID1)
0x14: 0xffffffff (SPID1+4)
0x18: 0xffffffff (SPID2)
0x1c: 0xffffffff (SPID2+4)
0x20: 0xffffffff (SPID3)
0x24: 0xffffffff (SPID3+4)
0x28: 0xfffeffe0 (SPID4)
0x2c: 0xfff00000 (SPID4+4)
0x30: 0x20054004 (SPID5)
0x34: 0x00000000 (SPID5+4)
0x38: 0x3091f5e9 (SPID6)
0x3c: 0x37312f34 (SPID6+4)
0x40: 0x5937302f (SPID7)
0x44: 0xec294455 (SPID7+4)
0x50: 0x00000000 (BBAR)
0x54: 0x5006 (PREOP)
0x56: 0x7f48 (OPTYPE)
0x58: 0x0405039f (OPMENU)
0x5c: 0x0102d852 (OPMENU+4)
0x60: 0x00000000 (PBR0)
0x64: 0x00000000 (PBR1)
0x68: 0x00000000 (PBR2)
WARNING: SPI Configuration Lockdown activated.
Reading OPCODES... done
SPI Read Configuration: prefetching disabled, caching enabled, OK.
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Chip status register is 00
Found Numonyx flash chip "M25PE80" (1024 kB, SPI) at physical address
0xfff00000.
Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for SST SST25LF040A, 512 kB: Invalid OPCODE 0xab, will not
execute.
Probing for SST SST25LF080A, 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 0x20,
id2 0x8014
Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not
execute.
Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID.
Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID.
Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x20, id2
0x8014
Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x20,
id2 0x8014
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 0x20, id2 0x8014
Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x20, id2 0x8014
Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Macronix unknown Macronix SPI chip, 0 kB:
probe_spi_rdid_generic: id1 0x20, id2 0x8014
Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1
0x20, id2 0x8014
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic:
id1 0x20, id2 0x8014
Probing for Generic unknown SPI chip (RDID), 0 kB:
probe_spi_rdid_generic: id1 0x20, id2 0x8014
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90,
will not execute.
Found Numonyx flash chip "M25PE80" (1024 kB, SPI).
Flash image seems to be a legacy BIOS. Disabling coreboot-related
checks.
Reading old flash chip contents... done.
Erasing and writing flash chip... Trying erase function 0...
0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S,
0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S,
0x006000-0x006fff:S, 0x007000-0x007fff:S, 0x008000-0x008fff:S,
0x009000-0x009fff:S, 0x00a000-0x00afff:S, 0x00b000-0x00bfff:S,
0x00c000-0x00cfff:S, 0x00d000-0x00dfff:S, 0x00e000-0x00efff:S,
0x00f000-0x00ffff:S, 0x010000-0x010fff:S, 0x011000-0x011fff:S,
0x012000-0x012fff:S, 0x013000-0x013fff:S, 0x014000-0x014fff:S,
0x015000-0x015fff:S, 0x016000-0x016fff:S, 0x017000-0x017fff:S,
0x018000-0x018fff:S, 0x019000-0x019fff:S, 0x01a000-0x01afff:S,
0x01b000-0x01bfff:S, 0x01c000-0x01cfff:S, 0x01d000-0x01dfff:S,
0x01e000-0x01efff:S, 0x01f000-0x01ffff:S, 0x020000-0x020fff:S,
0x021000-0x021fff:S, 0x022000-0x022fff:S, 0x023000-0x023fff:S,
0x024000-0x024fff:S, 0x025000-0x025fff:S, 0x026000-0x026fff:S,
0x027000-0x027fff:S, 0x028000-0x028fff:S, 0x029000-0x029fff:S,
0x02a000-0x02afff:S, 0x02b000-0x02bfff:S, 0x02c000-0x02cfff:S,
0x02d000-0x02dfff:S, 0x02e000-0x02efff:S, 0x02f000-0x02ffff:S,
0x030000-0x030fff:S, 0x031000-0x031fff:S, 0x032000-0x032fff:S,
0x033000-0x033fff:S, 0x034000-0x034fff:S, 0x035000-0x035fff:S,
0x036000-0x036fff:S, 0x037000-0x037fff:S, 0x038000-0x038fff:S,
0x039000-0x039fff:S, 0x03a000-0x03afff:S, 0x03b000-0x03bfff:S,
0x03c000-0x03cfff:S, 0x03d000-0x03dfff:S, 0x03e000-0x03efff:S,
0x03f000-0x03ffff:S, 0x040000-0x040fff:S, 0x041000-0x041fff:S,
0x042000-0x042fff:S, 0x043000-0x043fff:S, 0x044000-0x044fff:S,
0x045000-0x045fff:S, 0x046000-0x046fff:S, 0x047000-0x047fff:S,
0x048000-0x048fff:S, 0x049000-0x049fff:S, 0x04a000-0x04afff:S,
0x04b000-0x04bfff:S, 0x04c000-0x04cfff:S, 0x04d000-0x04dfff:S,
0x04e000-0x04efff:S, 0x04f000-0x04ffff:S, 0x050000-0x050fff:S,
0x051000-0x051fff:S, 0x052000-0x052fff:S, 0x053000-0x053fff:S,
0x054000-0x054fff:S, 0x055000-0x055fff:S, 0x056000-0x056fff:S,
0x057000-0x057fff:S, 0x058000-0x058fff:S, 0x059000-0x059fff:S,
0x05a000-0x05afff:S, 0x05b000-0x05bfff:S, 0x05c000-0x05cfff:S,
0x05d000-0x05dfff:S, 0x05e000-0x05efff:S, 0x05f000-0x05ffff:S,
0x060000-0x060fff:S, 0x061000-0x061fff:S, 0x062000-0x062fff:S,
0x063000-0x063fff:S, 0x064000-0x064fff:S, 0x065000-0x065fff:S,
0x066000-0x066fff:S, 0x067000-0x067fff:S, 0x068000-0x068fff:S,
0x069000-0x069fff:S, 0x06a000-0x06afff:S, 0x06b000-0x06bfff:S,
0x06c000-0x06cfff:S, 0x06d000-0x06dfff:S, 0x06e000-0x06efff:S,
0x06f000-0x06ffff:S, 0x070000-0x070fff:S, 0x071000-0x071fff:S,
0x072000-0x072fff:S, 0x073000-0x073fff:S, 0x074000-0x074fff:S,
0x075000-0x075fff:S, 0x076000-0x076fff:S, 0x077000-0x077fff:S,
0x078000-0x078fff:S, 0x079000-0x079fff:S, 0x07a000-0x07afff:S,
0x07b000-0x07bfff:S, 0x07c000-0x07cfff:S, 0x07d000-0x07dfff:S,
0x07e000-0x07efff:S, 0x07f000-0x07ffff:S, 0x080000-0x080fff:S,
0x081000-0x081fff:S, 0x082000-0x082fff:S, 0x083000-0x083fff:S,
0x084000-0x084fff:S, 0x085000-0x085fff:S, 0x086000-0x086fff:S,
0x087000-0x087fff:S, 0x088000-0x088fff:S, 0x089000-0x089fff:S,
0x08a000-0x08afff:S, 0x08b000-0x08bfff:S, 0x08c000-0x08cfff:S,
0x08d000-0x08dfff:S, 0x08e000-0x08efff:S, 0x08f000-0x08ffff:S,
0x090000-0x090fff:S, 0x091000-0x091fff:S, 0x092000-0x092fff:S,
0x093000-0x093fff:S, 0x094000-0x094fff:S, 0x095000-0x095fff:S,
0x096000-0x096fff:S, 0x097000-0x097fff:S, 0x098000-0x098fff:S,
0x099000-0x099fff:S, 0x09a000-0x09afff:S, 0x09b000-0x09bfff:S,
0x09c000-0x09cfff:S, 0x09d000-0x09dfff:S, 0x09e000-0x09efff:S,
0x09f000-0x09ffff:S, 0x0a0000-0x0a0fff:S, 0x0a1000-0x0a1fff:S,
0x0a2000-0x0a2fff:S, 0x0a3000-0x0a3fff:S, 0x0a4000-0x0a4fff:S,
0x0a5000-0x0a5fff:S, 0x0a6000-0x0a6fff:S, 0x0a7000-0x0a7fff:S,
0x0a8000-0x0a8fff:S, 0x0a9000-0x0a9fff:S, 0x0aa000-0x0aafff:S,
0x0ab000-0x0abfff:S, 0x0ac000-0x0acfff:S, 0x0ad000-0x0adfff:S,
0x0ae000-0x0aefff:S, 0x0af000-0x0affff:S, 0x0b0000-0x0b0fff:S,
0x0b1000-0x0b1fff:S, 0x0b2000-0x0b2fff:S, 0x0b3000-0x0b3fff:S,
0x0b4000-0x0b4fff:S, 0x0b5000-0x0b5fff:S, 0x0b6000-0x0b6fff:S,
0x0b7000-0x0b7fff:S, 0x0b8000-0x0b8fff:S, 0x0b9000-0x0b9fff:S,
0x0ba000-0x0bafff:S, 0x0bb000-0x0bbfff:S, 0x0bc000-0x0bcfff:S,
0x0bd000-0x0bdfff:S, 0x0be000-0x0befff:S, 0x0bf000-0x0bffff:S,
0x0c0000-0x0c0fff:S, 0x0c1000-0x0c1fff:S, 0x0c2000-0x0c2fff:S,
0x0c3000-0x0c3fff:S, 0x0c4000-0x0c4fff:S, 0x0c5000-0x0c5fff:S,
0x0c6000-0x0c6fff:S, 0x0c7000-0x0c7fff:S, 0x0c8000-0x0c8fff:S,
0x0c9000-0x0c9fff:S, 0x0ca000-0x0cafff:S, 0x0cb000-0x0cbfff:S,
0x0cc000-0x0ccfff:S, 0x0cd000-0x0cdfff:S, 0x0ce000-0x0cefff:S,
0x0cf000-0x0cffff:S, 0x0d0000-0x0d0fff:S, 0x0d1000-0x0d1fff:S,
0x0d2000-0x0d2fff:S, 0x0d3000-0x0d3fff:S, 0x0d4000-0x0d4fff:S,
0x0d5000-0x0d5fff:S, 0x0d6000-0x0d6fff:S, 0x0d7000-0x0d7fff:S,
0x0d8000-0x0d8fff:S, 0x0d9000-0x0d9fff:S, 0x0da000-0x0dafff:S,
0x0db000-0x0dbfff:S, 0x0dc000-0x0dcfff:S, 0x0dd000-0x0ddfff:S,
0x0de000-0x0defff:S, 0x0df000-0x0dffff:S, 0x0e0000-0x0e0fff:S,
0x0e1000-0x0e1fff:S, 0x0e2000-0x0e2fff:S, 0x0e3000-0x0e3fff:S,
0x0e4000-0x0e4fff:S, 0x0e5000-0x0e5fff:S, 0x0e6000-0x0e6fff:S,
0x0e7000-0x0e7fff:S, 0x0e8000-0x0e8fff:S, 0x0e9000-0x0e9fff:S,
0x0ea000-0x0eafff:S, 0x0eb000-0x0ebfff:S, 0x0ec000-0x0ecfff:S,
0x0ed000-0x0edfff:S, 0x0ee000-0x0eefff:S, 0x0ef000-0x0effff:S,
0x0f0000-0x0f0fff:S, 0x0f1000-0x0f1fff:S, 0x0f2000-0x0f2fff:S,
0x0f3000-0x0f3fff:S, 0x0f4000-0x0f4fff:S, 0x0f5000-0x0f5fff:S,
0x0f6000-0x0f6fff:S, 0x0f7000-0x0f7fff:S, 0x0f8000-0x0f8fff:S,
0x0f9000-0x0f9fff:S, 0x0fa000-0x0fafff:S, 0x0fb000-0x0fbfff:S,
0x0fc000-0x0fcfff:S, 0x0fd000-0x0fdfff:S, 0x0fe000-0x0fefff:S,
0x0ff000-0x0fffff:S
Erase/write done.
Verifying flash... VERIFIED.
Restoring MMIO space at 0x7f9530808070
Restoring PCI config space for 00:1f:0 reg 0xdc
------------------------------------------------------------
however the first time I flashed the BIOS I had(without -V):
root@gnutoo-hplaptop:/home/gnutoo/Coreboot/BIOS/Laptop/test# ../../../flashrom/flashrom -p internal:laptop=force_I_want_a_brick -w ../68YDU.BIN > flashrom_write.log
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See http://www.flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Proceeding anyway because user forced us to.
spi_block_erase_20 failed during command execution at address 0x0
And:
# md5sum ../68YDU.BIN
a88ba88d1384a5a4d25d902c370927ab ../68YDU.BIN
# ../../../flashrom/flashrom -p internal:laptop=force_I_want_a_brick -r
rom3.bin > flashrom_read3.log
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See http://www.flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Proceeding anyway because user forced us to.
# md5sum rom3.bin
a88ba88d1384a5a4d25d902c370927ab rom3.bin
I'll reboot and look if it still works, if it doesn't I'll have to
re-solder wires on the BIOS chip and reprogram it like I did before.
Denis.
2
2

July 15, 2012
Bus Pirate Firmware v5.5 and newer support a new SPI binary mode. Use it
if available.
Bus Pirate Firmware v6.1 and older have broken (too slow) SPI clock
divisor for any requested speed above 2 MHz. Force a downgrade to 2 MHz
for affected firmware versions.
flashrom will recommend to upgrade the Bus Pirate Firmware if it is
older than v6.2.
Somewhat tested, code still needs to be cleaned up in a few spots.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)gmx.net>
Index: flashrom-buspirate_newcommands/buspirate_spi.c
===================================================================
--- flashrom-buspirate_newcommands/buspirate_spi.c (Revision 1541)
+++ flashrom-buspirate_newcommands/buspirate_spi.c (Arbeitskopie)
@@ -50,6 +50,7 @@
#define sp_flush_incoming(...) 0
#endif
+static int buspirate_interface_version;
static unsigned char *bp_commbuf = NULL;
static int bp_commbufsize = 0;
@@ -83,7 +84,8 @@
msg_perr("Zero length command!\n");
return 1;
}
- msg_pspew("Sending");
+ if (writecnt)
+ msg_pspew("Sending");
for (i = 0; i < writecnt; i++)
msg_pspew(" 0x%02x", buf[i]);
#ifdef FAKE_COMMUNICATION
@@ -103,23 +105,36 @@
if (ret)
return ret;
#endif
- msg_pspew(", receiving");
+ if (readcnt)
+ msg_pspew(", receiving");
for (i = 0; i < readcnt; i++)
msg_pspew(" 0x%02x", buf[i]);
msg_pspew("\n");
return 0;
}
-static int buspirate_spi_send_command(struct flashctx *flash,
- unsigned int writecnt,
- unsigned int readcnt,
- const unsigned char *writearr,
- unsigned char *readarr);
+static int buspirate_wait_for_string(unsigned char *buf, char *key)
+{
+ unsigned int keylen = strlen(key);
+ int ret;
-static const struct spi_programmer spi_programmer_buspirate = {
+ ret = buspirate_sendrecv(buf, 0, keylen);
+ while (!ret) {
+ if (!memcmp(buf, key, keylen))
+ return 0;
+ memmove(buf, buf + 1, keylen - 1);
+ ret = buspirate_sendrecv(buf + keylen - 1, 0, 1);
+ }
+ return ret;
+}
+
+static int buspirate_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt,
+ const unsigned char *writearr, unsigned char *readarr);
+
+static struct spi_programmer spi_programmer_buspirate = {
.type = SPI_CONTROLLER_BUSPIRATE,
- .max_data_read = 12,
- .max_data_write = 12,
+ .max_data_read = MAX_DATA_UNSPECIFIED,
+ .max_data_write = MAX_DATA_UNSPECIFIED,
.command = buspirate_spi_send_command,
.multicommand = default_spi_send_multicommand,
.read = default_spi_read,
@@ -138,6 +153,53 @@
{NULL, 0x0},
};
+int buspirate_spi_set_config(unsigned char *buf, int spispeed)
+{
+ int ret;
+
+ /* Initial setup (SPI peripherals config): Enable power, CS high, AUX */
+ buf[0] = 0x40 | 0xb;
+ ret = buspirate_sendrecv(buf, 1, 1);
+ if (ret)
+ return 1;
+ if (buf[0] != 0x01) {
+ msg_perr("Protocol error while setting power/CS/AUX!\n");
+ return 1;
+ }
+
+ /* Set SPI speed */
+ buf[0] = 0x60 | spispeed;
+ ret = buspirate_sendrecv(buf, 1, 1);
+ if (ret)
+ return 1;
+ if (buf[0] != 0x01) {
+ msg_perr("Protocol error while setting SPI speed!\n");
+ return 1;
+ }
+
+ /* Set SPI config: output type, idle, clock edge, sample */
+ buf[0] = 0x80 | 0xa;
+ ret = buspirate_sendrecv(buf, 1, 1);
+ if (ret)
+ return 1;
+ if (buf[0] != 0x01) {
+ msg_perr("Protocol error while setting SPI config!\n");
+ return 1;
+ }
+
+ /* De-assert CS# */
+ buf[0] = 0x03;
+ ret = buspirate_sendrecv(buf, 1, 1);
+ if (ret)
+ return 1;
+ if (buf[0] != 0x01) {
+ msg_perr("Protocol error while raising CS#!\n");
+ return 1;
+ }
+
+ return 0;
+}
+
static int buspirate_spi_shutdown(void *data)
{
int ret = 0, ret2 = 0;
@@ -180,10 +242,15 @@
return ret;
}
+#define BP_VERSION(a,b) ((a) << 8 | (b))
+
int buspirate_spi_init(void)
{
char *dev = NULL;
char *speed = NULL;
+ char *tmp;
+ unsigned int fw_version_major = 0;
+ unsigned int fw_version_minor = 0;
int spispeed = 0x7;
int ret = 0;
int i;
@@ -208,9 +275,6 @@
}
free(speed);
- /* This works because speeds numbering starts at 0 and is contiguous. */
- msg_pdbg("SPI speed is %sHz\n", spispeeds[spispeed].name);
-
/* Default buffer size is 19: 16 bytes data, 3 bytes control. */
#define DEFAULT_BUFSIZE (16 + 3)
bp_commbuf = malloc(DEFAULT_BUFSIZE);
@@ -233,106 +297,160 @@
if (register_shutdown(buspirate_spi_shutdown, NULL))
return 1;
- /* This is the brute force version, but it should work. */
- for (i = 0; i < 19; i++) {
+ /* This is the brute force version, but it should work.
+ * It is likely to fail if a previous flashrom run was aborted during a write with the new SPI commands
+ * in firmware v5.4 because that firmware may wait for up to 4096 bytes of input before responding to
+ * 0x00 again. The obvious workaround (sending 4096 bytes of \0) may cause significant startup delays.
+ */
+ for (i = 0; i < 20; i++) {
/* Enter raw bitbang mode */
bp_commbuf[0] = 0x00;
/* Send the command, don't read the response. */
ret = buspirate_sendrecv(bp_commbuf, 1, 0);
if (ret)
return ret;
- /* Read any response and discard it. */
- sp_flush_incoming();
+ /* The old way to handle responses from a Bus Pirate already in BBIO mode was to flush any
+ * response which came in over serial. Unfortunately that does not work reliably on Linux
+ * with FTDI USB-serial.
+ */
+ //sp_flush_incoming();
}
- /* USB is slow. The Bus Pirate is even slower. Apparently the flush
- * action above is too fast or too early. Some stuff still remains in
- * the pipe after the flush above, and one additional flush is not
- * sufficient either. Use a 1.5 ms delay inside the loop to make
- * mostly sure that at least one USB frame had time to arrive.
- * Looping only 5 times is not sufficient and causes the
- * occasional failure.
- * Folding the delay into the loop above is not reliable either.
- */
- for (i = 0; i < 10; i++) {
- usleep(1500);
- /* Read any response and discard it. */
- sp_flush_incoming();
+ /* We know that 20 commands of \0 should elicit at least one BBIO1 response. */
+ if ((ret = buspirate_wait_for_string(bp_commbuf, "BBIO")))
+ return ret;
+
+ /* Reset the Bus Pirate. */
+ bp_commbuf[0] = 0x0f;
+ /* Send the command, don't read the response. */
+ if ((ret = buspirate_sendrecv(bp_commbuf, 1, 0)))
+ return ret;
+ if ((ret = buspirate_wait_for_string(bp_commbuf, "irate ")))
+ return ret;
+ /* Read the hardware version string. Last byte of the buffer is reserved for \0. */
+ for (i = 0; i < DEFAULT_BUFSIZE - 1; i++) {
+ if ((ret = buspirate_sendrecv(bp_commbuf + i, 0, 1)))
+ return ret;
+ if (strchr("\r\n\t ", bp_commbuf[i]))
+ break;
}
+ bp_commbuf[i] = '\0';
+ msg_pdbg("Detected Bus Pirate hardware %s\n", bp_commbuf);
+
+ if ((ret = buspirate_wait_for_string(bp_commbuf, "irmware ")))
+ return ret;
+ /* Read the firmware version string. Last byte of the buffer is reserved for \0. */
+ for (i = 0; i < DEFAULT_BUFSIZE - 1; i++) {
+ if ((ret = buspirate_sendrecv(bp_commbuf + i, 0, 1)))
+ return ret;
+ if (strchr("\r\n\t ", bp_commbuf[i]))
+ break;
+ }
+ bp_commbuf[i] = '\0';
+ msg_pdbg("Detected Bus Pirate firmware %s ", bp_commbuf);
+ if (bp_commbuf[0] != 'v')
+ msg_pdbg("(unknown version number format)\n");
+ else if (!strchr("0123456789", bp_commbuf[1]))
+ msg_pdbg("(unknown version number format)\n");
+ else {
+ fw_version_major = strtoul((char *)bp_commbuf + 1, &tmp, 10);
+ while ((*tmp != '\0') && !strchr("0123456789", *tmp))
+ tmp++;
+ fw_version_minor = strtoul(tmp, NULL, 10);
+ msg_pdbg("(%u.%u)\n", fw_version_major, fw_version_minor);
+ }
+
+ if ((ret = buspirate_wait_for_string(bp_commbuf, "HiZ>")))
+ return ret;
+
+ /* Workaround for broken speed settings in firmware 6.1 and older. */
+ if (BP_VERSION(fw_version_major, fw_version_minor) < BP_VERSION(6, 2))
+ if (spispeed > 0x4) {
+ msg_perr("Bus Pirate firmware 6.1 and older does not support SPI speeds above 2 MHz. "
+ "Limiting speed to 2 MHz.\n");
+ msg_pinfo("It is recommended to upgrade to firmware 6.2 or newer.\n");
+ spispeed = 0x4;
+ }
+
+ /* Tell the user about missing fast mode in firmware 5.4 and older. */
+ if (BP_VERSION(fw_version_major, fw_version_minor) < BP_VERSION(5, 5)) {
+ msg_pinfo("Bus Pirate firmware 5.4 and older does not support fast SPI access.\n");
+ msg_pinfo("It is recommended to upgrade to firmware 6.2 or newer.\n");
+ }
+
+ /* This works because speeds numbering starts at 0 and is contiguous. */
+ msg_pdbg("SPI speed is %sHz\n", spispeeds[spispeed].name);
+
/* Enter raw bitbang mode */
- bp_commbuf[0] = 0x00;
- ret = buspirate_sendrecv(bp_commbuf, 1, 5);
- if (ret)
+ for (i = 0; i < 20; i++) {
+ bp_commbuf[0] = 0x00;
+ if ((ret = buspirate_sendrecv(bp_commbuf, 1, 0)))
+ return ret;
+ }
+ if ((ret = buspirate_wait_for_string(bp_commbuf, "BBIO")))
return ret;
- if (memcmp(bp_commbuf, "BBIO", 4)) {
- msg_perr("Entering raw bitbang mode failed!\n");
- msg_pdbg("Got %02x%02x%02x%02x%02x\n",
- bp_commbuf[0], bp_commbuf[1], bp_commbuf[2],
- bp_commbuf[3], bp_commbuf[4]);
+ if ((ret = buspirate_sendrecv(bp_commbuf, 0, 1)))
+ return ret;
+ msg_pdbg("Raw bitbang mode version %c\n", bp_commbuf[0]);
+ if (bp_commbuf[0] != '1') {
+ msg_perr("Can't handle raw bitbang mode version %c!\n", bp_commbuf[0]);
return 1;
}
- msg_pdbg("Raw bitbang mode version %c\n", bp_commbuf[4]);
- if (bp_commbuf[4] != '1') {
- msg_perr("Can't handle raw bitbang mode version %c!\n",
- bp_commbuf[4]);
- return 1;
- }
/* Enter raw SPI mode */
bp_commbuf[0] = 0x01;
- ret = buspirate_sendrecv(bp_commbuf, 1, 4);
- if (ret)
+ ret = buspirate_sendrecv(bp_commbuf, 1, 0);
+ if ((ret = buspirate_wait_for_string(bp_commbuf, "SPI")))
return ret;
- if (memcmp(bp_commbuf, "SPI", 3)) {
- msg_perr("Entering raw SPI mode failed!\n");
- msg_pdbg("Got %02x%02x%02x%02x\n",
- bp_commbuf[0], bp_commbuf[1], bp_commbuf[2],
- bp_commbuf[3]);
+ if ((ret = buspirate_sendrecv(bp_commbuf, 0, 1)))
+ return ret;
+ msg_pdbg("Raw SPI mode version %c\n", bp_commbuf[0]);
+ if (bp_commbuf[0] != '1') {
+ msg_perr("Can't handle raw SPI mode version %c!\n", bp_commbuf[0]);
return 1;
}
- msg_pdbg("Raw SPI mode version %c\n", bp_commbuf[3]);
- if (bp_commbuf[3] != '1') {
- msg_perr("Can't handle raw SPI mode version %c!\n",
- bp_commbuf[3]);
- return 1;
- }
- /* Initial setup (SPI peripherals config): Enable power, CS high, AUX */
- bp_commbuf[0] = 0x40 | 0xb;
- ret = buspirate_sendrecv(bp_commbuf, 1, 1);
- if (ret)
+ if (buspirate_spi_set_config(bp_commbuf, spispeed))
return 1;
- if (bp_commbuf[0] != 0x01) {
- msg_perr("Protocol error while setting power/CS/AUX!\n");
- return 1;
- }
- /* Set SPI speed */
- bp_commbuf[0] = 0x60 | spispeed;
- ret = buspirate_sendrecv(bp_commbuf, 1, 1);
+ /* Test combined SPI write/read, length 0. */
+ bp_commbuf[0] = 0x04;
+ bp_commbuf[1] = 0;
+ bp_commbuf[2] = 0;
+ bp_commbuf[3] = 0;
+ bp_commbuf[4] = 0;
+ ret = buspirate_sendrecv(bp_commbuf, 5, 1);
if (ret)
return 1;
if (bp_commbuf[0] != 0x01) {
- msg_perr("Protocol error while setting SPI speed!\n");
- return 1;
- }
-
- /* Set SPI config: output type, idle, clock edge, sample */
- bp_commbuf[0] = 0x80 | 0xa;
- ret = buspirate_sendrecv(bp_commbuf, 1, 1);
- if (ret)
- return 1;
- if (bp_commbuf[0] != 0x01) {
- msg_perr("Protocol error while setting SPI config!\n");
- return 1;
- }
+ msg_pdbg("SPI command set v2 not available, using old commands "
+ "present in firmware <v5.5.\n");
- /* De-assert CS# */
- bp_commbuf[0] = 0x03;
- ret = buspirate_sendrecv(bp_commbuf, 1, 1);
- if (ret)
- return 1;
- if (bp_commbuf[0] != 0x01) {
- msg_perr("Protocol error while raising CS#!\n");
- return 1;
+ /* FIXME: Check the error code? */
+ /* We sent 4 bytes of 0x00, so we expect 4 BBIO1 responses. */
+ buspirate_sendrecv(bp_commbuf, 0, 4 * 5);
+
+ /* Enter raw SPI mode again. */
+ bp_commbuf[0] = 0x01;
+ /* FIXME: Check the error code? */
+ buspirate_sendrecv(bp_commbuf, 1, 4);
+
+ buspirate_interface_version = 1;
+ /* Sensible default buffer size. */
+ if (buspirate_commbuf_grow(16 + 3))
+ return ERROR_OOM;
+ spi_programmer_buspirate.max_data_read = 12;
+ spi_programmer_buspirate.max_data_write = 12;
+
+ /* Reinit the whole shebang. */
+ if (buspirate_spi_set_config(bp_commbuf, spispeed))
+ return 1;
+ } else {
+ msg_pdbg("Using SPI command set v2.\n");
+ buspirate_interface_version = 2;
+ /* Sensible default buffer size. */
+ if (buspirate_commbuf_grow(260 + 5))
+ return ERROR_OOM;
+ spi_programmer_buspirate.max_data_read = 2048;
+ spi_programmer_buspirate.max_data_write = 256;
}
register_spi_programmer(&spi_programmer_buspirate);
@@ -340,11 +458,8 @@
return 0;
}
-static int buspirate_spi_send_command(struct flashctx *flash,
- unsigned int writecnt,
- unsigned int readcnt,
- const unsigned char *writearr,
- unsigned char *readarr)
+static int buspirate_spi_send_command_v1(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt,
+ const unsigned char *writearr, unsigned char *readarr)
{
unsigned int i = 0;
int ret = 0;
@@ -395,3 +510,54 @@
return ret;
}
+
+static int buspirate_spi_send_command_v2(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt,
+ const unsigned char *writearr, unsigned char *readarr)
+{
+ int i = 0, ret = 0;
+
+ if (writecnt > 4096 || readcnt > 4096 || (readcnt + writecnt) > 4096)
+ return SPI_INVALID_LENGTH;
+
+ /* 5 bytes extra for command, writelen, readlen.
+ * 1 byte extra for Ack/Nack.
+ */
+ if (buspirate_commbuf_grow(max(writecnt + 5, readcnt + 1)))
+ return ERROR_OOM;
+
+ /* Combined SPI write/read. */
+ bp_commbuf[i++] = 0x04;
+ bp_commbuf[i++] = (writecnt >> 8) & 0xff;
+ bp_commbuf[i++] = writecnt & 0xff;
+ bp_commbuf[i++] = (readcnt >> 8) & 0xff;
+ bp_commbuf[i++] = readcnt & 0xff;
+ memcpy(bp_commbuf + i, writearr, writecnt);
+
+ ret = buspirate_sendrecv(bp_commbuf, i + writecnt, 1 + readcnt);
+
+ if (ret) {
+ msg_perr("Bus Pirate communication error!\n");
+ return SPI_GENERIC_ERROR;
+ }
+
+ if (bp_commbuf[0] != 0x01) {
+ msg_perr("Protocol error while sending SPI write/read!\n");
+ return SPI_GENERIC_ERROR;
+ }
+
+ /* Skip Ack. */
+ memcpy(readarr, bp_commbuf + 1, readcnt);
+
+ return ret;
+}
+
+static int buspirate_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt,
+ const unsigned char *writearr, unsigned char *readarr)
+{
+ switch (buspirate_interface_version) {
+ case 2:
+ return buspirate_spi_send_command_v2(flash, writecnt, readcnt, writearr, readarr);
+ default:
+ return buspirate_spi_send_command_v1(flash, writecnt, readcnt, writearr, readarr);
+ }
+}
--
http://www.hailfinger.org/
2
3

June 30, 2012
I had a quick and probably dumb question, where in 'make' can I change the
parameters so flashrom will compile as a static or stand alone binary? I
found an old email where Gianluigi Tiesi says(
http://www.mail-archive.com/flashrom@flashrom.org/msg05104.html) to add
-static to the end of the cc list in his example but I cannot find anything
that resembles it in the current make file. I looked at the instructions
for the DOS compile but I was not sure if I needed to use this method and
if I could even add all the lib headers required to run flashrom. I am
trying to run flashrom on a thin client so I can install an updated version
of Linux. Right now they only run a custom Linux build that uses a 2.4
kernel and I would like to have the system open to run an updated kernel
and software. I do believe a bootstrap or lilo configuration is in place
but I will not know for sure to modify it until I have the ability to read
and write to the bios. It would be great if this program was more
standalone centric since a full blown os is not always available.
So some pointers or advice would be awesome, thanks in advance!
Steven Williams
1
0

Re: [flashrom] Would flashrom work on an old PowerPC Series 1 TiVo ?
by Carl-Daniel Hailfinger June 30, 2012
by Carl-Daniel Hailfinger June 30, 2012
June 30, 2012
Am 27.06.2012 09:34 schrieb Peter Lemenkov:
> Hello.
>
> 2012/6/27 Dave Healey <dave.healey(a)tivoland.com>:
>
>> My question is, do you thing flashrom would do the job and if so, how would I go about getting a binary that would run on the IBM Power PC that is the core of the old S1 Tivo hardware?
> Don't know anything about TiVo but I tried flashrom on Powerbook G4
> and it does read firmware. Didn't try writing so far though.
Vladimir Serbinenko (phcoder) gave me his Power Mac, and I hope to test
flashrom on it soon.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
1
0