From ranwzmn at gmail.com Tue Dec 1 08:25:46 2015 From: ranwzmn at gmail.com (Ran Weizman) Date: Tue, 1 Dec 2015 09:25:46 +0200 Subject: [flashrom] Ch431 programmer In-Reply-To: <201511252320.tAPNK1Xs021100@mail2.student.tuwien.ac.at> References: <201511252320.tAPNK1Xs021100@mail2.student.tuwien.ac.at> Message-ID: Hi Thanks a lot, unfortunately my chip model is not supported by Flashrom. On Nov 26, 2015 1:20 AM, "Stefan Tauner" wrote: > On Thu, 26 Nov 2015 00:31:02 +0200 > Ran Weizman wrote: > > > Hi, I have the CH341, device with version4.03, is Flashrom gonna support > it > > in the future ? > > Can I help with something ? (I'm not a dev just Linux user. ) > > Thanks > > Ran > > Hi Ran, > > yes, and yes. > You can test the existing patch for that programmer, see > http://www.flashrom.org/pipermail/flashrom/2015-November/014009.html > > -- > Kind regards/Mit freundlichen Gr??en, Stefan Tauner > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan.tauner at alumni.tuwien.ac.at Tue Dec 1 09:02:24 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Tue, 1 Dec 2015 09:02:24 +0100 Subject: [flashrom] Ch431 programmer In-Reply-To: References: <201511252320.tAPNK1Xs021100@mail2.student.tuwien.ac.at> Message-ID: <201512010802.tB182Oaf027131@mail2.student.tuwien.ac.at> On Tue, 1 Dec 2015 09:25:46 +0200 Ran Weizman wrote: > Hi > Thanks a lot, unfortunately my chip model is not supported by Flashrom. And that won't change if you don't tell us what model it is :) -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Wed Dec 2 00:16:59 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Wed, 2 Dec 2015 00:16:59 +0100 Subject: [flashrom] Ch431 programmer In-Reply-To: <201512010802.tB182Oaf027131@mail2.student.tuwien.ac.at> References: <201511252320.tAPNK1Xs021100@mail2.student.tuwien.ac.at> <201512010802.tB182Oaf027131@mail2.student.tuwien.ac.at> Message-ID: <201512012317.tB1NGxdO021555@mail2.student.tuwien.ac.at> Ran replied with a huge image, therefore I am quoting his mail here. The information should suffice to create a patch for him I guess... but I have not verified the chip name yet. > If this will help > I will need to be more optimistic next time :) > > mx25l25735emi-12g > I think it's Mxic or Macronix > On Dec 1, 2015 10:02 AM, "Stefan Tauner" > wrote: > > On Tue, 1 Dec 2015 09:25:46 +0200 > Ran Weizman wrote: > > > Hi > > Thanks a lot, unfortunately my chip model is not supported by Flashrom. > > And that won't change if you don't tell us what model it is :) > > -- > Kind regards/Mit freundlichen Gr??en, Stefan Tauner -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From jim at overmoreover.com Wed Dec 2 19:53:36 2015 From: jim at overmoreover.com (Jim Houston) Date: Wed, 2 Dec 2015 13:53:36 -0500 Subject: [flashrom] S25FL128S - erase fails Message-ID: <565F3E30.3030806@overmoreover.com> Hi I'm playing with a Spansion S25FL128SAGMF1000 and running flashrom on a raspberrypi. I started with a new chip and was successful writing and reading back a random image. It fails when I try to erase the part. Probing this part gives several possible chip names and I picked "S25FL128S......0". I'm assuming that the 0 vs. 1 suffix is selecting 64k vs. 256k sector size. I may put some effort into chasing the erase problem. Is there anyone currently working on this? Jim Houston From contact at paulk.fr Thu Dec 3 14:05:14 2015 From: contact at paulk.fr (Paul Kocialkowski) Date: Thu, 03 Dec 2015 14:05:14 +0100 Subject: [flashrom] [PATCH v3 2/2] ENE Embedded Debug Interface (EDI) and ENE KB9012 EC internal flash support In-Reply-To: <1447351559.2836.6.camel@collins> References: <1447257350-17048-1-git-send-email-contact@paulk.fr> <1447257350-17048-2-git-send-email-contact@paulk.fr> <5643AF73.3030608@gmx.de> <1447351559.2836.6.camel@collins> Message-ID: <1449147914.7363.21.camel@collins> Hi, Le jeudi 12 novembre 2015 ? 19:05 +0100, Paul Kocialkowski a ?crit : > Le mercredi 11 novembre 2015 ? 22:13 +0100, Nico Huber a ?crit : > > Dear flashrom maintainers, ;) > > > > I have one last concern with this patch. It makes flashrom probe auto- > > matically by emitting SPI 0x30 commands and I have no idea if that may > > harm SPI chips that interpret it in any non-obvious way. Do we have a > > policy for adding new probe commands? > > I suppose the other way round might also be problematic: I haven't > checked for sure that other chips don't send instructions for probe that > would be seen as valid for the EDI protocol. > > This seems like a real problem to me. Maybe we could indicate in the > command line what type (protocol) of probing we want to do > (JEDEC/EDI/etc). We could keep JEDEC as default so that the default > behaviour remains the same. Does this solution seem agreeable? Otherwise, suggestions are welcome! In the meantime, could we get this patch merged and agree and fixing this particular problem in a subsequent patch? Thanks! > > If you share my concerns, is there a way to disable the automatic probe? > > If not, well, it's acked-by :) > > I guess we should follow up this discussion and introduce a solution in > a future patch. I could work on that if no one else is interested. > > > On 11.11.2015 16:55, Paul Kocialkowski wrote: > > > The ENE Embedded Debug Interface (EDI) is a SPI-based interface for accessing > > > the memory of ENE embedded controllers. > > > > > > The ENE KB9012 EC is an embedded controller found on various laptops such as > > > the Lenovo G505s. It features a 8051 microcontroller and has 128 KiB of internal > > > storage for program data. > > > > > > EDI can be accessed on the KB9012 through pins 59-62 (CS-CLK-MOSI-MISO) when > > > flash direct access is not in use. Some firmwares disable EDI at run-time, so > > > it might be necessary to ground pin 42 to reset the 8051 microcontroller before > > > accessing the KB9012 via EDI. > > > > > > Signed-off-by: Paul Kocialkowski > > Acked-by: Nico Huber > > > > > --- > > > Makefile | 2 +- > > > chipdrivers.h | 6 + > > > edi.c | 497 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > edi.h | 30 ++++ > > > ene.h | 51 ++++++ > > > flashchips.c | 23 +++ > > > 6 files changed, 608 insertions(+), 1 deletion(-) > > > create mode 100644 edi.c > > > create mode 100644 edi.h > > > create mode 100644 ene.h > > > > > > diff --git a/Makefile b/Makefile > > > index c439d8d..661c52a 100644 > > > --- a/Makefile > > > +++ b/Makefile > > > @@ -368,7 +368,7 @@ endif > > > > > > CHIP_OBJS = jedec.o stm50.o w39.o w29ee011.o \ > > > sst28sf040.o 82802ab.o \ > > > - sst49lfxxxc.o sst_fwhub.o flashchips.o spi.o spi25.o spi25_statusreg.o \ > > > + sst49lfxxxc.o sst_fwhub.o edi.o flashchips.o spi.o spi25.o spi25_statusreg.o \ > > > opaque.o sfdp.o en29lv640b.o at45db.o > > > > > > ############################################################################### > > > diff --git a/chipdrivers.h b/chipdrivers.h > > > index cac94f3..8015b52 100644 > > > --- a/chipdrivers.h > > > +++ b/chipdrivers.h > > > @@ -194,4 +194,10 @@ int erase_sector_stm50(struct flashctx *flash, unsigned int block, unsigned int > > > int probe_en29lv640b(struct flashctx *flash); > > > int write_en29lv640b(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); > > > > > > +/* edi.c */ > > > +int edi_chip_block_erase(struct flashctx *flash, unsigned int page, unsigned int size); > > > +int edi_chip_write(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); > > > +int edi_chip_read(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len); > > > +int edi_probe_kb9012(struct flashctx *flash); > > > + > > > #endif /* !__CHIPDRIVERS_H__ */ > > > diff --git a/edi.c b/edi.c > > > new file mode 100644 > > > index 0000000..0ca1704 > > > --- /dev/null > > > +++ b/edi.c > > > @@ -0,0 +1,497 @@ > > > +/* > > > + * This file is part of the flashrom project. > > > + * > > > + * Copyright (C) 2015 Paul Kocialkowski > > > + * > > > + * This program is free software; you can redistribute it and/or modify > > > + * it under the terms of the GNU General Public License as published by > > > + * the Free Software Foundation; either version 2 of the License, or > > > + * (at your option) any later version. > > > + * > > > + * This program is distributed in the hope that it will be useful, > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > + * GNU General Public License for more details. > > > + */ > > > + > > > +#include > > > +#include "flash.h" > > > +#include "ene.h" > > > +#include "edi.h" > > > + > > > +static unsigned int edi_read_buffer_length = EDI_READ_BUFFER_LENGTH_DEFAULT; > > > + > > > +static const struct ene_chip ene_kb9012 = { > > > + .hwversion = ENE_KB9012_HWVERSION, > > > + .ediid = ENE_KB9012_EDIID, > > > +}; > > > + > > > +static void edi_write_cmd(unsigned char *cmd, unsigned short address, unsigned char data) > > > +{ > > > + cmd[0] = EDI_WRITE; /* EDI write command. */ > > > + cmd[1] = 0x00; /* Address is only 2 bytes. */ > > > + cmd[2] = (address >> 8) & 0xff; /* Address higher byte. */ > > > + cmd[3] = (address >> 0) & 0xff; /* Address lower byte. */ > > > + cmd[4] = data; /* Write data. */ > > > +} > > > + > > > +static void edi_read_cmd(unsigned char *cmd, unsigned short address) > > > +{ > > > + cmd[0] = EDI_READ; /* EDI read command. */ > > > + cmd[1] = 0x00; /* Address is only 2 bytes. */ > > > + cmd[2] = (address >> 8) & 0xff; /* Address higher byte. */ > > > + cmd[3] = (address >> 0) & 0xff; /* Address lower byte. */ > > > +} > > > + > > > +static int edi_write(struct flashctx *flash, unsigned short address, unsigned char data) > > > +{ > > > + unsigned char cmd[5]; > > > + int rc; > > > + > > > + edi_write_cmd(cmd, address, data); > > > + > > > + rc = spi_send_command(flash, sizeof(cmd), 0, cmd, NULL); > > > + if (rc) > > > + return -1; > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_read_byte(struct flashctx *flash, unsigned short address, unsigned char *data) > > > +{ > > > + unsigned char cmd[4]; > > > + unsigned char buffer[edi_read_buffer_length]; > > > + unsigned int index; > > > + unsigned int i; > > > + int rc; > > > + > > > + edi_read_cmd(cmd, address); > > > + > > > + rc = spi_send_command(flash, sizeof(cmd), sizeof(buffer), cmd, buffer); > > > + if (rc) > > > + return -1; > > > + > > > + index = 0; > > > + > > > + for (i = 0; i < sizeof(buffer); i++) { > > > + index = i; > > > + > > > + if (buffer[i] == EDI_NOT_READY) > > > + continue; > > > + > > > + if (buffer[i] == EDI_READY) { > > > + if (i == (sizeof(buffer) - 1)) { > > > + /* > > > + * Buffer size was too small for receiving the value. > > > + * This is as good as getting only EDI_NOT_READY. > > > + */ > > > + > > > + buffer[i] = EDI_NOT_READY; > > > + break; > > > + } > > > + > > > + *data = buffer[i + 1]; > > > + return 0; > > > + } > > > + } > > > + > > > + if (buffer[index] == EDI_NOT_READY) > > > + return -EDI_NOT_READY; > > > + > > > + return -1; > > > +} > > > + > > > +static int edi_read(struct flashctx *flash, unsigned short address, unsigned char *data) > > > +{ > > > + int rc; > > > + > > > + do { > > > + rc = edi_read_byte(flash, address, data); > > > + if (rc == -EDI_NOT_READY) { > > > + /* > > > + * Buffer size is increased, one step at a time, > > > + * to hold more data if we only catch EDI_NOT_READY. > > > + * Once CS is deasserted, no more data will be sent by the EC, > > > + * so we cannot keep reading afterwards and have to start a new > > > + * transaction with a longer buffer, to be safe. > > > + */ > > > + > > > + if (edi_read_buffer_length < EDI_READ_BUFFER_LENGTH_MAX) { > > > + msg_pwarn("%s: Retrying read with greater buffer length!\n", __func__); > > > + edi_read_buffer_length++; > > > + } else { > > > + msg_perr("%s: Maximum buffer length reached and data still not ready!\n", __func__); > > > + return -1; > > > + } > > > + } else if (rc < 0) { > > > + return -1; > > > + } > > > + } while (rc == -EDI_NOT_READY); > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_disable(struct flashctx *flash) > > > +{ > > > + unsigned char cmd = EDI_DISABLE; > > > + int rc; > > > + > > > + rc = spi_send_command(flash, sizeof(cmd), 0, &cmd, NULL); > > > + if (rc) > > > + return -1; > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_chip_probe(struct flashctx *flash, const struct ene_chip *chip) > > > +{ > > > + unsigned char hwversion; > > > + unsigned char ediid; > > > + int rc; > > > + > > > + rc = edi_read(flash, ENE_EC_HWVERSION, &hwversion); > > > + if (rc < 0) > > > + return 0; > > > + > > > + rc = edi_read(flash, ENE_EC_EDIID, &ediid); > > > + if (rc < 0) > > > + return 0; > > > + > > > + if (chip->hwversion == hwversion && chip->ediid == ediid) > > > + return 1; > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_spi_enable(struct flashctx *flash) > > > +{ > > > + unsigned char buffer; > > > + int rc; > > > + > > > + rc = edi_read(flash, ENE_XBI_EFCFG, &buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + buffer |= ENE_XBI_EFCFG_CMD_WE; > > > + > > > + rc = edi_write(flash, ENE_XBI_EFCFG, buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_spi_disable(struct flashctx *flash) > > > +{ > > > + unsigned char buffer; > > > + int rc; > > > + > > > + rc = edi_read(flash, ENE_XBI_EFCFG, &buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + buffer &= ~ENE_XBI_EFCFG_CMD_WE; > > > + > > > + rc = edi_write(flash, ENE_XBI_EFCFG, buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_spi_busy(struct flashctx *flash) > > > +{ > > > + unsigned char buffer; > > > + int rc; > > > + > > > + rc = edi_read(flash, ENE_XBI_EFCFG, &buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + return !!(buffer & ENE_XBI_EFCFG_BUSY); > > > +} > > > + > > > +static int edi_spi_address(struct flashctx *flash, unsigned int start, unsigned int address) > > > +{ > > > + int rc; > > > + > > > + if ((address == start) || (((address - 1) & 0xff) != (address & 0xff))) { > > > + rc = edi_write(flash, ENE_XBI_EFA0, ((address & 0xff) >> 0)); > > > + if (rc < 0) > > > + return -1; > > > + } > > > + > > > + if ((address == start) || (((address - 1) & 0xff00) != (address & 0xff00))) { > > > + rc = edi_write(flash, ENE_XBI_EFA1, ((address & 0xff00) >> 8)); > > > + if (rc < 0) > > > + return -1; > > > + } > > > + > > > + if ((address == start) || (((address - 1) & 0xff0000) != (address & 0xff0000))) { > > > + rc = edi_write(flash, ENE_XBI_EFA2, ((address & 0xff0000) >> 16)); > > > + if (rc < 0) > > > + return -1; > > > + } > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_8051_reset(struct flashctx *flash) > > > +{ > > > + unsigned char buffer; > > > + int rc; > > > + > > > + rc = edi_read(flash, ENE_EC_PXCFG, &buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + buffer |= ENE_EC_PXCFG_8051_RESET; > > > + > > > + rc = edi_write(flash, ENE_EC_PXCFG, buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + return 0; > > > +} > > > + > > > +static int edi_8051_execute(struct flashctx *flash) > > > +{ > > > + unsigned char buffer; > > > + int rc; > > > + > > > + rc = edi_read(flash, ENE_EC_PXCFG, &buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + buffer &= ~ENE_EC_PXCFG_8051_RESET; > > > + > > > + rc = edi_write(flash, ENE_EC_PXCFG, buffer); > > > + if (rc < 0) > > > + return -1; > > > + > > > + return 0; > > > +} > > > + > > > +int edi_chip_block_erase(struct flashctx *flash, unsigned int page, unsigned int size) > > > +{ > > > + unsigned int timeout = 64; > > > + int rc; > > > + > > > + if (size != flash->chip->page_size) { > > > + msg_perr("%s: Block erase size is not page size!\n", __func__); > > > + return -1; > > > + } > > > + > > > + rc = edi_spi_enable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to enable SPI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + rc = edi_spi_address(flash, page, page); > > > + if (rc < 0) > > > + return -1; > > > + > > > + rc = edi_write(flash, ENE_XBI_EFCMD, ENE_XBI_EFCMD_ERASE); > > > + if (rc < 0) > > > + return -1; > > > + > > > + while (edi_spi_busy(flash) == 1 && timeout) { > > > + programmer_delay(10); > > > + timeout--; > > > + } > > > + > > > + if (!timeout) { > > > + msg_perr("%s: Timed out waiting for SPI not busy!\n", __func__); > > > + return -1; > > > + } > > > + > > > + rc = edi_spi_disable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to disable SPI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + return 0; > > > +} > > > + > > > +int edi_chip_write(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len) > > > +{ > > > + unsigned int address = start; > > > + unsigned int pages; > > > + unsigned int timeout; > > > + unsigned int i, j; > > > + int rc; > > > + > > > + if ((start % flash->chip->page_size) != 0) { > > > + msg_perr("%s: Start address is not page-aligned!\n", __func__); > > > + return -1; > > > + } > > > + > > > + if ((len % flash->chip->page_size) != 0) { > > > + msg_perr("%s: Length is not page-aligned!\n", __func__); > > > + return -1; > > > + } > > > + > > > + pages = len / flash->chip->page_size; > > > + > > > + rc = edi_spi_enable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to enable SPI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + for (i = 0; i < pages; i++) { > > > + timeout = 64; > > > + > > > + /* Clear page buffer. */ > > > + rc = edi_write(flash, ENE_XBI_EFCMD, ENE_XBI_EFCMD_HVPL_CLEAR); > > > + if (rc < 0) > > > + return -1; > > > + > > > + for (j = 0; j < flash->chip->page_size; j++) { > > > + rc = edi_spi_address(flash, start, address); > > > + if (rc < 0) > > > + return -1; > > > + > > > + rc = edi_write(flash, ENE_XBI_EFDAT, *buf); > > > + if (rc < 0) > > > + return -1; > > > + > > > + rc = edi_write(flash, ENE_XBI_EFCMD, ENE_XBI_EFCMD_HVPL_LATCH); > > > + if (rc < 0) > > > + return -1; > > > + > > > + buf++; > > > + address++; > > > + } > > > + > > > + /* Program page buffer to flash. */ > > > + rc = edi_write(flash, ENE_XBI_EFCMD, ENE_XBI_EFCMD_PROGRAM); > > > + if (rc < 0) > > > + return -1; > > > + > > > + while (edi_spi_busy(flash) == 1 && timeout) { > > > + programmer_delay(10); > > > + timeout--; > > > + } > > > + > > > + if (!timeout) { > > > + msg_perr("%s: Timed out waiting for SPI not busy!\n", __func__); > > > + return -1; > > > + } > > > + } > > > + > > > + rc = edi_spi_disable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to disable SPI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + return 0; > > > +} > > > + > > > +int edi_chip_read(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len) > > > +{ > > > + unsigned int address = start; > > > + unsigned int i; > > > + unsigned int timeout; > > > + int rc; > > > + > > > + rc = edi_spi_enable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to enable SPI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + /* > > > + * EDI brings such a drastic overhead that there is about no need to > > > + * have any delay in between calls. The EDI protocol will handle wait > > > + * I/O times on its own anyway. > > > + */ > > > + > > > + for (i = 0; i < len; i++) { > > > + timeout = 64; > > > + > > > + rc = edi_spi_address(flash, start, address); > > > + if (rc < 0) > > > + return -1; > > > + > > > + rc = edi_write(flash, ENE_XBI_EFCMD, ENE_XBI_EFCMD_READ); > > > + if (rc < 0) > > > + return -1; > > > + > > > + do { > > > + rc = edi_read(flash, ENE_XBI_EFDAT, buf); > > > + if (rc == 0) > > > + break; > > > + > > > + /* Just in case. */ > > > + while (edi_spi_busy(flash) == 1 && timeout) { > > > + programmer_delay(10); > > > + timeout--; > > > + } > > > + > > > + if (!timeout) { > > > + msg_perr("%s: Timed out waiting for SPI not busy!\n", __func__); > > > + return -1; > > > + } > > > + } while (1); > > > + > > > + buf++; > > > + address++; > > > + } > > > + > > > + rc = edi_spi_disable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to disable SPI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + return 0; > > > +} > > > + > > > +int edi_shutdown(void *data) > > > +{ > > > + struct flashctx *flash; > > > + int rc; > > > + > > > + if (data == NULL) > > > + return -1; > > > + > > > + flash = (struct flashctx *)data; > > > + > > > + rc = edi_8051_execute(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to execute 8051!\n", __func__); > > > + return -1; > > > + } > > > + > > > + rc = edi_disable(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to disable EDI!\n", __func__); > > > + return -1; > > > + } > > > + > > > + return 0; > > > +} > > > + > > > +int edi_probe_kb9012(struct flashctx *flash) > > > +{ > > > + int probe; > > > + int rc; > > > + > > > + probe = edi_chip_probe(flash, &ene_kb9012); > > > + if (!probe) > > > + return 0; > > > + > > > + rc = edi_8051_reset(flash); > > > + if (rc < 0) { > > > + msg_perr("%s: Unable to reset 8051!\n", __func__); > > > + return 0; > > > + } > > > + > > > + register_shutdown(edi_shutdown, (void *)flash); > > > + > > > + return 1; > > > +} > > > diff --git a/edi.h b/edi.h > > > new file mode 100644 > > > index 0000000..542bf26 > > > --- /dev/null > > > +++ b/edi.h > > > @@ -0,0 +1,30 @@ > > > +/* > > > + * This file is part of the flashrom project. > > > + * > > > + * Copyright (C) 2015 Paul Kocialkowski > > > + * > > > + * This program is free software; you can redistribute it and/or modify > > > + * it under the terms of the GNU General Public License as published by > > > + * the Free Software Foundation; either version 2 of the License, or > > > + * (at your option) any later version. > > > + * > > > + * This program is distributed in the hope that it will be useful, > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > + * GNU General Public License for more details. > > > + */ > > > + > > > +#ifndef __EDI_H__ > > > +#define __EDI_H__ 1 > > > + > > > +#define EDI_READ 0x30 > > > +#define EDI_WRITE 0x40 > > > +#define EDI_DISABLE 0xf3 > > > + > > > +#define EDI_NOT_READY 0x5f > > > +#define EDI_READY 0x50 > > > + > > > +#define EDI_READ_BUFFER_LENGTH_DEFAULT 3 > > > +#define EDI_READ_BUFFER_LENGTH_MAX 32 > > > + > > > +#endif > > > diff --git a/ene.h b/ene.h > > > new file mode 100644 > > > index 0000000..e03e49b > > > --- /dev/null > > > +++ b/ene.h > > > @@ -0,0 +1,51 @@ > > > +/* > > > + * This file is part of the flashrom project. > > > + * > > > + * Copyright (C) 2015 Paul Kocialkowski > > > + * > > > + * This program is free software; you can redistribute it and/or modify > > > + * it under the terms of the GNU General Public License as published by > > > + * the Free Software Foundation; either version 2 of the License, or > > > + * (at your option) any later version. > > > + * > > > + * This program is distributed in the hope that it will be useful, > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > + * GNU General Public License for more details. > > > + */ > > > + > > > +#ifndef __ENE_H__ > > > +#define __ENE_H__ 1 > > > + > > > +#define ENE_XBI_EFA0 0xfea8 > > > +#define ENE_XBI_EFA1 0xfea9 > > > +#define ENE_XBI_EFA2 0xfeaa > > > +#define ENE_XBI_EFDAT 0xfeab > > > +#define ENE_XBI_EFCMD 0xfeac > > > +#define ENE_XBI_EFCFG 0xfead > > > + > > > +#define ENE_XBI_EFCFG_CMD_WE (1 << 3) > > > +#define ENE_XBI_EFCFG_BUSY (1 << 1) > > > + > > > +#define ENE_XBI_EFCMD_HVPL_LATCH 0x02 > > > +#define ENE_XBI_EFCMD_READ 0x03 > > > +#define ENE_XBI_EFCMD_ERASE 0x20 > > > +#define ENE_XBI_EFCMD_PROGRAM 0x70 > > > +#define ENE_XBI_EFCMD_HVPL_CLEAR 0x80 > > > + > > > +#define ENE_EC_PXCFG 0xff14 > > > + > > > +#define ENE_EC_PXCFG_8051_RESET 0x01 > > > + > > > +#define ENE_EC_HWVERSION 0xff00 > > > +#define ENE_EC_EDIID 0xff24 > > > + > > > +#define ENE_KB9012_HWVERSION 0xc3 > > > +#define ENE_KB9012_EDIID 0x04 > > > + > > > +struct ene_chip { > > > + unsigned char hwversion; > > > + unsigned char ediid; > > > +}; > > > + > > > +#endif > > > diff --git a/flashchips.c b/flashchips.c > > > index 574ad74..13f0574 100644 > > > --- a/flashchips.c > > > +++ b/flashchips.c > > > @@ -3201,6 +3201,29 @@ const struct flashchip flashchips[] = { > > > }, > > > > > > { > > > + .vendor = "ENE", > > > + .name = "KB9012 (EDI)", > > > + .bustype = BUS_SPI, > > > + .total_size = 128, > > > + .page_size = 128, > > > + .feature_bits = FEATURE_ERASED_ZERO, > > > + .tested = TEST_OK_PREW, > > > + .probe = edi_probe_kb9012, > > > + .probe_timing = TIMING_ZERO, > > > + .block_erasers = > > > + { > > > + { > > > + .eraseblocks = { {128, 1024} }, > > > + .block_erase = edi_chip_block_erase, > > > + }, > > > + }, > > > + .gran = write_gran_128bytes, > > > + .write = edi_chip_write, > > > + .read = edi_chip_read, > > > + .voltage = {2700, 3600}, > > > + }, > > > + > > > + { > > > .vendor = "ESMT", > > > .name = "F49B002UA", > > > .bustype = BUS_PARALLEL, > > > > > > > _______________________________________________ > flashrom mailing list > flashrom at flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: This is a digitally signed message part URL: From contact at paulk.fr Fri Dec 4 10:57:52 2015 From: contact at paulk.fr (Paul Kocialkowski) Date: Fri, 4 Dec 2015 10:57:52 +0100 Subject: [flashrom] [PATCH 0/1] Add support for reading the current flash contents from a file Message-ID: <1449223073-4802-1-git-send-email-contact@paulk.fr> Here is an example script that I'm using to read the flash contents to a file once and update it as I flash newer versions of the software: #!/bin/sh flashrom="flashrom" programmer="ft2232_spi:type=openmoko,divisor=8" contents="~/flash-contents.img" image="$1" if [ -z $image ] then echo "Reading initial flash contents" timeb=$( date +%s ) $flashrom -p $programmer -r $contents timea=$( date +%s ) echo "Time: "$(( $timea - $timeb ))" seconds" else echo "Writing new flash contents" timeb=$( date +%s ) $flashrom -p $programmer -w $image -C $contents --noverify timea=$( date +%s ) cp $image $contents echo "Time: "$(( $timea - $timeb ))" seconds" fi From contact at paulk.fr Fri Dec 4 10:57:53 2015 From: contact at paulk.fr (Paul Kocialkowski) Date: Fri, 4 Dec 2015 10:57:53 +0100 Subject: [flashrom] [PATCH] Add support for reading the current flash contents from a file In-Reply-To: <1449223073-4802-1-git-send-email-contact@paulk.fr> References: <1449223073-4802-1-git-send-email-contact@paulk.fr> Message-ID: <1449223073-4802-2-git-send-email-contact@paulk.fr> When developing software that has to be flashed to a flash chip to be executed, it often takes a long time to read the current flash contents (for flashrom to know what pages to erase and reprogram) each time, when writing the new image. However, when the flash was just reprogrammed, its current state is known to be the previous image that was flashed (assuming it was verified). Thus, it makes sense to provide that image as a file for the flash contents instead of wasting valuable time read the whole flash each time. Signed-off-by: Paul Kocialkowski --- cli_classic.c | 46 ++++++++++++++++++++++++++++------------------ flash.h | 2 +- flashrom.c | 14 +++++++++++--- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/cli_classic.c b/cli_classic.c index a2c2014..dc0164d 100644 --- a/cli_classic.c +++ b/cli_classic.c @@ -44,24 +44,25 @@ static void cli_classic_usage(const char *name) "[-E|(-r|-w|-v) ] [-l [-i ]...] [-n] [-f]]\n" "[-V[V[V]]] [-o ]\n\n", name); - printf(" -h | --help print this help text\n" - " -R | --version print version (release)\n" - " -r | --read read flash and save to \n" - " -w | --write write to flash\n" - " -v | --verify verify flash against \n" - " -E | --erase erase flash memory\n" - " -V | --verbose more verbose output\n" - " -c | --chip probe only for specified flash chip\n" - " -f | --force force specific operations (see man page)\n" - " -n | --noverify don't auto-verify\n" - " -l | --layout read ROM layout from \n" - " -i | --image only flash image from flash layout\n" - " -o | --output log output to \n" - " -L | --list-supported print supported devices\n" + printf(" -h | --help print this help text\n" + " -R | --version print version (release)\n" + " -r | --read read flash and save to \n" + " -w | --write write to flash\n" + " -v | --verify verify flash against \n" + " -E | --erase erase flash memory\n" + " -V | --verbose more verbose output\n" + " -c | --chip probe only for specified flash chip\n" + " -f | --force force specific operations (see man page)\n" + " -n | --noverify don't auto-verify\n" + " -l | --layout read ROM layout from \n" + " -i | --image only flash image from flash layout\n" + " -o | --output log output to \n" + " -C | --flash-contents assume flash contents to be \n" + " -L | --list-supported print supported devices\n" #if CONFIG_PRINT_WIKI == 1 - " -z | --list-supported-wiki print supported devices in wiki syntax\n" + " -z | --list-supported-wiki print supported devices in wiki syntax\n" #endif - " -p | --programmer [:] specify the programmer device. One of\n"); + " -p | --programmer [:] specify the programmer device. One of\n"); list_programmers_linebreak(4, 80, 0); printf(".\n\nYou can specify one of -h, -R, -L, " #if CONFIG_PRINT_WIKI == 1 @@ -106,7 +107,7 @@ int main(int argc, char *argv[]) enum programmer prog = PROGRAMMER_INVALID; int ret = 0; - static const char optstring[] = "r:Rw:v:nVEfc:l:i:p:Lzho:"; + static const char optstring[] = "r:Rw:v:nVEfc:l:i:C:p:Lzho:"; static const struct option long_options[] = { {"read", 1, NULL, 'r'}, {"write", 1, NULL, 'w'}, @@ -118,6 +119,7 @@ int main(int argc, char *argv[]) {"force", 0, NULL, 'f'}, {"layout", 1, NULL, 'l'}, {"image", 1, NULL, 'i'}, + {"flash-contents", 1, NULL, 'C'}, {"list-supported", 0, NULL, 'L'}, {"list-supported-wiki", 0, NULL, 'z'}, {"programmer", 1, NULL, 'p'}, @@ -128,6 +130,7 @@ int main(int argc, char *argv[]) }; char *filename = NULL; + char *contentsfile = NULL; char *layoutfile = NULL; #ifndef STANDALONE char *logfile = NULL; @@ -221,6 +224,9 @@ int main(int argc, char *argv[]) cli_classic_abort_usage(); } break; + case 'C': + contentsfile = strdup(optarg); + break; case 'L': if (++operation_specified > 1) { fprintf(stderr, "More than one operation " @@ -332,6 +338,9 @@ int main(int argc, char *argv[]) if (layoutfile && check_filename(layoutfile, "layout")) { cli_classic_abort_usage(); } + if (contentsfile && check_filename(contentsfile, "contents")) { + cli_classic_abort_usage(); + } #ifndef STANDALONE if (logfile && check_filename(logfile, "log")) @@ -542,7 +551,7 @@ int main(int argc, char *argv[]) * Give the chip time to settle. */ programmer_delay(100000); - ret |= doit(fill_flash, force, filename, read_it, write_it, erase_it, verify_it); + ret |= doit(fill_flash, force, filename, contentsfile, read_it, write_it, erase_it, verify_it); unmap_flash(fill_flash); out_shutdown: @@ -554,6 +563,7 @@ out: layout_cleanup(); free(filename); free(layoutfile); + free(contentsfile); free(pparam); /* clean up global variables */ free((char *)chip_to_probe); /* Silence! Freeing is not modifying contents. */ diff --git a/flash.h b/flash.h index 8d557fe..aa58c1a 100644 --- a/flash.h +++ b/flash.h @@ -284,7 +284,7 @@ void print_buildinfo(void); void print_banner(void); void list_programmers_linebreak(int startcol, int cols, int paren); int selfcheck(void); -int doit(struct flashctx *flash, int force, const char *filename, int read_it, int write_it, int erase_it, int verify_it); +int doit(struct flashctx *flash, int force, const char *filename, const char *contentsfile, int read_it, int write_it, int erase_it, int verify_it); int read_buf_from_file(unsigned char *buf, unsigned long size, const char *filename); int write_buf_to_file(const unsigned char *buf, unsigned long size, const char *filename); diff --git a/flashrom.c b/flashrom.c index bd8ef3f..b7211ab 100644 --- a/flashrom.c +++ b/flashrom.c @@ -1932,8 +1932,9 @@ int chip_safety_check(const struct flashctx *flash, int force, int read_it, int * but right now it allows us to split off the CLI code. * Besides that, the function itself is a textbook example of abysmal code flow. */ -int doit(struct flashctx *flash, int force, const char *filename, int read_it, - int write_it, int erase_it, int verify_it) +int doit(struct flashctx *flash, int force, const char *filename, + const char *contentsfile, int read_it, int write_it, int erase_it, + int verify_it) { uint8_t *oldcontents; uint8_t *newcontents; @@ -2022,7 +2023,14 @@ int doit(struct flashctx *flash, int force, const char *filename, int read_it, * preserved, but in that case we might perform unneeded erase which * takes time as well. */ - if (read_all_first) { + if (contentsfile) { + msg_cinfo("Reading old flash chip contents from file... "); + if (read_buf_from_file(oldcontents, size, contentsfile)) { + ret = 1; + msg_cinfo("FAILED.\n"); + goto out; + } + } else if (read_all_first) { msg_cinfo("Reading old flash chip contents... "); if (flash->chip->read(flash, oldcontents, 0, size)) { ret = 1; -- 1.9.1 From stefan.tauner at alumni.tuwien.ac.at Fri Dec 4 20:44:50 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 4 Dec 2015 20:44:50 +0100 Subject: [flashrom] Ch431 programmer In-Reply-To: <201512012317.tB1NGxdO021555@mail2.student.tuwien.ac.at> References: <201511252320.tAPNK1Xs021100@mail2.student.tuwien.ac.at> <201512010802.tB182Oaf027131@mail2.student.tuwien.ac.at> <201512012317.tB1NGxdO021555@mail2.student.tuwien.ac.at> Message-ID: <201512041944.tB4JioQJ021824@mail2.student.tuwien.ac.at> On Wed, 2 Dec 2015 00:16:59 +0100 Stefan Tauner wrote: > Ran replied with a huge image, therefore I am quoting his mail here. > The information should suffice to create a patch for him I guess... but > I have not verified the chip name yet. > > > If this will help > > I will need to be more optimistic next time :) > > > > mx25l25735emi-12g > > I think it's Mxic or Macronix Hi, ok, that is a 256Mb chip that requires a new addressing scheme that flashrom does not support yet at all (and that's why the chip is not supported currently). It will take a while till we get the necessary patches merged but you could try to use them on top of the ch341a patches if you like... look for, e.g. "4-bytes addressing" in our mailing list archive. The information/patches are not really organized yet. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From mohit.keswani at gmail.com Sat Dec 5 00:04:16 2015 From: mohit.keswani at gmail.com (Mohit Keswani) Date: Fri, 4 Dec 2015 18:04:16 -0500 Subject: [flashrom] W836xx: your board name: flashrom -V Message-ID: Output for flashrom attached. Please support my board. I;ve bought the latest lenovo y700. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- flashrom v0.9.8-r1888 on Linux 4.2.5-1-ARCH (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.3.0, GCC 4.9.2 20150204 (prerelease), little endian Command line (3 args): flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 3461M loops per second, 10 myus = 9 us, 100 myus = 170 us, 1000 myus = 991 us, 10000 myus = 9968 us, 4 myus = 4 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. No DMI table found. W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect. Active config mode, unknown reg 0x20 ID: 83. Please send the output of "flashrom -V -p internal" to flashrom at flashrom.org with W836xx: your board name: flashrom -V as the subject to help us finish support for your Super I/O. Thanks. The following protocols are supported: Non-SPI. Probing for AMD Am29F010A/B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F002(N)BB, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F002(N)BT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F016D, 2048 kB: probe_jedec_common: id1 0xb2, id2 0x72, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F080B, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV001BB, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV001BT, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV002BB, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV002BT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV004BB, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV004BT, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV008BB, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV008BT, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV081B, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMIC A29002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMIC A29002T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMIC A29040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for AMIC A49LF040A, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT29C512, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT29C010A, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT29C020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT29C040A, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49BV512, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49F002(N), 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49F002(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49(H)F010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49F020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49F040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49F080, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49F080T, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49LH00B4, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49LH004, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Catalyst CAT28F512, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Bright BM29F040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for ESMT F49B002UA, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29F010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29F002(A)(N)B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29F002(A)(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29LV040(A), 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29LV640B, 8192 kB: probe_en29lv640b: id1 0xffff, id2 0x00ff Probing for Eon EN29GL064(A)B, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Eon EN29GL064(A)T, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Eon EN29GL064H/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Eon EN29GL128, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Fujitsu MBM29F004BC, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29F004TC, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29F400BC, 512 kB: probe_jedec_common: id1 0x40, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29F400TC, 512 kB: probe_jedec_common: id1 0x40, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29LV160BE, 2048 kB: probe_jedec_common: id1 0xb2, id2 0x06, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29LV160TE, 2048 kB: probe_jedec_common: id1 0xb2, id2 0x06, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Hyundai HY29F002T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Hyundai HY29F002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Hyundai HY29F040A, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F001BN/BX-B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F001BN/BX-T, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F002BC/BL/BV/BX-T, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F008S3/S5/SC, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F004B5/BE/BV/BX-B, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F004B5/BE/BV/BX-T, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F400BV/BX/CE/CV-B, 512 kB: probe_82802ab: id1 0x40, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F400BV/BX/CE/CV-T, 512 kB: probe_82802ab: id1 0x40, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ISSI IS29GL064B, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for ISSI IS29GL064T, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for ISSI IS29GL064H/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for ISSI IS29GL128H/L, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29F001B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F001T, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F002(N)B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F002(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F022(N)B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F022(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29GL320EB, 4096 kB: probe_jedec_29gl: man_id 0x07, dev_id 0x4183d9, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL320ET, 4096 kB: probe_jedec_29gl: man_id 0x07, dev_id 0x4183d9, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL320EH/L, 4096 kB: probe_jedec_29gl: man_id 0x07, dev_id 0x4183d9, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL640EB, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL640ET, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL640EH/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL128F, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29LV040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29C51000B, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29C51000T, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29C51400B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29C51400T, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29LC51000, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29LC51001, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29LC51002, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm29F002T, 256 kB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm29F002B, 256 kB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV512, 64 kB: probe_jedec_common: 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Sharp LH28F008BJT-BTLZ1, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST28SF040A, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST29EE010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST29LE010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST29EE020A, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST29LE020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39SF512, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39SF010A, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39SF020A, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39SF040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST39VF512, 64 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39VF010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39VF020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST39VF040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST39VF080, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, 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 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF016C, 2048 kB: probe_82802ab: id1 0xb2, id2 0x72, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF020A, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF080A, 1024 kB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF160C, 2048 kB: probe_82802ab: id1 0xb2, id2 0x72, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F002T/NT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for ST M29F400BB, 512 kB: probe_jedec_common: id1 0x40, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ST M29F400BT, 512 kB: probe_jedec_common: id1 0x40, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ST M29W010B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29W040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for ST M29W512B, 64 kB: probe_jedec_common: 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 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW016, 2048 kB: probe_82802ab: id1 0xb2, id2 0x72, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW040, 512 kB: probe_82802ab: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50LPW080, 1024 kB: probe_82802ab: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50LPW116, 2048 kB: probe_82802ab: id1 0xb2, id2 0x72, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51001B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51001T, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51002T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51004B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51004T, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {S,V}29C31004B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {S,V}29C31004T, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for TI TMS29F002RB, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for TI TMS29F002RT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012-old, 128 kB: Old Winbond W29* probe method disabled because the probing sequence puts the AMIC A49LF040A in a funky state. Use 'flashrom -c W29C010(M)/W29C011A/W29EE011/W29EE012-old' if you have a board with such a chip. Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W29C020(C)/W29C022, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W29C040/P, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W29GL032CB, 4096 kB: probe_jedec_29gl: man_id 0x07, dev_id 0x4183d9, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL032CT, 4096 kB: probe_jedec_29gl: man_id 0x07, dev_id 0x4183d9, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL032CH/L, 4096 kB: probe_jedec_29gl: man_id 0x07, dev_id 0x4183d9, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL064CB, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL064CT, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL064CH/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL128C, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W39F010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39L010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39L020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39L040, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V040A, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V040B, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V040C, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V080A, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W49F002U/N, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W49F020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W49V002A, 256 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0x8b, id2 0x7d, 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 0x40, id2 0x88, id1 is normal flash content, id2 is normal flash content No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically. From nebinbc at gmail.com Sat Dec 5 21:01:01 2015 From: nebinbc at gmail.com (Neb Radojkovic) Date: Sat, 5 Dec 2015 12:01:01 -0800 Subject: [flashrom] Question - Help Message-ID: Hello, This could be a totally wrong place for what I am trying to accomplish but it doesn't hurt to ask. I joined flashrom in hope that it will help me. I have an older HP small-factor desktop computer where the BIOS is somewhat limited for any adjusting/ changes. It takes forever to boot to any OS I load and I was hoping that by flashing and getting an open BIOS things will get faster and better. Now, I have no real knowledge for doing so - I am an old guy who would like to think that I can find enough info to do so. Is this the place that can help me for my task? If so (or not) can you point me in the right direction. I can totally understand instruction of type: open this, download that, extract and boot with to execute...etc. Too many technical terms will confuse me... I also understand if you don't have time to waste on an old guy and in that case just tell me to bug off... Thank you in advance. Cheers! Neb -------------- next part -------------- An HTML attachment was scrubbed... URL: From jim at overmoreover.com Sun Dec 6 17:18:59 2015 From: jim at overmoreover.com (Jim Houston) Date: Sun, 6 Dec 2015 11:18:59 -0500 Subject: [flashrom] S25FL128S - erase WORKS In-Reply-To: <565F3E30.3030806@overmoreover.com> References: <565F3E30.3030806@overmoreover.com> Message-ID: <56645FF3.7060304@overmoreover.com> On 12/02/2015 01:53 PM, Jim Houston wrote: > I'm playing with a Spansion S25FL128SAGMF1000 and running flashrom on > a raspberrypi. > I started with a new chip and was successful writing and reading back > a random > image. It fails when I try to erase the part. I added power supply bypass capacitors closer to the flash chip and the erase works. My mistake. The "S25FL128S......0" works for read/write/erase. Thanks. Jim Houston From jim at overmoreover.com Sun Dec 6 18:25:35 2015 From: jim at overmoreover.com (Jim Houston) Date: Sun, 6 Dec 2015 12:25:35 -0500 Subject: [flashrom] Question - Help In-Reply-To: References: Message-ID: <56646F8F.9020608@overmoreover.com> On 12/05/2015 03:01 PM, Neb Radojkovic wrote: > > I joined flashrom in hope that it will help me. I have an older HP > small-factor desktop computer where the BIOS > is somewhat limited for any adjusting/ changes. It takes forever to > boot to any OS I load and I was hoping that > by flashing and getting an open BIOS things will get faster and better. > Now, I have no real knowledge for doing so - I am an old guy who would > like to think that I can find enough info > to do so. Is this the place that can help me for my task? > Hi Neb, Yes this probably the wrong list for this discussion. There are much easier ways to save time. There is the obvious risk of installing a BIOS which doesn't work and turning your PC into a brick. It sounds like you are hoping for a script to follow - it isn't that easy. I'm new to this list too and planning to use flashrom to backup the prom in a router before trying an open source firmware. Flashrom might be part of the process but you should start by looking at the firmware you plan to use. One project doing a BIOS replacement is coreboot.org. They have lists of supported hardware. It is important to understand that hardware vendors may use the same name for different hardware. Close isn't good enough. Jim Houston -------------- next part -------------- An HTML attachment was scrubbed... URL: From dhendrix at google.com Fri Dec 11 06:45:47 2015 From: dhendrix at google.com (David Hendricks) Date: Thu, 10 Dec 2015 21:45:47 -0800 Subject: [flashrom] S25FL128S - erase WORKS In-Reply-To: <56645FF3.7060304@overmoreover.com> References: <565F3E30.3030806@overmoreover.com> <56645FF3.7060304@overmoreover.com> Message-ID: Cool, thanks for the update! If for some reason you decide to try the S25FS chips, bear in mind that you may need to disable the hybrid sector architecture in order for erase commands to work as expected. On Sun, Dec 6, 2015 at 8:18 AM, Jim Houston wrote: > > On 12/02/2015 01:53 PM, Jim Houston wrote: > >> I'm playing with a Spansion S25FL128SAGMF1000 and running flashrom on a >> raspberrypi. >> I started with a new chip and was successful writing and reading back a >> random >> image. It fails when I try to erase the part. >> > > I added power supply bypass capacitors closer to the flash chip and the > erase works. > My mistake. > > The "S25FL128S......0" works for read/write/erase. > > Thanks. > > Jim Houston > > > _______________________________________________ > flashrom mailing list > flashrom at flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom > -- David Hendricks (dhendrix) Systems Software Engineer, Google Inc. -------------- next part -------------- An HTML attachment was scrubbed... URL: From brenon.alexis at gmail.com Sun Dec 6 21:19:50 2015 From: brenon.alexis at gmail.com (Alexis BRENON) Date: Sun, 06 Dec 2015 20:19:50 +0000 Subject: [flashrom] W836xx: ??????????: flashrom -V Message-ID: # sudo flashrom -V -p internal flashrom v0.9.8-r1888 on Linux 4.2.5-1-ARCH (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.3.0, GCC 4.9.2 20150204 (prerelease), little endian Command line (3 args): flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 2658M loops per second, 10 myus = 10 us, 100 myus = 125 us, 1000 myus = 1012 us, 10000 myus = 9948 us, 4 myus = 15 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. DMI string chassis-type: "Portable" Laptop detected via DMI. DMI string system-manufacturer: "Dell Inc. " DMI string system-product-name: "Inspiron 7437" DMI string system-version: "Not Specified" DMI string baseboard-manufacturer: "Dell Inc. " DMI string baseboard-product-name: " " DMI string baseboard-version: " " W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect. Active config mode, unknown reg 0x20 ID: fc. Please send the output of "flashrom -V -p internal" to flashrom at flashrom.org with W836xx: your board name: flashrom -V as the subject to help us finish support for your Super I/O. Thanks. ======================================================================== 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 the manpage and 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. ======================================================================== Aborting. Error: Programmer initialization failed. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffrey.coon at yahoo.ca Wed Dec 9 01:48:13 2015 From: jeffrey.coon at yahoo.ca (Jeff) Date: Tue, 08 Dec 2015 19:48:13 -0500 Subject: [flashrom] W836xx:HP DL145 G3 Message-ID: <1449622093.17481.1.camel@yahoo.ca> I'm not sure if you still need this input but the program requested it. Hope it helps! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- flashrom v0.9.8-r1888 on Linux 3.10.0-229.20.1.el7.x86_64 (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.2.1, GCC 4.8.3 20140911 (Red Hat 4.8.3-9), little endian Command line (3 args): ./flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 198M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 1005 us, 10000 myus = 10020 us, 4 myus = 5 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. DMI string chassis-type: "Rack Mount Chassis" DMI string system-manufacturer: "HP" DMI string system-product-name: "ProLiant DL145 G3" DMI string system-version: " " DMI string baseboard-manufacturer: "NEWISYS" DMI string baseboard-product-name: " " DMI string baseboard-version: "rA4" W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect. Active config mode, unknown reg 0x20 ID: ee. Please send the output of "flashrom -V -p internal" to flashrom at flashrom.org with W836xx: your board name: flashrom -V as the subject to help us finish support for your Super I/O. Thanks. Found chipset "Broadcom HT-1000" with PCI ID 1166:0205. Enabling flash write... OK. Enabling full flash access for board "HP ProLiant DL145 G3"... OK. The following protocols are supported: Non-SPI. Probing for AMD Am29F010A/B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F002(N)BB, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F002(N)BT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F016D, 2048 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F040B, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29F080B, 1024 kB: probe_jedec_common: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV001BB, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV001BT, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV002BB, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV002BT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV004BB, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV004BT, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV008BB, 1024 kB: probe_jedec_common: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV008BT, 1024 kB: probe_jedec_common: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV040B, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMD Am29LV081B, 1024 kB: probe_jedec_common: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for AMIC A29002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMIC A29002T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMIC A29040B, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for AMIC A49LF040A, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT29C512, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT29C010A, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT29C020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT29C040A, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49BV512, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49F002(N), 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49F002(N)T, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49(H)F010, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49F020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49F040, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49F080, 1024 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49F080T, 1024 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49LH00B4, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Atmel AT49LH004, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Catalyst CAT28F512, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Bright BM29F040, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for ESMT F49B002UA, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Eon EN29F010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29F002(A)(N)B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29F002(A)(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Eon EN29LV040(A), 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Eon EN29LV640B, 8192 kB: probe_en29lv640b: id1 0xffff, id2 0x00ff Probing for Eon EN29GL064(A)B, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Eon EN29GL064(A)T, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Eon EN29GL064H/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Eon EN29GL128, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Fujitsu MBM29F004BC, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29F004TC, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29F400BC, 512 kB: probe_jedec_common: id1 0x4e, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29F400TC, 512 kB: probe_jedec_common: id1 0x4e, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29LV160BE, 2048 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Fujitsu MBM29LV160TE, 2048 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Hyundai HY29F002T, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Hyundai HY29F002B, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Hyundai HY29F040A, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F001BN/BX-B, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Intel 28F001BN/BX-T, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Intel 28F002BC/BL/BV/BX-T, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F008S3/S5/SC, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F004B5/BE/BV/BX-B, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F004B5/BE/BV/BX-T, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F400BV/BX/CE/CV-B, 512 kB: probe_82802ab: id1 0x4e, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 28F400BV/BX/CE/CV-T, 512 kB: probe_82802ab: id1 0x4e, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ISSI IS29GL064B, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for ISSI IS29GL064T, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for ISSI IS29GL064H/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for ISSI IS29GL128H/L, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29F001B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F001T, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F002(N)B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F002(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F022(N)B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F022(N)T, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29F040, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX29GL320EB, 4096 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL320ET, 4096 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL320EH/L, 4096 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL640EB, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL640ET, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL640EH/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29GL128F, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Macronix MX29LV040, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for MoselVitelic V29C51000B, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for MoselVitelic V29C51000T, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for MoselVitelic V29C51400B, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for MoselVitelic V29C51400T, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for MoselVitelic V29LC51000, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for MoselVitelic V29LC51001, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for MoselVitelic V29LC51002, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for PMC Pm29F002T, 256 kB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm29F002B, 256 kB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV010, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV020, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV040, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm39LV512, 64 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm49FL002, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Sharp LH28F008BJT-BTLZ1, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for SST SST28SF040A, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST29EE010, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST29LE010, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST29EE020A, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST29LE020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39SF512, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39SF010A, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39SF020A, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39SF040, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39VF512, 64 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39VF010, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39VF020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39VF040, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST39VF080, 1024 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF016C, 2048 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF020A, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF040, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF040B, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SST SST49LF080A, 1024 kB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xbf, id2 0x5b Found SST flash chip "SST49LF080A" (1024 kB, LPC) mapped at physical address 0x00000000fff00000. Probing for SST SST49LF160C, 2048 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F002T/NT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F040B, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F400BB, 512 kB: probe_jedec_common: id1 0x4e, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29F400BT, 512 kB: probe_jedec_common: id1 0x4e, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29W010B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29W040B, 512 kB: probe_jedec_common: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M29W512B, 64 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW040A, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW016, 2048 kB: 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 0x4e, id2 0x41, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ST M50LPW080, 1024 kB: probe_82802ab: id1 0xf8, id2 0x00, id1 is normal flash content, id2 is normal flash content Probing for ST M50LPW116, 2048 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SyncMOS/MoselVitelic {F,S,V}29C51001B, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {F,S,V}29C51001T, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {F,S,V}29C51002B, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {F,S,V}29C51002T, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {F,S,V}29C51004B, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {F,S,V}29C51004T, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {S,V}29C31004B, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for SyncMOS/MoselVitelic {S,V}29C31004T, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for TI TMS29F002RB, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for TI TMS29F002RT, 256 kB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012-old, 128 kB: Old Winbond W29* probe method disabled because the probing sequence puts the AMIC A49LF040A in a funky state. Use 'flashrom -c W29C010(M)/W29C011A/W29EE011/W29EE012-old' if you have a board with such a chip. Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W29C020(C)/W29C022, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W29C040/P, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W29GL032CB, 4096 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL032CT, 4096 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL032CH/L, 4096 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL064CB, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL064CT, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL064CH/L, 8192 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W29GL128C, 16384 kB: probe_jedec_29gl: man_id 0xff, dev_id 0xffffff, man_id parity violation, man_id seems to be normal flash content, dev_id seems to be normal flash content Probing for Winbond W39F010, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39L010, 128 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39L020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39L040, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V040A, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V040B, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V040C, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V080A, 1024 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W49F002U/N, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W49F020, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W49V002A, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W49V002FA, 256 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0xbf, id2 0x5b Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0xbf, id2 0x5b Found SST flash chip "SST49LF080A" (1024 kB, LPC). No operations were specified. Restoring PCI config space for 00:02:0 reg 0x43 Restoring PCI config space for 00:02:0 reg 0x41 From rubenvandeput at gmail.com Fri Dec 11 10:52:38 2015 From: rubenvandeput at gmail.com (Ruben Van de Put) Date: Fri, 11 Dec 2015 10:52:38 +0100 Subject: [flashrom] Problems flashing N25Q064A13ESE40E SPI chip Message-ID: Hello, I'm having some problems flashing a SPI chip with the BusPirate V3. Writing the image is successful but verification is not successful. First try with chip on breadboard and long leads (20-25cm): http://paste.flashrom.org/view.php?id=2841 Then I shortened the signal leads and soldered them directly on the BusPirate: http://paste.flashrom.org/view.php?id=2842 Then I soldered all leads directly on the chip (with an adapter) instead of using a breadboard: http://paste.flashrom.org/view.php?id=2844 I also tried lowering the SPI speed to 1 MHz: http://paste.flashrom.org/view.php?id=2845 Current set-up [image: Inline afbeelding 1] [image: Inline afbeelding 2] Chip datasheet: http://www.farnell.com/datasheets/1674442.pdf Flash connected in this way: http://flashrom.org/Bus_Pirate Is there anything else I can try or should I try replacing the flash chip? Kind regards, Ruben Van de Put -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 788599 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 626007 bytes Desc: not available URL: From martonmiklosqdev at gmail.com Fri Dec 11 20:45:55 2015 From: martonmiklosqdev at gmail.com (=?UTF-8?B?TcOhcnRvbiBNaWtsw7Nz?=) Date: Fri, 11 Dec 2015 20:45:55 +0100 Subject: [flashrom] N25Q128..1E flashed successfully Message-ID: <566B27F3.7000701@gmail.com> Hello all, I have successfully flashed a N25Q128..1E SPI flash using flashrom with a 16MB image. The programmer was an external one: NI USB-8452. This is not supported in the mainline yet, but patch is coming soon. /Flashing output (I have forgotten to //run with -V//):// //flashrom v0.9.7-unknown on Linux 3.13.0-70-generic (x86_64)// //flashrom is free software, get the source code at http://www.flashrom.org// // //Calibrating delay loop... OK.// //Found USB device (3923:7514).// //USB-8452 IO voltage set to: 1.8 V// //USB-8452 SCK frequency set to: 50.00 MHz// //Found Micron/Numonyx/ST flash chip "N25Q128..1E" (16384 kB, SPI) on usb8451_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 at 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!// //Reading old flash chip contents... done.// //Erasing and writing flash chip... // //Erase/write done.// //Verifying flash... VERIFIED. /Patch attached./ / -- Regards, Miklos Marton -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: N25Q128_1V8.patch Type: text/x-patch Size: 443 bytes Desc: not available URL: From martonmiklosqdev at gmail.com Fri Dec 11 21:01:06 2015 From: martonmiklosqdev at gmail.com (=?UTF-8?B?TcOhcnRvbiBNaWtsw7Nz?=) Date: Fri, 11 Dec 2015 21:01:06 +0100 Subject: [flashrom] Add option to disable the reading back of the flash contents at write operation Message-ID: <566B2B82.2000601@gmail.com> Hello all, I am using the flashrom with an external programmer to flash various SPI flashes a lot. In most cases I do not care about the old flash contents when flashing, so the "/Reading old flash chip contents/" step does not have any added value in my use cases. The code also has a FIXME note where this is hardcoded to make it configurable in the future. I would like to patch it if possible. Please propose me command line arguments for disabling it. My proposal: /-N | --nobackup skip reading back old flash contents before write/ I know -N could be confused with -n but the same applies to the -v (verify) and -V (verbose). I also could live without the short argument, but that would break the "standard". Thanks in advance for your feedback! -- Regards, Miklos Marton -------------- next part -------------- An HTML attachment was scrubbed... URL: From dhendrix at google.com Fri Dec 11 21:52:05 2015 From: dhendrix at google.com (David Hendricks) Date: Fri, 11 Dec 2015 12:52:05 -0800 Subject: [flashrom] Add option to disable the reading back of the flash contents at write operation In-Reply-To: <566B2B82.2000601@gmail.com> References: <566B2B82.2000601@gmail.com> Message-ID: Hi Marton, I respectfully disagree with this approach. Reading the old contents is not just used for backup. It's used so that flashrom can selectively erase and write blocks which usually saves time because erase and write operations are orders of magnitude slower than reads on NOR flash. So, it's not a bad thing to support this option, but I think there is little benefit and can actually make the process slower in most cases. (Your case might be different, of course) Nico Huber's unbounded read patch should help reduce the initial read time by a large factor (~90% reduction). Try marking your chip as tested for unbounded reads. You might find that the read and selective erase/write is faster than unconditional erase/write. On Fri, Dec 11, 2015 at 12:01 PM, M?rton Mikl?s wrote: > Hello all, > > I am using the flashrom with an external programmer to flash various SPI > flashes a lot. > In most cases I do not care about the old flash contents when flashing, so > the "*Reading old flash chip contents*" step does not have any added > value in my use cases. The code also has a FIXME note where this is > hardcoded to make it configurable in the future. I would like to patch it > if possible. > > Please propose me command line arguments for disabling it. My proposal: > *-N | --nobackup skip reading back old flash contents before write* > > I know -N could be confused with -n but the same applies to the -v > (verify) and -V (verbose). > I also could live without the short argument, but that would break the > "standard". > > Thanks in advance for your feedback! > > -- > Regards, > Miklos Marton > > > _______________________________________________ > flashrom mailing list > flashrom at flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom > -- David Hendricks (dhendrix) Systems Software Engineer, Google Inc. -------------- next part -------------- An HTML attachment was scrubbed... URL: From martonmiklosqdev at gmail.com Sat Dec 12 21:02:24 2015 From: martonmiklosqdev at gmail.com (=?UTF-8?B?TcOhcnRvbiBNaWtsw7Nz?=) Date: Sat, 12 Dec 2015 21:02:24 +0100 Subject: [flashrom] Add option to disable the reading back of the flash contents at write operation In-Reply-To: References: <566B2B82.2000601@gmail.com> Message-ID: <566C7D50.4020609@gmail.com> Hello David, Thank you for your response! Your answer makes sense for me. In this case it would be useful to refactor the "backupless" writes to read sectors only until a non 0xFF portion found, and then mark that sector erasable or erase immediately. In the case if the flash has non blank region this could speed up the programming, worst case (programming a fully erased chip) it is going to be equal in time. I have not been aware of Nico's patch. Is it already merged to the mainline? If not could you please give me a link to that? Thank you! Regards, Miklos Marton 2015-12-11 21:52 keltez?ssel, David Hendricks ?rta: > Hi Marton, > I respectfully disagree with this approach. Reading the old contents > is not just used for backup. It's used so that flashrom can > selectively erase and write blocks which usually saves time because > erase and write operations are orders of magnitude slower than reads > on NOR flash. > > So, it's not a bad thing to support this option, but I think there is > little benefit and can actually make the process slower in most cases. > (Your case might be different, of course) > > Nico Huber's unbounded read patch should help reduce the initial read > time by a large factor (~90% reduction). Try marking your chip as > tested for unbounded reads. You might find that the read and selective > erase/write is faster than unconditional erase/write. > > > On Fri, Dec 11, 2015 at 12:01 PM, M?rton Mikl?s > > wrote: > > Hello all, > > I am using the flashrom with an external programmer to flash > various SPI flashes a lot. > In most cases I do not care about the old flash contents when > flashing, so the "/Reading old flash chip contents/" step does not > have any added value in my use cases. The code also has a FIXME > note where this is hardcoded to make it configurable in the > future. I would like to patch it if possible. > > Please propose me command line arguments for disabling it. My > proposal: > /-N | --nobackup skip reading back old flash contents before write/ > > I know -N could be confused with -n but the same applies to the -v > (verify) and -V (verbose). > I also could live without the short argument, but that would break > the "standard". > > Thanks in advance for your feedback! > > -- > Regards, > Miklos Marton > > > _______________________________________________ > flashrom mailing list > flashrom at flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom > > > > > -- > David Hendricks (dhendrix) > Systems Software Engineer, Google Inc. -------------- next part -------------- An HTML attachment was scrubbed... URL: From martonmiklosqdev at gmail.com Sun Dec 13 22:16:07 2015 From: martonmiklosqdev at gmail.com (=?UTF-8?B?TcOhcnRvbiBNaWtsw7Nz?=) Date: Sun, 13 Dec 2015 22:16:07 +0100 Subject: [flashrom] Successful write report S25FL016A Message-ID: <566DE017.2040908@gmail.com> Hello all, I have successfully flashed a Dell D830 notebook (with discrete NVIDIA VGA) using flashrom from A14 BIOS revision to A17. This means two things: the notebook itself is supported, and the S25FL016A could be marked as verified for probe, read, erase, write. For the later one I have created a patch. I have forgotten to run lspci -vvvv, but I will do that and create a board enable patch soon. -- Regards, Miklos Marton -------------- next part -------------- # dmidecode 2.12 SMBIOS 2.4 present. 63 structures occupying 2948 bytes. Table at 0x000F68A0. Handle 0xDA00, DMI type 218, 251 bytes OEM-specific Type Header and Data: DA FB 00 DA B2 00 0D 5F 1F 37 40 7D 00 00 00 00 00 7E 00 02 00 00 00 40 00 04 00 01 00 41 00 04 00 00 00 90 00 05 00 00 00 91 00 05 00 01 00 92 00 05 00 02 00 65 00 06 00 00 00 66 00 06 00 01 00 5E 00 07 00 01 00 5F 00 07 00 00 00 F1 00 08 00 00 00 F2 00 08 00 01 00 F3 00 08 00 02 00 0F 00 09 00 00 00 11 00 09 00 01 00 05 00 09 00 02 00 12 00 09 00 03 00 06 00 09 00 04 00 07 00 0A 00 00 00 0B 00 0A 00 01 00 0C 00 0A 00 02 00 0D 00 0A 00 03 00 89 01 0B 00 00 00 8A 01 0B 00 01 00 42 00 0C 00 01 00 43 00 0C 00 00 00 55 00 0D 00 00 00 6D 00 0D 00 01 00 16 02 0D 00 02 00 98 01 0D 00 03 00 0A 01 0E 00 01 00 0B 01 0E 00 00 00 2D 00 0F 00 02 00 27 01 0F 00 03 00 6E 00 0F 00 01 00 2E 00 0F 00 00 00 11 01 10 00 00 00 10 01 10 00 01 00 FF FF 00 00 00 00 Handle 0xDA01, DMI type 218, 251 bytes OEM-specific Type Header and Data: DA FB 01 DA B2 00 0D 5F 1F 37 40 F0 00 11 00 01 00 ED 00 11 00 00 00 41 01 12 00 01 00 40 01 12 00 00 00 47 01 13 00 01 00 46 01 13 00 00 00 4A 01 14 00 00 00 4B 01 14 00 01 00 52 01 15 00 01 00 53 01 15 00 00 00 80 01 16 00 01 00 7F 01 16 00 00 00 7C 01 17 00 01 00 7B 01 17 00 00 00 7E 01 18 00 01 00 7D 01 18 00 00 00 92 01 19 00 00 00 91 01 19 00 01 00 94 01 1A 00 00 00 93 01 1A 00 01 00 86 01 1B 00 01 00 85 01 1B 00 00 00 82 01 1C 00 01 00 81 01 1C 00 00 00 84 01 1D 00 01 00 83 01 1D 00 00 00 9B 01 1E 00 00 00 9C 01 1E 00 01 00 9D 01 1E 00 02 00 9E 01 1E 00 03 00 8D 01 1F 00 00 00 8E 01 1F 00 01 00 EA 00 20 00 00 00 EB 00 20 00 01 00 EC 00 20 00 02 00 28 00 21 00 00 00 29 00 21 00 01 00 2A 00 21 00 02 00 2B 00 22 00 00 00 FF FF 00 00 00 00 Handle 0xDA02, DMI type 218, 251 bytes OEM-specific Type Header and Data: DA FB 02 DA B2 00 0D 5F 1F 37 40 2C 00 23 00 00 00 E7 00 24 00 01 00 E6 00 24 00 00 00 0E 01 25 00 01 00 0F 01 25 00 00 00 9B 00 26 00 01 00 9C 00 26 00 00 00 87 00 27 00 01 00 88 00 27 00 00 00 4D 01 28 00 01 00 4C 01 28 00 00 00 51 01 29 00 00 00 50 01 29 00 01 00 87 01 2A 00 00 00 88 01 2A 00 01 00 37 01 2B 00 00 00 38 01 2B 00 01 00 D9 01 2C 00 01 00 D8 01 2C 00 00 00 C1 01 2D 00 00 00 C3 01 2D 00 01 00 C2 01 2D 00 02 00 DF 01 2E 00 01 00 DE 01 2E 00 00 00 EA 01 2F 00 00 00 EB 01 2F 00 01 00 EC 01 30 00 00 00 ED 01 30 00 01 00 45 01 45 01 01 00 44 01 44 01 00 00 00 80 00 80 01 00 00 A0 00 A0 01 00 05 80 05 80 01 00 76 01 76 01 01 00 75 01 75 01 01 00 25 03 25 03 01 00 4A 02 4A 02 01 00 0C 80 0C 80 01 00 01 F0 01 F0 00 00 FF FF 00 00 00 00 Handle 0xDA03, DMI type 218, 35 bytes OEM-specific Type Header and Data: DA 23 03 DA B2 00 0D 5F 1F 37 40 02 F0 02 F0 00 00 03 F0 03 F0 00 00 04 F0 04 F0 00 00 FF FF 00 00 00 00 Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: Dell Inc. Version: A17 Release Date: 06/19/2013 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 2048 kB Characteristics: ISA is supported PCI is supported PC Card (PCMCIA) is supported PNP is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported 3.5"/720 kB floppy services are supported (int 13h) Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) CGA/mono video services are supported (int 10h) ACPI is supported USB legacy is supported AGP is supported Smart battery is supported BIOS boot specification is supported Function key-initiated network boot is supported Targeted content distribution is supported BIOS Revision: 1.7 Firmware Revision: 1.7 Handle 0x0100, DMI type 1, 27 bytes System Information Manufacturer: Dell Inc. Product Name: Latitude D830 Version: Not Specified Serial Number: REMOVED UUID: REMOVED Wake-up Type: Power Switch SKU Number: Not Specified Family: Handle 0x0200, DMI type 2, 9 bytes Base Board Information Manufacturer: Dell Inc. Product Name: Version: Serial Number: .REMOVED. . Asset Tag: Handle 0x0300, DMI type 3, 13 bytes Chassis Information Manufacturer: Dell Inc. Type: Portable Lock: Not Present Version: Not Specified Serial Number: REMOVED Asset Tag: Not Specified Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: None Handle 0x0301, DMI type 3, 13 bytes Chassis Information Manufacturer: Dell Inc. Type: Docking Station Lock: Not Present Version: Not Specified Serial Number: 00C001315924 Asset Tag: Not Specified Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: None Handle 0x0400, DMI type 4, 40 bytes Processor Information Socket Designation: Microprocessor Type: Central Processor Family: Core 2 Duo Manufacturer: Intel ID: FB 06 00 00 FF FB EB BF Signature: Type 0, Family 6, Model 15, Stepping 11 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Not Specified Voltage: 3.3 V External Clock: 200 MHz Max Speed: 2200 MHz Current Speed: 2200 MHz Status: Populated, Enabled Upgrade: None L1 Cache Handle: 0x0700 L2 Cache Handle: 0x0701 L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 2 Core Enabled: 2 Thread Count: 2 Characteristics: 64-bit capable Handle 0x0700, DMI type 7, 19 bytes Cache Information Socket Designation: Not Specified Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 32 kB Maximum Size: 32 kB Supported SRAM Types: Unknown Installed SRAM Type: Unknown Speed: Unknown Error Correction Type: None System Type: Data Associativity: 4-way Set-associative Handle 0x0701, DMI type 7, 19 bytes Cache Information Socket Designation: Not Specified Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Varies With Memory Address Location: Internal Installed Size: 4096 kB Maximum Size: 4096 kB Supported SRAM Types: Pipeline Burst Installed SRAM Type: Pipeline Burst Speed: 15 ns Error Correction Type: None System Type: Unified Associativity: Other Handle 0x0800, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: PARALLEL Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: DB-25 female Port Type: Parallel Port PS/2 Handle 0x0801, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: SERIAL1 Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: DB-9 male Port Type: Serial Port 16550A Compatible Handle 0x0803, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: PS/2 Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: Mini DIN Port Type: Mouse Port Handle 0x0804, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: USB Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0805, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: USB Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0806, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: MONITOR Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: DB-15 female Port Type: Video Port Handle 0x0808, DMI type 126, 9 bytes Inactive Handle 0x080A, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: S-Video Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: Mini DIN Port Type: Video Port Handle 0x080B, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: FireWire Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: IEEE 1394 Port Type: Firewire (IEEE P1394) Handle 0x080C, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Modem Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: RJ-11 Port Type: Modem Port Handle 0x080D, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Ethernet Internal Connector Type: None External Reference Designator: Not Specified External Connector Type: RJ-45 Port Type: Network Port Handle 0x0900, DMI type 9, 13 bytes System Slot Information Designation: PCMCIA 0 Type: 32-bit PC Card (PCMCIA) Current Usage: Available Length: Other ID: Adapter 0, Socket 0 Characteristics: 5.0 V is provided 3.3 V is provided PC Card-16 is supported Cardbus is supported Zoom Video is supported Modem ring resume is supported Handle 0x0902, DMI type 126, 13 bytes Inactive Handle 0x0A00, DMI type 10, 6 bytes On Board Device Information Type: Video Status: Enabled Description: Quadro NVS 140M Handle 0x0A01, DMI type 10, 6 bytes On Board Device Information Type: Sound Status: Enabled Description: Sigmatel 9205 Handle 0x0B00, DMI type 11, 5 bytes OEM Strings String 1: Dell System String 2: 5[0003] String 3: 13[PP04X] Handle 0x0D00, DMI type 13, 22 bytes BIOS Language Information Language Description Format: Long Installable Languages: 1 en|US|iso8859-1 Currently Installed Language: en|US|iso8859-1 Handle 0x1000, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 4 GB Error Information Handle: Not Provided Number Of Devices: 2 Handle 0x1100, DMI type 17, 27 bytes Memory Device Array Handle: 0x1000 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM Set: None Locator: DIMM_A Bank Locator: Not Specified Type: DDR Type Detail: Synchronous Speed: 667 MHz Manufacturer: 4000000000000000 Serial Number: 182C368B Asset Tag: 000909 Part Number: V916765G24QCFW-F5 Handle 0x1101, DMI type 17, 27 bytes Memory Device Array Handle: 0x1000 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM Set: None Locator: DIMM_B Bank Locator: Not Specified Type: DDR Type Detail: Synchronous Speed: 667 MHz Manufacturer: AD00000000000000 Serial Number: 00007108 Asset Tag: 420640 Part Number: HYMP512S64CP8-Y5 Handle 0x1301, DMI type 19, 15 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0007FFFFFFF Range Size: 2 GB Physical Array Handle: 0x1000 Partition Width: 1 Handle 0x1401, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0007FFFFFFF Range Size: 2 GB Physical Device Handle: 0x1100 Memory Array Mapped Address Handle: 0x1301 Partition Row Position: 1 Interleave Position: 1 Interleaved Data Depth: 8 Handle 0x1411, DMI type 126, 19 bytes Inactive Handle 0x1402, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0007FFFFFFF Range Size: 2 GB Physical Device Handle: 0x1101 Memory Array Mapped Address Handle: 0x1301 Partition Row Position: 1 Interleave Position: 2 Interleaved Data Depth: 8 Handle 0x1412, DMI type 126, 19 bytes Inactive Handle 0x1500, DMI type 21, 7 bytes Built-in Pointing Device Type: Touch Pad Interface: Bus Mouse Buttons: 2 Handle 0x1600, DMI type 22, 26 bytes Portable Battery Location: Sys. Battery Bay Manufacturer: Sanyo Name: DELL WN97192 Design Capacity: 78000 mWh Design Voltage: 11100 mV SBDS Version: 1.0 Maximum Error: 5% SBDS Serial Number: 012B SBDS Manufacture Date: 2009-02-02 SBDS Chemistry: LION OEM-specific Information: 0x00000001 Handle 0x1601, DMI type 126, 26 bytes Inactive Handle 0x1602, DMI type 126, 26 bytes Inactive Handle 0x1B00, DMI type 27, 12 bytes Cooling Device Type: Fan Status: OK OEM-specific Information: 0x0000DD00 Handle 0x1C00, DMI type 28, 20 bytes Temperature Probe Description: CPU Internal Temperature Location: Processor Status: OK Maximum Value: 127.0 deg C Minimum Value: 0.0 deg C Resolution: 1.000 deg C Tolerance: 0.5 deg C Accuracy: Unknown OEM-specific Information: 0x0000DC00 Handle 0x2000, DMI type 32, 11 bytes System Boot Information Status: No errors detected Handle 0xB000, DMI type 176, 5 bytes OEM-specific Type Header and Data: B0 05 00 B0 31 Handle 0xB100, DMI type 177, 12 bytes OEM-specific Type Header and Data: B1 0C 00 B1 07 00 00 00 00 00 00 00 Handle 0xB200, DMI type 178, 6 bytes OEM-specific Type Header and Data: B2 06 00 B2 99 99 Handle 0xD000, DMI type 208, 10 bytes OEM-specific Type Header and Data: D0 0A 00 D0 01 04 FE 00 FE 01 Handle 0xD100, DMI type 209, 12 bytes OEM-specific Type Header and Data: D1 0C 00 D1 00 00 00 03 04 07 80 05 Handle 0xD200, DMI type 210, 12 bytes OEM-specific Type Header and Data: D2 0C 00 D2 F8 03 04 03 06 80 04 05 Handle 0xD800, DMI type 216, 9 bytes OEM-specific Type Header and Data: D8 09 00 D8 01 03 01 F0 03 Strings: NVidia Corp. 060.086.068.000.017.000 Handle 0xD900, DMI type 217, 8 bytes OEM-specific Type Header and Data: D9 08 00 D9 01 02 01 03 Strings: US-101 Proprietary Handle 0xDB00, DMI type 219, 9 bytes OEM-specific Type Header and Data: DB 09 00 DB 03 01 02 03 FF Strings: System Device Bay Floppy, Battery, CD-ROM, CD-RW, DVD, DVD+RW, DVD+/-RW, Hard Disk, BLU-RAY DVD+/-RW Handle 0xDB01, DMI type 219, 9 bytes OEM-specific Type Header and Data: DB 09 01 DB 03 01 02 03 FF Strings: System DBay Floppy, CD-ROM, CD-RW, DVD, DVD+RW, DVD+/-RW, Hard Disk EMPTY Handle 0xDB80, DMI type 126, 9 bytes Inactive Handle 0xDB81, DMI type 219, 9 bytes OEM-specific Type Header and Data: DB 09 81 DB 03 01 02 03 FF Strings: Dock DBay Floppy, CD-ROM, CD-RW, DVD, DVD+RW, DVD+/-RW, Hard Disk EMPTY Handle 0x8100, DMI type 129, 8 bytes OEM-specific Type Header and Data: 81 08 00 81 01 01 02 01 Strings: Intel_ASF Dell_ASF_001 Handle 0xDC00, DMI type 220, 22 bytes OEM-specific Type Header and Data: DC 16 00 DC 01 F0 00 00 02 F0 00 00 00 00 03 F0 04 F0 00 00 00 00 Handle 0xDD00, DMI type 221, 19 bytes OEM-specific Type Header and Data: DD 13 00 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Handle 0xD400, DMI type 212, 57 bytes OEM-specific Type Header and Data: D4 39 00 D4 74 00 75 00 00 10 2D 2E 5C 00 78 BF 40 5D 00 78 BF 00 28 01 48 FE 01 29 01 48 FE 00 2D 01 1D EF 10 2E 01 1D EF 00 08 00 1D DF 00 03 00 1D DF 00 FF FF 00 00 00 Handle 0xD401, DMI type 212, 17 bytes OEM-specific Type Header and Data: D4 11 01 D4 74 00 75 00 03 40 49 4A FF FF 00 00 00 Handle 0xDE00, DMI type 222, 16 bytes OEM-specific Type Header and Data: DE 10 00 DE 01 02 FF FF 00 00 00 00 00 00 00 01 Handle 0x7F00, DMI type 127, 4 bytes End Of Table -------------- next part -------------- flashrom v0.9.6.1-r1563 on Linux 3.13.0-72-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian Command line (3 args): flashrom -p internal:laptop=force_I_want_a_brick -V Calibrating delay loop... OS timer resolution is 2 usecs, 2291M loops per second, 10 myus = 11 us, 100 myus = 97 us, 1000 myus = 958 us, 10000 myus = 9631 us, 8 myus = 9 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Dell Inc." DMI string system-product-name: "Latitude D830 " DMI string system-version: "Not Specified" DMI string baseboard-manufacturer: "Dell Inc." DMI string baseboard-product-name: " " DMI string baseboard-version: " " DMI string chassis-type: "Portable" Laptop detected via DMI. Found chipset "Intel ICH8M" with PCI ID 8086:2815. Enabling flash write... 0xfff80000/0xffb80000 FWH IDSEL: 0x0 0xfff00000/0xffb00000 FWH IDSEL: 0x0 0xffe80000/0xffa80000 FWH IDSEL: 0x0 0xffe00000/0xffa00000 FWH IDSEL: 0x0 0xffd80000/0xff980000 FWH IDSEL: 0x0 0xffd00000/0xff900000 FWH IDSEL: 0x0 0xffc80000/0xff880000 FWH IDSEL: 0x0 0xffc00000/0xff800000 FWH IDSEL: 0x0 0xff700000/0xff300000 FWH IDSEL: 0x0 0xff600000/0xff200000 FWH IDSEL: 0x0 0xff500000/0xff100000 FWH IDSEL: 0x0 0xff400000/0xff000000 FWH IDSEL: 0x0 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: 0x200000 bytes BIOS Lock Enable: enabled, BIOS Write Enable: disabled, BIOS_CNTL is 0xa WARNING: Setting 0xdc from 0xa to 0xb on ICH8M failed. New value is 0xa. Root Complex Register Block address = 0xfed18000 GCS = 0x460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed18000 + 0x3020 0x04: 0x2000 (HSFS) HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=0, SCIP=0, FDOPSS=1, FDV=0, FLOCKDN=0 Programming OPCODES... done 0x08: 0x00000000 (FADDR) 0x90: 0x04 (SSFS) SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0 0x91: 0x004140 (SSFC) SSFC: SCGO=0, ACS=0, SPOP=0, COP=4, DBC=1, SME=0, SCF=0 0x94: 0x5006 (PREOP) 0x96: 0x463b (OPTYPE) 0x98: 0x05d80302 (OPMENU) 0x9C: 0xc79f0190 (OPMENU+4) 0xA0: 0x00000000 (BBAR) SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway The following protocols are supported: FWH, SPI. Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Chip status register is 00 Found Spansion flash chip "S25FL016A" (2048 kB, SPI) at physical address 0xffe00000. Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x14, id2 0x14 Probing for SST SST25LF080A, 1024 kB: probe_spi_res2: id1 0x14, id2 0x14 Probing for SST SST25VF010, 128 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF040, 512 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF040B.REMS, 512 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID. Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID. Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID. Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Unknown SFDP-capable chip, 0 kB: No SFDP signature found. Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, 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 0xff, id2 0xff, id1 parity violation, 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 0xff, id2 0xff, id1 parity violation, 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: 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 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW016, 2048 kB: 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 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 0xff, id2 0xff, 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Found Spansion flash chip "S25FL016A" (2048 kB, SPI). === This flash part has status UNTESTED for operations: 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 at 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! No operations were specified. Restoring MMIO space at 0xb773b0bc Restoring MMIO space at 0xb773b0b8 Restoring MMIO space at 0xb773b0b6 Restoring MMIO space at 0xb773b0b4 Restoring PCI config space for 00:1f:0 reg 0xdc -------------- next part -------------- flashrom v0.9.6.1-r1563 on Linux 3.13.0-72-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian Command line (4 args): flashrom -p internal:laptop=force_I_want_a_brick -Vr D830_A17_read.rom Calibrating delay loop... OS timer resolution is 10 usecs, 2375M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 994 us, 10000 myus = 10003 us, 40 myus = 40 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Dell Inc." DMI string system-product-name: "Latitude D830 " DMI string system-version: "Not Specified" DMI string baseboard-manufacturer: "Dell Inc." DMI string baseboard-product-name: " " DMI string baseboard-version: " " DMI string chassis-type: "Portable" Laptop detected via DMI. Found chipset "Intel ICH8M" with PCI ID 8086:2815. Enabling flash write... 0xfff80000/0xffb80000 FWH IDSEL: 0x0 0xfff00000/0xffb00000 FWH IDSEL: 0x0 0xffe80000/0xffa80000 FWH IDSEL: 0x0 0xffe00000/0xffa00000 FWH IDSEL: 0x0 0xffd80000/0xff980000 FWH IDSEL: 0x0 0xffd00000/0xff900000 FWH IDSEL: 0x0 0xffc80000/0xff880000 FWH IDSEL: 0x0 0xffc00000/0xff800000 FWH IDSEL: 0x0 0xff700000/0xff300000 FWH IDSEL: 0x0 0xff600000/0xff200000 FWH IDSEL: 0x0 0xff500000/0xff100000 FWH IDSEL: 0x0 0xff400000/0xff000000 FWH IDSEL: 0x0 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: 0x200000 bytes BIOS Lock Enable: enabled, BIOS Write Enable: disabled, BIOS_CNTL is 0xa WARNING: Setting 0xdc from 0xa to 0xb on ICH8M failed. New value is 0xa. Root Complex Register Block address = 0xfed18000 GCS = 0x460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed18000 + 0x3020 0x04: 0x2000 (HSFS) HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=0, SCIP=0, FDOPSS=1, FDV=0, FLOCKDN=0 Programming OPCODES... done 0x08: 0x001fffc0 (FADDR) 0x90: 0x04 (SSFS) SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0 0x91: 0x007f10 (SSFC) SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=63, SME=0, SCF=0 0x94: 0x5006 (PREOP) 0x96: 0x463b (OPTYPE) 0x98: 0x05d80302 (OPMENU) 0x9C: 0xc79f0190 (OPMENU+4) 0xA0: 0x00000000 (BBAR) SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway The following protocols are supported: FWH, SPI. Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Chip status register is 00 Found Spansion flash chip "S25FL016A" (2048 kB, SPI) at physical address 0xffe00000. Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x14, id2 0x14 Probing for SST SST25LF080A, 1024 kB: probe_spi_res2: id1 0x14, id2 0x14 Probing for SST SST25VF010, 128 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF040, 512 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF040B.REMS, 512 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID. Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID. Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID. Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Unknown SFDP-capable chip, 0 kB: No SFDP signature found. Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, 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 0xff, id2 0xff, id1 parity violation, 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 0xff, id2 0xff, id1 parity violation, 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: 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 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW016, 2048 kB: 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 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 0xff, id2 0xff, 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Found Spansion flash chip "S25FL016A" (2048 kB, SPI). === This flash part has status UNTESTED for operations: 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 at 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! Reading flash... done. Restoring MMIO space at 0xb77890bc Restoring MMIO space at 0xb77890b8 Restoring MMIO space at 0xb77890b6 Restoring MMIO space at 0xb77890b4 Restoring PCI config space for 00:1f:0 reg 0xdc -------------- next part -------------- flashrom v0.9.6.1-r1563 on Linux 3.13.0-72-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian Command line (4 args): flashrom -p internal:laptop=force_I_want_a_brick -Vw D830_A17.rom Calibrating delay loop... OS timer resolution is 2 usecs, 2376M loops per second, 10 myus = 12 us, 100 myus = 101 us, 1000 myus = 1002 us, 10000 myus = 10055 us, 8 myus = 9 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Dell Inc." DMI string system-product-name: "Latitude D830 " DMI string system-version: "Not Specified" DMI string baseboard-manufacturer: "Dell Inc." DMI string baseboard-product-name: " " DMI string baseboard-version: " " DMI string chassis-type: "Portable" Laptop detected via DMI. Found chipset "Intel ICH8M" with PCI ID 8086:2815. Enabling flash write... 0xfff80000/0xffb80000 FWH IDSEL: 0x0 0xfff00000/0xffb00000 FWH IDSEL: 0x0 0xffe80000/0xffa80000 FWH IDSEL: 0x0 0xffe00000/0xffa00000 FWH IDSEL: 0x0 0xffd80000/0xff980000 FWH IDSEL: 0x0 0xffd00000/0xff900000 FWH IDSEL: 0x0 0xffc80000/0xff880000 FWH IDSEL: 0x0 0xffc00000/0xff800000 FWH IDSEL: 0x0 0xff700000/0xff300000 FWH IDSEL: 0x0 0xff600000/0xff200000 FWH IDSEL: 0x0 0xff500000/0xff100000 FWH IDSEL: 0x0 0xff400000/0xff000000 FWH IDSEL: 0x0 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: 0x200000 bytes BIOS Lock Enable: enabled, BIOS Write Enable: disabled, BIOS_CNTL is 0xa WARNING: Setting 0xdc from 0xa to 0xb on ICH8M failed. New value is 0xa. Root Complex Register Block address = 0xfed18000 GCS = 0x460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed18000 + 0x3020 0x04: 0x2000 (HSFS) HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=0, SCIP=0, FDOPSS=1, FDV=0, FLOCKDN=0 Programming OPCODES... done 0x08: 0x001fffc0 (FADDR) 0x90: 0x04 (SSFS) SSFS: SCIP=0, FDONE=1, FCERR=0, AEL=0 0x91: 0x007f10 (SSFC) SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=63, SME=0, SCF=0 0x94: 0x5006 (PREOP) 0x96: 0x463b (OPTYPE) 0x98: 0x05d80302 (OPMENU) 0x9C: 0xc79f0190 (OPMENU+4) 0xA0: 0x00000000 (BBAR) SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway The following protocols are supported: FWH, SPI. Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Chip status register is 00 Found Spansion flash chip "S25FL016A" (2048 kB, SPI) at physical address 0xffe00000. Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x14, id2 0x14 Probing for SST SST25LF080A, 1024 kB: probe_spi_res2: id1 0x14, id2 0x14 Probing for SST SST25VF010, 128 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF040, 512 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST SST25VF040B.REMS, 512 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID. Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID. Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID. Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Unknown SFDP-capable chip, 0 kB: No SFDP signature found. Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0x01, id2 0x214 Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0xff, id2 0xff Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, 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 0xff, id2 0xff, id1 parity violation, 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 0xff, id2 0xff, id1 parity violation, 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: 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 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW016, 2048 kB: 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 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 0xff, id2 0xff, 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 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Found Spansion flash chip "S25FL016A" (2048 kB, SPI). === This flash part has status UNTESTED for operations: 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 at 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! 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-0x00ffff:S, 0x010000-0x01ffff:S, 0x020000-0x02ffff:S, 0x030000-0x03ffff:S, 0x040000-0x04ffff:S, 0x050000-0x05ffff:S, 0x060000-0x06ffff:S, 0x070000-0x07ffff:S, 0x080000-0x08ffff:S, 0x090000-0x09ffff:S, 0x0a0000-0x0affff:S, 0x0b0000-0x0bffff:S, 0x0c0000-0x0cffff:S, 0x0d0000-0x0dffff:S, 0x0e0000-0x0effff:S, 0x0f0000-0x0fffff:S, 0x100000-0x10ffff:S, 0x110000-0x11ffff:S, 0x120000-0x12ffff:S, 0x130000-0x13ffff:S, 0x140000-0x14ffff:S, 0x150000-0x15ffff:S, 0x160000-0x16ffff:S, 0x170000-0x17ffff:S, 0x180000-0x18ffff:S, 0x190000-0x19ffff:S, 0x1a0000-0x1affff:S, 0x1b0000-0x1bffff:S, 0x1c0000-0x1cffff:S, 0x1d0000-0x1dffff:S, 0x1e0000-0x1effff:S, 0x1f0000-0x1fffff:S Erase/write done. Verifying flash... VERIFIED. Restoring MMIO space at 0xb77420bc Restoring MMIO space at 0xb77420b8 Restoring MMIO space at 0xb77420b6 Restoring MMIO space at 0xb77420b4 Restoring PCI config space for 00:1f:0 reg 0xdc From c-d.hailfinger.devel.2006 at gmx.net Tue Dec 15 00:37:00 2015 From: c-d.hailfinger.devel.2006 at gmx.net (Carl-Daniel Hailfinger) Date: Tue, 15 Dec 2015 00:37:00 +0100 Subject: [flashrom] Fwd: Your stand proposal for FOSDEM 2016 has been accepted In-Reply-To: <20151214195515.C04A3CB582@mailhost.gletsjer.net> References: <20151214195515.C04A3CB582@mailhost.gletsjer.net> Message-ID: <566F529C.2000600@gmx.net> Hello everyone, let's make this our best FOSDEM stand presence ever! https://www.coreboot.org/FOSDEM_2016 Please fill in https://www.coreboot.org/Talk:FOSDEM_2016 if you're coming. Regards, Carl-Daniel -------- Forwarded Message -------- From: FOSDEM Stands Team To: Carl-Daniel Subject: Your stand proposal for FOSDEM 2016 has been accepted Message-Id: <20151214195515.C04A3CB582 at mailhost.gletsjer.net> Date: Mon, 14 Dec 2015 20:54:56 +0100 (CET) Hi Carl-Daniel, The FOSDEM stands team is glad to be able to inform you that your request for a stand for 'coreboot_flashrom' has been accepted. There will be two tables reserved for you. Like most years, we received roughly twice as many requests for stands as we have tables available. We have aimed to grant as many requests as feasible and to increase the diversity of the accepted stands. Because of this, we have unfortunately had to reduce the space available for a number of regular attendees, as well as reject some projects that have been present in previous years years. You will receive further information about what's expected of you closer to the event date. Looking forward to seeing you at FOSDEM 2016! Kind regards, Wynke Stulemeijer FOSDEM stands team From stefan.tauner at alumni.tuwien.ac.at Wed Dec 16 01:00:15 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Wed, 16 Dec 2015 01:00:15 +0100 Subject: [flashrom] [PATCH] Detect Android target OS. Message-ID: <1450224015-9654-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> No other changes are required to build flashrom (excluding programmers with NEED_PCI) on Android. Signed-off-by: Stefan Tauner --- os.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/os.h b/os.h index 2e6dbaa..e5f72e4 100644 --- a/os.h +++ b/os.h @@ -58,6 +58,11 @@ #define __FLASHROM_OS__ "libpayload" // Linux #elif defined(__linux__) -#define __FLASHROM_OS__ "Linux" + // There are various flags in use on Android apparently. __ANDROID__ seems to be the most trustworthy. + #if defined(__ANDROID__) + #define __FLASHROM_OS__ "Android" + #else + #define __FLASHROM_OS__ "Linux" + #endif #endif __FLASHROM_OS__ -- Kind regards, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 17 01:02:08 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 17 Dec 2015 01:02:08 +0100 Subject: [flashrom] [PATCH] Rigorously check integrity of I/O stream data. In-Reply-To: References: <201511221736.tAMHaEx4025379@mail2.student.tuwien.ac.at> <1448214202-22369-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> Message-ID: <201512170002.tBH028Et015803@mail2.student.tuwien.ac.at> On Sun, 29 Nov 2015 17:40:06 +0200 Urja Rannikko wrote: > Hi, > > On Sun, Nov 22, 2015 at 7:43 PM, Stefan Tauner > > @@ -1255,36 +1256,39 @@ int read_buf_from_file(unsigned char *buf, unsigned long size, > > [?] > > +out: > > + if (fclose(image)) { > > + msg_gerr("Error: closing file \"%s\" failed: %s\n", filename, strerror(errno)); > > + ret = 1; > > + } > > + return ret; > > #endif > > } > Why do this goto stuff and fclose fail reporting to read_buf_from_file? > I'd suggest same handling as below for layout files etc (= (void)fclose()). > > If you fix that (or convince me that you want to print reading fclose > failure), this is acked by me. > Fair enough... I'd rather convert all of them to report errors but I agree that consistency is important, and the checking for errors in that case is highly debatable anyway... so I have void-casted this one and then discovered that fsync is not implemented in MinGW :( I have #if-guarded the respective part in the attached patch. This however does not commit the file as we intend to on Windows. OTOH just fsync()ing on Unix does not provide 100% certainty either so I think this should still get in because it is a clear improvement. It builds fine one the build bot (where expected). -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Rigorously-check-integrity-of-I-O-stream-data.patch Type: text/x-patch Size: 6329 bytes Desc: not available URL: From rpaulo at me.com Thu Dec 17 08:25:17 2015 From: rpaulo at me.com (Rui Paulo) Date: Wed, 16 Dec 2015 23:25:17 -0800 Subject: [flashrom] FAILED: Lenovo X1 (2015) Message-ID: <1450337117.2348.3.camel@me.com> Hi, I tried to dump the BIOS on my Lenovo X1 using flashrom and it didn't work. ?I'm using flashrom from svn trunk. ?Any ideas? flashrom v0.9.8-r1901 on Linux 4.2.0-1-amd64 (x86_64) flashrom is free software, get the source code at http://www.flashrom.o rg flashrom was built with libpci 3.3.1, GCC 5.2.1 20151028, little endian Command line (6 args): ./flashrom -VVp internal -c MX25L12805D --read a.rom Calibrating delay loop... OS timer resolution is 1 usecs, 2883M loops per second, 10 myus = 10 us, 100 myus = 122 us, 1000 myus = 1018 us, 10000 myus = 10335 us, 4 myus = 15 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. No DMI table found. W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect. Active config mode, unknown reg 0x20 ID: 00. Please send the output of "flashrom -V -p internal" to flashrom at flashrom.org with W836xx: your board name: flashrom -V as the subject to help us finish support for your Super I/O. Thanks. Found chipset "Intel Broadwell U Premium" with PCI ID 8086:9cc3. This chipset is marked as untested. If you are using an up-to-date version of flashrom *and* were (not) able to successfully update your firmware with it, then please email a report to flashrom at flashrom.org including a verbose (-V) log. Thank you! Enabling flash write... Root Complex Register Block address = 0xfed1c000 GCS = 0x21: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x0 (LPC) Top Swap: not enabled 0xfff80000/0xffb80000 FWH IDSEL: 0x0 0xfff00000/0xffb00000 FWH IDSEL: 0x0 0xffe80000/0xffa80000 FWH IDSEL: 0x1 0xffe00000/0xffa00000 FWH IDSEL: 0x1 0xffd80000/0xff980000 FWH IDSEL: 0x2 0xffd00000/0xff900000 FWH IDSEL: 0x2 0xffc80000/0xff880000 FWH IDSEL: 0x3 0xffc00000/0xff800000 FWH IDSEL: 0x3 0xff700000/0xff300000 FWH IDSEL: 0x4 0xff600000/0xff200000 FWH IDSEL: 0x5 0xff500000/0xff100000 FWH IDSEL: 0x6 0xff400000/0xff000000 FWH IDSEL: 0x7 0xfff80000/0xffb80000 FWH decode enabled 0xfff00000/0xffb00000 FWH decode enabled 0xffe80000/0xffa80000 FWH decode enabled 0xffe00000/0xffa00000 FWH decode enabled 0xffd80000/0xff980000 FWH decode enabled 0xffd00000/0xff900000 FWH decode enabled 0xffc80000/0xff880000 FWH decode enabled 0xffc00000/0xff800000 FWH decode enabled 0xff700000/0xff300000 FWH decode enabled 0xff600000/0xff200000 FWH decode enabled 0xff500000/0xff100000 FWH decode enabled 0xff400000/0xff000000 FWH decode enabled Maximum FWH chip size: 0x100000 bytes SPI Read Configuration: prefetching enabled, caching enabled, BIOS_CNTL = 0x2a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled Warning: BIOS region SMM protection is enabled! Warning: Setting Bios Control at 0xdc from 0x2a to 0x09 failed. New value is 0x2a. SPIBAR = 0x00007f030f57a000 + 0x3800 0x04: 0xe008 (HSFS) HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1 Warning: SPI Configuration Lockdown activated. Reading OPCODES... done ????????OP????????Type??????Pre-OP op[0]: 0x5a, read??w/o addr, none op[1]: 0x9f, read??w/o addr, none op[2]: 0x05, read??w/o addr, none op[3]: 0x01, write w/o addr, none op[4]: 0x03, read??w/??addr, none op[5]: 0x15, read??w/o addr, none op[6]: 0xff, read??w/o addr, none op[7]: 0xff, read??w/o addr, none Pre-OP 0: 0x06, Pre-OP 1: 0x06 0x06: 0x0004 (HSFC) HSFC: FGO=0, FCYCLE=2, FDBC=0, SME=0 0x08: 0x00003000 (FADDR) 0x50: 0x00004a4b (FRAP) BMWAG 0x00, BMRAG 0x00, BRWA 0x4a, BRRA 0x4b 0x54: 0x00000000 FREG0: Warning: Flash Descriptor region (0x00000000- 0x00000fff) is read-only. 0x58: 0x0fff0500 FREG1: BIOS region (0x00500000-0x00ffffff) is read- write. 0x5C: 0x04ff0003 FREG2: Warning: Management Engine region (0x00003000- 0x004fffff) is locked. 0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is read-write. 0x64: 0x00007fff FREG4: Platform Data region is unused. Not all flash regions are freely accessible by flashrom. This is most likely due to an active ME. Please see http://flashrom.org/ME for details. 0x74: 0x00000000 (PR0 is unused) 0x78: 0x8fff0eb0 PR1: Warning: 0x00eb0000-0x00ffffff is read-only. 0x7C: 0x8e2f0df1 PR2: Warning: 0x00df1000-0x00e2ffff is read-only. 0x80: 0x8df00df0 PR3: Warning: 0x00df0000-0x00df0fff is read-only. 0x84: 0x8def0a00 PR4: Warning: 0x00a00000-0x00deffff is read-only. Writes have been disabled for safety reasons. You can enforce write support with the ich_spi_force programmer option, but you will most likely harm your hardware! If you force flashrom you will get no support if something breaks. On a few mainboards it is possible to enable write access by setting a jumper (see its documentation or the board itself). 0x90: 0xc4 (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: 0x0606?????(PREOP) 0x96: 0x0240?????(OPTYPE) 0x98: 0x01059f5a (OPMENU) 0x9C: 0xffff1503 (OPMENU+4) 0xA0: 0x00000000 (BBAR) 0xC4: 0x80802045 (LVSCC) LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1 0xC8: 0x00002045 (UVSCC) UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20 0xD0: 0x50444653 (FPB) Reading flash descriptors mapped by the chipset via FDOC/FDOD... done. === Content Section === FLVALSIG 0x0ff0a55a FLMAP0???0x03040003 FLMAP1???0x15100206 FLMAP2???0x00210120 --- Details --- NR??????????(Number of Regions):?????????????????????4 FRBA????????(Flash Region Base Address):?????????0x040 NC??????????(Number of Components):??????????????????1 FCBA????????(Flash Component Base Address):??????0x030 ISL?????????(ICH/PCH Strap Length):?????????????????21 FISBA/FPSBA (Flash ICH/PCH Strap Base Address):??0x100 NM??????????(Number of Masters):?????????????????????3 FMBA????????(Flash Master Base Address):?????????0x060 MSL/PSL?????(MCH/PROC Strap Length):?????????????????1 FMSBA???????(Flash MCH/PROC Strap Base Address): 0x200 === Component Section === FLCOMP???0x49900045 FLILL????0xad604221 --- Details --- Component 1 density:????????????16 MB Component 2 is not used. Read Clock Frequency:???????????20 MHz Read ID and Status Clock Freq.: 33 MHz Write and Erase Clock Freq.:????33 MHz Fast Read is supported. Fast Read Clock Frequency:??????50 MHz Dual Output Fast Read Support:??disabled Invalid instruction 0:??????????0x21 Invalid instruction 1:??????????0x42 Invalid instruction 2:??????????0x60 Invalid instruction 3:??????????0xad === Region Section === FLREG0???0x00000000 FLREG1???0x0fff0500 FLREG2???0x04ff0003 FLREG3???0x00020001 FLREG4???0x00007fff --- Details --- Region 0 (Descr.) 0x00000000 - 0x00000fff Region 1 (BIOS??) 0x00500000 - 0x00ffffff Region 2 (ME????) 0x00003000 - 0x004fffff Region 3 (GbE???) 0x00001000 - 0x00002fff Region 4 (Platf.) is unused. === Master Section === FLMSTR1??0x0a0b0000 FLMSTR2??0x0c0d0000 FLMSTR3??0x08080118 --- Details --- ??????Descr. BIOS ME GbE Platf. BIOS????r?????rw??????rw????? ME??????r?????????rw??rw????? GbE???????????????????rw????? PROBLEMS, continuing anyway The following protocols are supported: FWH, SPI. Probing for Macronix MX25L12805D, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2018 Found Macronix flash chip "MX25L12805D" (16384 kB, SPI) mapped at physical address 0x00000000ff000000. Chip status register is 0x40. Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set Chip status register: Bit 6 is set Chip status register: Block Protect 3 (BP3) is not set Chip status register: Block Protect 2 (BP2) is not set Chip status register: Block Protect 1 (BP1) is not set Chip status register: Block Protect 0 (BP0) is not set Chip status register: Write Enable Latch (WEL) is not set Chip status register: Write In Progress (WIP/BUSY) is not set This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Block protection is disabled. Reading flash... Transaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=0, SPOP=0, COP=4, DBC=63, SME=0, SCF=4 Running OPCODE 0x03 failed at address 0x003000 (payload length was 64). Read operation failed! FAILED. Restoring MMIO space at 0x7f030f57d8a0 Restoring PCI config space for 00:1f:0 reg 0xdc -- Rui Paulo From anton.kochkov at gmail.com Thu Dec 17 11:08:56 2015 From: anton.kochkov at gmail.com (=?UTF-8?B?0JDQvdGC0L7QvSDQmtC+0YfQutC+0LI=?=) Date: Thu, 17 Dec 2015 13:08:56 +0300 Subject: [flashrom] FAILED: Lenovo X1 (2015) In-Reply-To: <1450337117.2348.3.camel@me.com> References: <1450337117.2348.3.camel@me.com> Message-ID: Hello! Mainstream flashrom currently not yet merged patches, adding support of reading layout. Because ME region usually not readable not from ME itself, it should be skipped, so using layout file, in your case: # flashrom layout v2 0x00000000:0x00000fff descr 0x00500000:0x00ffffff BIOS 0x00003000:0x004fffff ME 0x00001000:0x00002fff GbE And using flashrom with my patches should help: https://github.com/XVilka/flashrom/tree/layout_descriptor Some of the patches are still 'dirty' but should work - I've checked them on a bunch of hardware. you need to run it like: flashrom -V -p internal -l this_file.layout -i BIOS -r bios_dump.bin Kind regards, Anton Kochkov. On Thu, Dec 17, 2015 at 10:25 AM, Rui Paulo wrote: > Hi, > > I tried to dump the BIOS on my Lenovo X1 using flashrom and it didn't > work. I'm using flashrom from svn trunk. Any ideas? > > flashrom v0.9.8-r1901 on Linux 4.2.0-1-amd64 (x86_64) > flashrom is free software, get the source code at http://www.flashrom.o > rg > > flashrom was built with libpci 3.3.1, GCC 5.2.1 20151028, little endian > Command line (6 args): ./flashrom -VVp internal -c MX25L12805D --read > a.rom > Calibrating delay loop... OS timer resolution is 1 usecs, 2883M loops > per second, 10 myus = 10 us, 100 myus = 122 us, 1000 myus = 1018 us, > 10000 myus = 10335 us, 4 myus = 15 us, OK. > Initializing internal programmer > No coreboot table found. > Using Internal DMI decoder. > No DMI table found. > W836xx enter config mode worked or we were already in config mode. > W836xx leave config mode had no effect. > Active config mode, unknown reg 0x20 ID: 00. > Please send the output of "flashrom -V -p internal" to > flashrom at flashrom.org with W836xx: your board name: flashrom -V > as the subject to help us finish support for your Super I/O. Thanks. > Found chipset "Intel Broadwell U Premium" with PCI ID 8086:9cc3. > This chipset is marked as untested. If you are using an up-to-date > version > of flashrom *and* were (not) able to successfully update your firmware > with it, > then please email a report to flashrom at flashrom.org including a verbose > (-V) log. > Thank you! > Enabling flash write... Root Complex Register Block address = > 0xfed1c000 > GCS = 0x21: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x0 > (LPC) > Top Swap: not enabled > 0xfff80000/0xffb80000 FWH IDSEL: 0x0 > 0xfff00000/0xffb00000 FWH IDSEL: 0x0 > 0xffe80000/0xffa80000 FWH IDSEL: 0x1 > 0xffe00000/0xffa00000 FWH IDSEL: 0x1 > 0xffd80000/0xff980000 FWH IDSEL: 0x2 > 0xffd00000/0xff900000 FWH IDSEL: 0x2 > 0xffc80000/0xff880000 FWH IDSEL: 0x3 > 0xffc00000/0xff800000 FWH IDSEL: 0x3 > 0xff700000/0xff300000 FWH IDSEL: 0x4 > 0xff600000/0xff200000 FWH IDSEL: 0x5 > 0xff500000/0xff100000 FWH IDSEL: 0x6 > 0xff400000/0xff000000 FWH IDSEL: 0x7 > 0xfff80000/0xffb80000 FWH decode enabled > 0xfff00000/0xffb00000 FWH decode enabled > 0xffe80000/0xffa80000 FWH decode enabled > 0xffe00000/0xffa00000 FWH decode enabled > 0xffd80000/0xff980000 FWH decode enabled > 0xffd00000/0xff900000 FWH decode enabled > 0xffc80000/0xff880000 FWH decode enabled > 0xffc00000/0xff800000 FWH decode enabled > 0xff700000/0xff300000 FWH decode enabled > 0xff600000/0xff200000 FWH decode enabled > 0xff500000/0xff100000 FWH decode enabled > 0xff400000/0xff000000 FWH decode enabled > Maximum FWH chip size: 0x100000 bytes > SPI Read Configuration: prefetching enabled, caching enabled, > BIOS_CNTL = 0x2a: BIOS Lock Enable: enabled, BIOS Write Enable: > disabled > Warning: BIOS region SMM protection is enabled! > Warning: Setting Bios Control at 0xdc from 0x2a to 0x09 failed. > New value is 0x2a. > SPIBAR = 0x00007f030f57a000 + 0x3800 > 0x04: 0xe008 (HSFS) > HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, > FLOCKDN=1 > Warning: SPI Configuration Lockdown activated. > Reading OPCODES... done > OP Type Pre-OP > op[0]: 0x5a, read w/o addr, none > op[1]: 0x9f, read w/o addr, none > op[2]: 0x05, read w/o addr, none > op[3]: 0x01, write w/o addr, none > op[4]: 0x03, read w/ addr, none > op[5]: 0x15, read w/o addr, none > op[6]: 0xff, read w/o addr, none > op[7]: 0xff, read w/o addr, none > Pre-OP 0: 0x06, Pre-OP 1: 0x06 > 0x06: 0x0004 (HSFC) > HSFC: FGO=0, FCYCLE=2, FDBC=0, SME=0 > 0x08: 0x00003000 (FADDR) > 0x50: 0x00004a4b (FRAP) > BMWAG 0x00, BMRAG 0x00, BRWA 0x4a, BRRA 0x4b > 0x54: 0x00000000 FREG0: Warning: Flash Descriptor region (0x00000000- > 0x00000fff) is read-only. > 0x58: 0x0fff0500 FREG1: BIOS region (0x00500000-0x00ffffff) is read- > write. > 0x5C: 0x04ff0003 FREG2: Warning: Management Engine region (0x00003000- > 0x004fffff) is locked. > 0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) > is read-write. > 0x64: 0x00007fff FREG4: Platform Data region is unused. > Not all flash regions are freely accessible by flashrom. This is most > likely > due to an active ME. Please see http://flashrom.org/ME for details. > 0x74: 0x00000000 (PR0 is unused) > 0x78: 0x8fff0eb0 PR1: Warning: 0x00eb0000-0x00ffffff is read-only. > 0x7C: 0x8e2f0df1 PR2: Warning: 0x00df1000-0x00e2ffff is read-only. > 0x80: 0x8df00df0 PR3: Warning: 0x00df0000-0x00df0fff is read-only. > 0x84: 0x8def0a00 PR4: Warning: 0x00a00000-0x00deffff is read-only. > Writes have been disabled for safety reasons. You can enforce write > support with the ich_spi_force programmer option, but you will most > likely > harm your hardware! If you force flashrom you will get no support if > something breaks. On a few mainboards it is possible to enable write > access by setting a jumper (see its documentation or the board itself). > 0x90: 0xc4 (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: 0x0606 (PREOP) > 0x96: 0x0240 (OPTYPE) > 0x98: 0x01059f5a (OPMENU) > 0x9C: 0xffff1503 (OPMENU+4) > 0xA0: 0x00000000 (BBAR) > 0xC4: 0x80802045 (LVSCC) > LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1 > 0xC8: 0x00002045 (UVSCC) > UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20 > 0xD0: 0x50444653 (FPB) > Reading flash descriptors mapped by the chipset via FDOC/FDOD... done. > === Content Section === > FLVALSIG 0x0ff0a55a > FLMAP0 0x03040003 > FLMAP1 0x15100206 > FLMAP2 0x00210120 > > --- Details --- > NR (Number of Regions): 4 > FRBA (Flash Region Base Address): 0x040 > NC (Number of Components): 1 > FCBA (Flash Component Base Address): 0x030 > ISL (ICH/PCH Strap Length): 21 > FISBA/FPSBA (Flash ICH/PCH Strap Base Address): 0x100 > NM (Number of Masters): 3 > FMBA (Flash Master Base Address): 0x060 > MSL/PSL (MCH/PROC Strap Length): 1 > FMSBA (Flash MCH/PROC Strap Base Address): 0x200 > > === Component Section === > FLCOMP 0x49900045 > FLILL 0xad604221 > > --- Details --- > Component 1 density: 16 MB > Component 2 is not used. > Read Clock Frequency: 20 MHz > Read ID and Status Clock Freq.: 33 MHz > Write and Erase Clock Freq.: 33 MHz > Fast Read is supported. > Fast Read Clock Frequency: 50 MHz > Dual Output Fast Read Support: disabled > Invalid instruction 0: 0x21 > Invalid instruction 1: 0x42 > Invalid instruction 2: 0x60 > Invalid instruction 3: 0xad > > === Region Section === > FLREG0 0x00000000 > FLREG1 0x0fff0500 > FLREG2 0x04ff0003 > FLREG3 0x00020001 > FLREG4 0x00007fff > > --- Details --- > Region 0 (Descr.) 0x00000000 - 0x00000fff > Region 1 (BIOS ) 0x00500000 - 0x00ffffff > Region 2 (ME ) 0x00003000 - 0x004fffff > Region 3 (GbE ) 0x00001000 - 0x00002fff > Region 4 (Platf.) is unused. > > === Master Section === > FLMSTR1 0x0a0b0000 > FLMSTR2 0x0c0d0000 > FLMSTR3 0x08080118 > > --- Details --- > Descr. BIOS ME GbE Platf. > BIOS r rw rw > ME r rw rw > GbE rw > > PROBLEMS, continuing anyway > The following protocols are supported: FWH, SPI. > Probing for Macronix MX25L12805D, 16384 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2018 > Found Macronix flash chip "MX25L12805D" (16384 kB, SPI) mapped at > physical address 0x00000000ff000000. > Chip status register is 0x40. > Chip status register: Status Register Write Disable (SRWD, SRP, ...) is > not set > Chip status register: Bit 6 is set > Chip status register: Block Protect 3 (BP3) is not set > Chip status register: Block Protect 2 (BP2) is not set > Chip status register: Block Protect 1 (BP1) is not set > Chip status register: Block Protect 0 (BP0) is not set > Chip status register: Write Enable Latch (WEL) is not set > Chip status register: Write In Progress (WIP/BUSY) is not set > This chip may contain one-time programmable memory. flashrom cannot > read > and may never be able to write it, hence it may not be able to > completely > clone the contents of this chip (see man page for details). > Block protection is disabled. > Reading flash... Transaction error! > SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 > SSFC: SCGO=0, ACS=0, SPOP=0, COP=4, DBC=63, SME=0, SCF=4 > Running OPCODE 0x03 failed at address 0x003000 (payload length was 64). > Read operation failed! > FAILED. > Restoring MMIO space at 0x7f030f57d8a0 > Restoring PCI config space for 00:1f:0 reg 0xdc > -- > Rui Paulo > > > _______________________________________________ > flashrom mailing list > flashrom at flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom From stefan.tauner at alumni.tuwien.ac.at Thu Dec 17 21:03:59 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 17 Dec 2015 21:03:59 +0100 Subject: [flashrom] FAILED: Lenovo X1 (2015) In-Reply-To: References: <1450337117.2348.3.camel@me.com> Message-ID: <201512172004.tBHK40pq008376@mail2.student.tuwien.ac.at> On Thu, 17 Dec 2015 13:08:56 +0300 ????? ?????? wrote: > Hello! > Mainstream flashrom currently not yet merged patches, adding support > of reading layout. Because ME region usually not readable not from ME > itself, > it should be skipped, so using layout file, in your case: > # flashrom layout v2 > 0x00000000:0x00000fff descr > 0x00500000:0x00ffffff BIOS > 0x00003000:0x004fffff ME > 0x00001000:0x00002fff GbE > > And using flashrom with my patches should help: > https://github.com/XVilka/flashrom/tree/layout_descriptor > > Some of the patches are still 'dirty' but should work - I've checked > them on a bunch of hardware. > you need to run it like: > > flashrom -V -p internal -l this_file.layout -i BIOS -r bios_dump.bin And, most importantly: they will not help you in writing anything because there are a number of other restrictions in your configuration. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From rpaulo at me.com Thu Dec 17 21:05:47 2015 From: rpaulo at me.com (Rui Paulo) Date: Thu, 17 Dec 2015 12:05:47 -0800 Subject: [flashrom] FAILED: Lenovo X1 (2015) In-Reply-To: <201512172004.tBHK40pq008376@mail2.student.tuwien.ac.at> References: <1450337117.2348.3.camel@me.com> <201512172004.tBHK40pq008376@mail2.student.tuwien.ac.at> Message-ID: <41407B8D-0AA9-4184-B987-8A82410AA330@me.com> No dia 17 de dez de 2015, ?s 12:03, Stefan Tauner escreveu: > On Thu, 17 Dec 2015 13:08:56 +0300 > ????? ?????? wrote: > >> Hello! >> Mainstream flashrom currently not yet merged patches, adding support >> of reading layout. Because ME region usually not readable not from ME >> itself, >> it should be skipped, so using layout file, in your case: >> # flashrom layout v2 >> 0x00000000:0x00000fff descr >> 0x00500000:0x00ffffff BIOS >> 0x00003000:0x004fffff ME >> 0x00001000:0x00002fff GbE >> >> And using flashrom with my patches should help: >> https://github.com/XVilka/flashrom/tree/layout_descriptor >> >> Some of the patches are still 'dirty' but should work - I've checked >> them on a bunch of hardware. >> you need to run it like: >> >> flashrom -V -p internal -l this_file.layout -i BIOS -r bios_dump.bin > > And, most importantly: they will not help you in writing anything > because there are a number of other restrictions in your configuration. Yes, I am very aware of that. Thanks. From estellnb at elstel.org Thu Dec 17 23:20:20 2015 From: estellnb at elstel.org (Elmar Stellnberger) Date: Thu, 17 Dec 2015 23:20:20 +0100 Subject: [flashrom] flashrom can successfully read the BIOS image of my Amilo Xi3650 laptop In-Reply-To: <55F6E809.5090508@elstel.org> References: <55F6E809.5090508@elstel.org> Message-ID: <56733524.1060407@elstel.org> Now having verified that read and write works for the Fujitsu-Siemens Amilo Xi 3650 I miss to see my notebook in the compatibility list. Elmar Am 2015-09-14 um 17:30 schrieb Elmar Stellnberger: > Lately I have tried > > flashrom -p internal:laptop=force_I_want_a_brick --read Xi3650.rom > > on my Fujitsu Siemens Amilo Xi 3650 laptop and it has worked quite well. > ... > Found chipset "Intel ICH9M-E". > Found Winbond flash chip "W25X16" (2048 kB, SPI) at physical address > 0xffe00000. > > > > sha256sum Xi3650.rom > > 8c5095d38bffe9b87d481ba8da395e48d9dcfadd43176979fd69e5da249b3763 > Xi3650.rom > > BIOS (according to dmidecode) is > Vendor: Phoenix > Version: 1.0H-1646-0024 > Release Date: 04/15/2010 > > I would love to see it under 'supported boards' in the future. > More information can be found in the attachements. From rpaulo at me.com Fri Dec 18 05:24:59 2015 From: rpaulo at me.com (Rui Paulo) Date: Thu, 17 Dec 2015 20:24:59 -0800 Subject: [flashrom] FAILED: Lenovo X1 (2015) In-Reply-To: References: <1450337117.2348.3.camel@me.com> Message-ID: <1450412699.2348.6.camel@me.com> On Thu, 2015-12-17 at 13:08 +0300, ????? ?????? wrote: > Hello! > Mainstream flashrom currently not yet merged patches, adding support > of reading layout. Because ME region usually not readable not from ME > itself, > it should be skipped, so using layout file, in your case: > # flashrom layout v2 > 0x00000000:0x00000fff descr > 0x00500000:0x00ffffff BIOS > 0x00003000:0x004fffff ME > 0x00001000:0x00002fff GbE > > And using flashrom with my patches should help: > https://github.com/XVilka/flashrom/tree/layout_descriptor > > Some of the patches are still 'dirty' but should work - I've checked > them on a bunch of hardware. > you need to run it like: > > flashrom -V -p internal -l this_file.layout -i BIOS -r bios_dump.bin > I got: Layout files are currently supported for write operations only. I thought you mean the read operation would work. -- Rui Paulo From alandbruce at gmail.com Sat Dec 19 02:32:38 2015 From: alandbruce at gmail.com (Alan Bruce) Date: Fri, 18 Dec 2015 18:32:38 -0700 Subject: [flashrom] BIOS on my PC. Need a little help or advise. Message-ID: Name is Alan. I am running an older Compaq Presario Desktop PC the model number is SR2264WM. it is an AMD 64 Athlion model. The operating system is Ubuntu 10.04. I just loved this OS and failed to upgrade before it was too late as it is now unsupported. So I downloaded Ubuntu 15.04 and was preparing to install it. All of a sudden my BIOS will not go to the boot menu when I press the ESC key upon startup, like it used to do. Although I downloaded flashrom from the Ubuntu Software Center, I am unable to find it on my PC and access the program to reset my BIOS. So how do I access this program? Your suggestions and advise will be greatly appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alandbruce at gmail.com Sat Dec 19 05:27:41 2015 From: alandbruce at gmail.com (Alan Bruce) Date: Fri, 18 Dec 2015 21:27:41 -0700 Subject: [flashrom] BIOS on my PC. Need a little help or advise. In-Reply-To: References: Message-ID: I did go to the FAQ on your website and clicked on "How Do I Use Flashrom". The attached screenshot is what I got. So, how do I use this program. I would not mind paying someone a few bucks to remotely re configure my BIOS. I think that it has been hacked and modified. On Fri, Dec 18, 2015 at 6:32 PM, Alan Bruce wrote: > Name is Alan. I am running an older Compaq Presario Desktop PC the model > number is SR2264WM. it is an AMD 64 Athlion model. The operating system > is Ubuntu 10.04. I just loved this OS and failed to upgrade before it was > too late as it is now unsupported. So I downloaded Ubuntu 15.04 and was > preparing to install it. All of a sudden my BIOS will not go to the boot > menu when I press the ESC key upon startup, like it used to do. Although I > downloaded flashrom from the Ubuntu Software Center, I am unable to find it > on my PC and access the program to reset my BIOS. So how do I access this > program? Your suggestions and advise will be greatly appreciated. > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot-14.png Type: image/png Size: 84703 bytes Desc: not available URL: From b.bellec at gmail.com Tue Dec 22 15:23:33 2015 From: b.bellec at gmail.com (Benjamin Bellec) Date: Tue, 22 Dec 2015 15:23:33 +0100 Subject: [flashrom] BIOS on my PC. Need a little help or advise. In-Reply-To: References: Message-ID: Hello Alan, Did you tried to do clear CMOS to see if it fixes your issue to boot on the CD/DVD ? Anyway, if you want to upgrade your BIOS, you will first need a valid BIOS image of your computer/motherboard. Do you have it ? Regards. 2015-12-19 5:27 GMT+01:00 Alan Bruce : > I did go to the FAQ on your website and clicked on "How Do I Use > Flashrom". The attached screenshot is what I got. So, how do I use this > program. I would not mind paying someone a few bucks to remotely re > configure my BIOS. I think that it has been hacked and modified. > > On Fri, Dec 18, 2015 at 6:32 PM, Alan Bruce wrote: > >> Name is Alan. I am running an older Compaq Presario Desktop PC the model >> number is SR2264WM. it is an AMD 64 Athlion model. The operating system >> is Ubuntu 10.04. I just loved this OS and failed to upgrade before it was >> too late as it is now unsupported. So I downloaded Ubuntu 15.04 and was >> preparing to install it. All of a sudden my BIOS will not go to the boot >> menu when I press the ESC key upon startup, like it used to do. Although I >> downloaded flashrom from the Ubuntu Software Center, I am unable to find it >> on my PC and access the program to reset my BIOS. So how do I access this >> program? Your suggestions and advise will be greatly appreciated. >> > > > _______________________________________________ > flashrom mailing list > flashrom at flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom > -------------- next part -------------- An HTML attachment was scrubbed... URL: From christophe.chamot at ens-lyon.fr Mon Dec 21 09:34:24 2015 From: christophe.chamot at ens-lyon.fr (Christophe CHAMOT) Date: Mon, 21 Dec 2015 09:34:24 +0100 Subject: [flashrom] W836xx: Dell Inc.0RRH3K: flashrom -V Message-ID: <5677B990.8060508@ens-lyon.fr> Hello, I know it is a laptop :-( I'm not waiting for a fix, it is just to feed the database of boards? ---------------------------------------------------------------------------------------------------------------- flashrom v0.9.7-r1782 on Linux 3.16.0-4-amd64 (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.2.1, GCC 4.8.2, little endian Command line (3 args): flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 1651M loops per second, 10 myus = 11 us, 100 myus = 107 us, 1000 myus = 967 us, 10000 myus = 9641 us, 4 myus = 4 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. DMI string chassis-type: "Laptop" Laptop detected via DMI. DMI string system-manufacturer: "Dell Inc." DMI string system-product-name: "Precision M4500" DMI string system-version: "0001" DMI string baseboard-manufacturer: "Dell Inc." DMI string baseboard-product-name: "0RRH3K" DMI string baseboard-version: "A03" ======================================================================== 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 the manpage and 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. ======================================================================== Aborting. ----------------------------------------------------------------------------------------------------------------------------- Thx for all you're doing guys, Christophe From vsevolod.balashov at yandex.ru Mon Dec 21 17:19:05 2015 From: vsevolod.balashov at yandex.ru (=?koi8-r?B?99PF18/Mz8Qg4sHMwdvP1w==?=) Date: Mon, 21 Dec 2015 19:19:05 +0300 Subject: [flashrom] W836xx:ThinkPad Edge E130:335852G Message-ID: <1643781450714745@web26m.yandex.ru> An HTML attachment was scrubbed... URL: From stefan.tauner at alumni.tuwien.ac.at Wed Dec 23 23:39:51 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Wed, 23 Dec 2015 23:39:51 +0100 Subject: [flashrom] N25Q128..1E flashed successfully In-Reply-To: <566B27F3.7000701@gmail.com> References: <566B27F3.7000701@gmail.com> Message-ID: <201512232239.tBNMdpL8004901@mail2.student.tuwien.ac.at> On Fri, 11 Dec 2015 20:45:55 +0100 M?rton Mikl?s wrote: > Hello all, > > I have successfully flashed a N25Q128..1E SPI flash using flashrom with > a 16MB image. > The programmer was an external one: NI USB-8452. This is not supported > in the mainline yet, but patch is coming soon. > > /Flashing output (I have forgotten to //run with -V//):// > //flashrom v0.9.7-unknown on Linux 3.13.0-70-generic (x86_64)// > //flashrom is free software, get the source code at > http://www.flashrom.org// > // > //Calibrating delay loop... OK.// > //Found USB device (3923:7514).// > //USB-8452 IO voltage set to: 1.8 V// > //USB-8452 SCK frequency set to: 50.00 MHz// > //Found Micron/Numonyx/ST flash chip "N25Q128..1E" (16384 kB, SPI) on > usb8451_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 at 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!// > //Reading old flash chip contents... done.// > //Erasing and writing flash chip... // > //Erase/write done.// > //Verifying flash... VERIFIED. > > /Patch attached./ Hello M?rton, thanks for your report! I have marked the flash chip as fully tested and will commit that later together with other small changes. The reason why I don't apply your patch as is is twofold: 1) it contained the wrong white space in the changed line (spaces instead of tabs), 2) it is not worth the effort and would create an unusual small commit anyway without good reason. Of course I will mention you in the commit log however. I am looking forward to your programmer patch as well! Let us know if you need any assistance. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Wed Dec 23 23:03:17 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Wed, 23 Dec 2015 23:03:17 +0100 Subject: [flashrom] Successful write report S25FL016A In-Reply-To: <566DE017.2040908@gmail.com> References: <566DE017.2040908@gmail.com> Message-ID: <201512232240.tBNMe5Js005309@mail2.student.tuwien.ac.at> On Sun, 13 Dec 2015 22:16:07 +0100 M?rton Mikl?s wrote: > Hello all, > > I have successfully flashed a Dell D830 notebook (with discrete NVIDIA > VGA) using flashrom from A14 BIOS revision to A17. > This means two things: the notebook itself is supported, and the > S25FL016A could be marked as verified for probe, read, erase, write. > For the later one I have created a patch. I have forgotten to run lspci > -vvvv, but I will do that and create a board enable patch soon. Hello M?rton, thanks for your report! I have marked the flash chip as fully tested and will commit that later together with other small changes. BTW, your write log does not really show anything useful because it is not the original one. flashrom skips to erase and write blocks that contain the same data as the file to write already (denoted by the :S in the output). -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From martonmiklosqdev at gmail.com Wed Dec 23 23:48:59 2015 From: martonmiklosqdev at gmail.com (=?UTF-8?B?TcOhcnRvbiBNaWtsw7Nz?=) Date: Wed, 23 Dec 2015 23:48:59 +0100 Subject: [flashrom] Successful write report S25FL016A In-Reply-To: <201512232240.tBNMe5Js005309@mail2.student.tuwien.ac.at> References: <566DE017.2040908@gmail.com> <201512232240.tBNMe5Js005309@mail2.student.tuwien.ac.at> Message-ID: <567B24DB.8030401@gmail.com> Hello Stefan, You are correct the attached output was performed with the A17 -> A17 write, so the flashrom skipped that write. I have missed the creating of the verbose log at the original A14-A17 update, and did not wanted to spend time with finding the different (older) BIOS contents. Regerds, Miklos Marton 2015-12-23 23:03 keltez?ssel, Stefan Tauner ?rta: > On Sun, 13 Dec 2015 22:16:07 +0100 > M?rton Mikl?s wrote: > >> Hello all, >> >> I have successfully flashed a Dell D830 notebook (with discrete NVIDIA >> VGA) using flashrom from A14 BIOS revision to A17. >> This means two things: the notebook itself is supported, and the >> S25FL016A could be marked as verified for probe, read, erase, write. >> For the later one I have created a patch. I have forgotten to run lspci >> -vvvv, but I will do that and create a board enable patch soon. > Hello M?rton, > > thanks for your report! > I have marked the flash chip as fully tested and will commit that later > together with other small changes. > BTW, your write log does not really show anything useful because it is > not the original one. flashrom skips to erase and write blocks that > contain the same data as the file to write already (denoted by the :S > in the output). From stefan.tauner at alumni.tuwien.ac.at Wed Dec 23 23:53:06 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Wed, 23 Dec 2015 23:53:06 +0100 Subject: [flashrom] S25FL128S - erase WORKS In-Reply-To: <56645FF3.7060304@overmoreover.com> References: <565F3E30.3030806@overmoreover.com> <56645FF3.7060304@overmoreover.com> Message-ID: <201512232253.tBNMr6rp016570@mail2.student.tuwien.ac.at> On Sun, 6 Dec 2015 11:18:59 -0500 Jim Houston wrote: > > On 12/02/2015 01:53 PM, Jim Houston wrote: > > I'm playing with a Spansion S25FL128SAGMF1000 and running flashrom on > > a raspberrypi. > > I started with a new chip and was successful writing and reading back > > a random > > image. It fails when I try to erase the part. > > I added power supply bypass capacitors closer to the flash chip and the > erase works. > My mistake. > > The "S25FL128S......0" works for read/write/erase. Hello Jim, thanks for your report! I have marked the flash chip as fully tested and will commit that later together with other small changes. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 00:03:12 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 00:03:12 +0100 Subject: [flashrom] [PATCH] Detect Android target OS. In-Reply-To: <1450224015-9654-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> References: <1450224015-9654-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> Message-ID: <201512232303.tBNN3CE4025739@mail2.student.tuwien.ac.at> On Wed, 16 Dec 2015 01:00:15 +0100 Stefan Tauner wrote: > No other changes are required to build flashrom (excluding programmers > with NEED_PCI) on Android. > > Signed-off-by: Stefan Tauner > --- > os.h | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/os.h b/os.h > index 2e6dbaa..e5f72e4 100644 > --- a/os.h > +++ b/os.h > @@ -58,6 +58,11 @@ > #define __FLASHROM_OS__ "libpayload" > // Linux > #elif defined(__linux__) > -#define __FLASHROM_OS__ "Linux" > + // There are various flags in use on Android apparently. __ANDROID__ seems to be the most trustworthy. > + #if defined(__ANDROID__) > + #define __FLASHROM_OS__ "Android" > + #else > + #define __FLASHROM_OS__ "Linux" > + #endif > #endif > __FLASHROM_OS__ I'll add this change to my tested stuff branch to be committed within two weeks. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 00:06:23 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 00:06:23 +0100 Subject: [flashrom] FAILED: Lenovo X1 (2015) In-Reply-To: <1450412699.2348.6.camel@me.com> References: <1450337117.2348.3.camel@me.com> <1450412699.2348.6.camel@me.com> Message-ID: <201512232306.tBNN6Nm3028010@mail2.student.tuwien.ac.at> On Thu, 17 Dec 2015 20:24:59 -0800 Rui Paulo wrote: > On Thu, 2015-12-17 at 13:08 +0300, ????? ?????? wrote: > > Hello! > > Mainstream flashrom currently not yet merged patches, adding support > > of reading layout. Because ME region usually not readable not from ME > > itself, > > it should be skipped, so using layout file, in your case: > > # flashrom layout v2 > > 0x00000000:0x00000fff descr > > 0x00500000:0x00ffffff BIOS > > 0x00003000:0x004fffff ME > > 0x00001000:0x00002fff GbE > > > > And using flashrom with my patches should help: > > https://github.com/XVilka/flashrom/tree/layout_descriptor > > > > Some of the patches are still 'dirty' but should work - I've checked > > them on a bunch of hardware. > > you need to run it like: > > > > flashrom -V -p internal -l this_file.layout -i BIOS -r bios_dump.bin > > > > I got: > > Layout files are currently supported for write operations only. > > I thought you mean the read operation would work. Not out of the box, but with the patches in the branch mentioned by Anton layout files should work with all kinds of operations. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 00:25:55 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 00:25:55 +0100 Subject: [flashrom] Problems flashing N25Q064A13ESE40E SPI chip In-Reply-To: References: Message-ID: <201512232325.tBNNPtPW011979@mail2.student.tuwien.ac.at> On Fri, 11 Dec 2015 10:52:38 +0100 Ruben Van de Put wrote: > Hello, > > I'm having some problems flashing a SPI chip with the BusPirate V3. Writing > the image is successful but verification is not successful. > > First try with chip on breadboard and long leads (20-25cm): > http://paste.flashrom.org/view.php?id=2841 > > Then I shortened the signal leads and soldered them directly on the > BusPirate: > http://paste.flashrom.org/view.php?id=2842 > > Then I soldered all leads directly on the chip (with an adapter) instead of > using a breadboard: > http://paste.flashrom.org/view.php?id=2844 > > I also tried lowering the SPI speed to 1 MHz: > http://paste.flashrom.org/view.php?id=2845 > > Current set-up > [image: Inline afbeelding 1] > [image: Inline afbeelding 2] > > Chip datasheet: http://www.farnell.com/datasheets/1674442.pdf > Flash connected in this way: http://flashrom.org/Bus_Pirate > > Is there anything else I can try or should I try replacing the flash chip? Hi Ruben, if you did not give up yet: looks like your changes constantly improved the situation and you would probably succeed if you just continued to write the same image a few more times. One thing that could further improve the communication between the BP and the flash chip: adding line termination resistors or capacitors as well as a decoupling capacitor between VCC and GND as near as possible to the flash chip. See also https://www.flashrom.org/ISP with some more details even though the site is directed at other use cases. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 00:55:46 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 00:55:46 +0100 Subject: [flashrom] W25Q64.V: flashrom can't read flash on ASUS P8H77-V LE In-Reply-To: <1442569788.937413906@f16.i.mail.ru> References: <1442569788.937413906@f16.i.mail.ru> Message-ID: <201512232355.tBNNtkNq002453@mail2.student.tuwien.ac.at> The subject says "can't" but the log indicates otherwise and even suggests that writing might work as well. I am confused. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 01:06:00 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 01:06:00 +0100 Subject: [flashrom] W25X80: ASUS P5K SE sucessfully reflashed In-Reply-To: <1442569538.340972769@f16.i.mail.ru> References: <1442569538.340972769@f16.i.mail.ru> Message-ID: <201512240006.tBO060Xj008574@mail2.student.tuwien.ac.at> Hello ?????????, thanks for your report! I have added your board to our list of supported hardware and will commit that later together with other small changes. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 01:08:38 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 01:08:38 +0100 Subject: [flashrom] HP Probook 6450b: programmer initialization failed In-Reply-To: <1442569361.952931540@f16.i.mail.ru> References: <1442569361.952931540@f16.i.mail.ru> Message-ID: <201512240008.tBO08c9L011265@mail2.student.tuwien.ac.at> On Fri, 18 Sep 2015 12:42:41 +0300 ????????? ???????? wrote: > Hi! > > I try to read flash from friends of mine notebook HP Probook 6450b and have no sucess on it. Hi, this is intended behavior on laptops. See manpage for more details and how to enforce flashrom to continue. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 01:15:30 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 01:15:30 +0100 Subject: [flashrom] MX25L8006E: Gigabyte EP31-DS3L rev 1.0 sucessfully reflashed In-Reply-To: <1442568917.74648997@f311.i.mail.ru> References: <1442568917.74648997@f311.i.mail.ru> Message-ID: <201512240015.tBO0FUWi015968@mail2.student.tuwien.ac.at> Hello ?????????, thanks for your report! I have added your board to our list of supported hardware and will commit that later together with other small changes. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 01:58:09 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 01:58:09 +0100 Subject: [flashrom] SST49LF040B: ASUS M2N-E-SLI successfully reflashed In-Reply-To: <1442568570.198464545@f429.i.mail.ru> References: <1442568570.198464545@f429.i.mail.ru> Message-ID: <201512240058.tBO0w9w7009135@mail2.student.tuwien.ac.at> Hi, both, the chip and the board, are already marked as tested in my tested_stuff branch. Will commit that in the next weeks and update the wiki accordingly. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 02:24:19 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 02:24:19 +0100 Subject: [flashrom] Report on Flashing chip In-Reply-To: References: Message-ID: <201512240124.tBO1OJJr022298@mail2.student.tuwien.ac.at> On Mon, 24 Aug 2015 02:42:56 +0000 ??????? ???????? wrote: > Hi! > I saw Your notification when flashing my Motherboard BIOS. > > It said that flashing is successful > > Base Board Information > Manufacturer: ASUSTeK Computer INC. > Product Name: P5GD1-VM > Version: Rev 1.xx > Serial Number: MB-1234567890 > > > Reboot was successful too. > > > CHIP ID: W39V040FA Hi ???????, thanks for your report! I wonder if you had to enable the untested board enable to make it work (because I would expect that but you did not mention anything about that)? Also, which flashrom version did you use? In any case I have marked the flash chip as fully tested and will commit that later together with other small changes. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From eugeneai at irnok.net Thu Dec 24 03:29:31 2015 From: eugeneai at irnok.net (=?UTF-8?B?0JXQstCz0LXQvdC40Lkg0KfQtdGA0LrQsNGI0LjQvQ==?=) Date: Thu, 24 Dec 2015 10:29:31 +0800 Subject: [flashrom] Report on Flashing chip In-Reply-To: <201512240124.tBO1OJJr022298@mail2.student.tuwien.ac.at> References: <201512240124.tBO1OJJr022298@mail2.student.tuwien.ac.at> Message-ID: Hi! 2015-12-24 9:24 GMT+08:00 Stefan Tauner : > On Mon, 24 Aug 2015 02:42:56 +0000 > ??????? ???????? wrote: > > > Hi! > > I saw Your notification when flashing my Motherboard BIOS. > > > > It said that flashing is successful > > > > Base Board Information > > Manufacturer: ASUSTeK Computer INC. > > Product Name: P5GD1-VM > > Version: Rev 1.xx > > Serial Number: MB-1234567890 > > > > > > Reboot was successful too. > > > > > > CHIP ID: W39V040FA > > Hi ???????, > > thanks for your report! I wonder if you had to enable the untested > board enable to make it work (because I would expect that but you did > not mention anything about that)? No special enablings were performed. If it were so I'd not be risky. > Also, which flashrom version did you > use? root at xserv:~# flashrom --version flashrom v0.9.8-r1888 on Linux 4.2.5-1-ARCH (x86_64) flashrom is free software, get the source code at http://www.flashrom.org This version is set up today, and I could not figure out what version was at August 24. 2015. ;-) > In any case I have marked the flash chip as fully tested and will > commit that later together with other small changes. > Thaks for allowing me in the testing process participation. > > -- > Kind regards/Mit freundlichen Gr??en, Stefan Tauner > Best regards, Evgeny Cherkashin -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 03:40:40 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 03:40:40 +0100 Subject: [flashrom] [PATCH] Fix compilation with only one enabled programmer. In-Reply-To: <201511212319.tALNJOL3027234@mail2.student.tuwien.ac.at> References: <1448063007-17093-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> <56502B6D.4080505@gmx.net> <201511211039.tALAdHgo029868@mail2.student.tuwien.ac.at> <201511212319.tALNJOL3027234@mail2.student.tuwien.ac.at> Message-ID: <201512240240.tBO2efjt025448@mail2.student.tuwien.ac.at> On Sun, 22 Nov 2015 00:19:15 +0100 Stefan Tauner wrote: > Other workarounds: > > - adding a dummy value to the enum with a negative value > - clang pragmas to disable the warnings > - a BUGS file > > I am strictly against the pragmas because they litter the code too > much. Carl-Daniel is against the -1 hack. I would not mind a BUGS file > at all but I am also ok with just ignoring the issue. It does not > happen in the default configuration and can easily be worked around by > setting the CFLAGS (adding -Wno-tautological-compare), adding another > programmer or using gcc instead... > Just a quick follow up... the previous patch was complete bullshit... the preprocessor does not know anything about enum values and replaced all those identifiers with 0 removing all #if-guarded lines - which "solves" the wrong warnings... because the lines are removed completely. I'll ignore the issue of clang overreacting in this case. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 11:44:11 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 11:44:11 +0100 Subject: [flashrom] Report on Flashing chip In-Reply-To: References: <201512240124.tBO1OJJr022298@mail2.student.tuwien.ac.at> Message-ID: <201512241044.tBOAiGTQ024565@mail2.student.tuwien.ac.at> On Thu, 24 Dec 2015 10:29:31 +0800 ??????? ???????? wrote: > Hi! > > 2015-12-24 9:24 GMT+08:00 Stefan Tauner : > > > On Mon, 24 Aug 2015 02:42:56 +0000 > > ??????? ???????? wrote: > > > > > Hi! > > > I saw Your notification when flashing my Motherboard BIOS. > > > > > > It said that flashing is successful > > > > > > Base Board Information > > > Manufacturer: ASUSTeK Computer INC. > > > Product Name: P5GD1-VM > > > Version: Rev 1.xx > > > Serial Number: MB-1234567890 > > > > > > > > > Reboot was successful too. > > > > > > > > > CHIP ID: W39V040FA > > > > Hi ???????, > > > > thanks for your report! I wonder if you had to enable the untested > > board enable to make it work (because I would expect that but you did > > not mention anything about that)? > > > No special enablings were performed. If it were so I'd not be risky. OK, then we could probably mark the -VM version as tested too. Could you please send me the file logfile.txt created by flashrom -p internal -o logfile.txt to verify my theory? -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From eugeneai at irnok.net Thu Dec 24 13:25:55 2015 From: eugeneai at irnok.net (=?UTF-8?B?0JXQstCz0LXQvdC40Lkg0KfQtdGA0LrQsNGI0LjQvQ==?=) Date: Thu, 24 Dec 2015 20:25:55 +0800 Subject: [flashrom] Report on Flashing chip In-Reply-To: <201512241044.tBOAiGTQ024565@mail2.student.tuwien.ac.at> References: <201512240124.tBO1OJJr022298@mail2.student.tuwien.ac.at> <201512241044.tBOAiGTQ024565@mail2.student.tuwien.ac.at> Message-ID: Sorry, it appears, that the motherboard has been replaced with other one. That one must be layter installed to other hardware. I could do it on this weekend. So wait for a couple of days. Evgeny. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ockham at raz.or.at Wed Dec 23 14:38:34 2015 From: ockham at raz.or.at (Bernhard Reiter) Date: Wed, 23 Dec 2015 14:38:34 +0100 Subject: [flashrom] W836xx: Lenovo B50-70: flashrom -V Message-ID: <567AA3DA.2090202@raz.or.at> flashrom v0.9.7-r1852 on Linux 4.2.0-22-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.2.1, GCC 4.9.1, little endian Command line (3 args): flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 2684M loops per second, 10 myus = 10 us, 100 myus = 124 us, 1000 myus = 1021 us, 10000 myus = 10128 us, 4 myus = 4 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. DMI string chassis-type: "Notebook" Laptop detected via DMI. DMI string system-manufacturer: "LENOVO" DMI string system-product-name: "80EU" DMI string system-version: "Lenovo B50-70" DMI string baseboard-manufacturer: "LENOVO" DMI string baseboard-product-name: "Lenovo B50-70" DMI string baseboard-version: "00000000NO DPK" W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect. Active config mode, unknown reg 0x20 ID: fc. Please send the output of "flashrom -V -p internal" to flashrom at flashrom.org with W836xx: your board name: flashrom -V as the subject to help us finish support for your Super I/O. Thanks. From bernard at openminds.be Thu Dec 24 13:44:05 2015 From: bernard at openminds.be (Bernard Grymonpon) Date: Thu, 24 Dec 2015 13:44:05 +0100 Subject: [flashrom] Succesfull update on untested hardware Message-ID: <77621D8D-D36B-4F09-A17B-5DE00A681633@openminds.be> Hi, included a log on a SuperMicro A1SAi board (Intel Atom). The log said it was untested. Thanks for the nice tool, -------------- next part -------------- A non-text attachment was scrubbed... Name: flash.log Type: application/octet-stream Size: 75746 bytes Desc: not available URL: -------------- next part -------------- Rgds, Bernard From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 19:30:32 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 19:30:32 +0100 Subject: [flashrom] Succesfull update on untested hardware In-Reply-To: <77621D8D-D36B-4F09-A17B-5DE00A681633@openminds.be> References: <77621D8D-D36B-4F09-A17B-5DE00A681633@openminds.be> Message-ID: <201512241830.tBOIUWaX020117@mail2.student.tuwien.ac.at> On Thu, 24 Dec 2015 13:44:05 +0100 Bernard Grymonpon wrote: > Hi, > > included a log on a SuperMicro A1SAi board (Intel Atom). The log said it was untested. Hello Bernard, thanks for your report! I have added your board to our list of supported hardware and will commit that later together with other small changes. I have also marked the chipset as tested. Just for the record: is that the 4-core (A1SAi-2550F with an Atom C2550) or 8-core (A1SAi-2750F with a C2750) version? -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 20:14:17 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 20:14:17 +0100 Subject: [flashrom] FS Esprimo E5730: writing rom images seems to work correctly In-Reply-To: <560BFB61.1010606@elstel.org> References: <55FB1E79.8010007@elstel.org> <201509292324.t8TNOfBq028787@mail2.student.tuwien.ac.at> <560BFB61.1010606@elstel.org> Message-ID: <201512241914.tBOJEHCZ021674@mail2.student.tuwien.ac.at> On Wed, 30 Sep 2015 17:10:25 +0200 Elmar Stellnberger wrote: > Hi Stefan, > > Here comes the requested information: > (in the attachements) Hi, thanks for the files. I have created a patch (attached) that adds the Amilo Xi 3650 to our list of supported laptop and also whitelists it so that the warning at startup does not show up. Testing it would be appreciated. Just one further question: what does that have to do with the Esprimo E5730 that seems to be a completely unrelated desktop PC by FSC? :) -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Add-Fujitsu-Amilo-Xi-3650-to-laptop-whitelist.patch Type: text/x-patch Size: 3003 bytes Desc: not available URL: From estellnb at elstel.org Thu Dec 24 23:00:30 2015 From: estellnb at elstel.org (Elmar Stellnberger) Date: Thu, 24 Dec 2015 23:00:30 +0100 Subject: [flashrom] FS Esprimo E5730: writing rom images seems to work correctly In-Reply-To: <201512241914.tBOJEHCZ021674@mail2.student.tuwien.ac.at> References: <55FB1E79.8010007@elstel.org> <201509292324.t8TNOfBq028787@mail2.student.tuwien.ac.at> <560BFB61.1010606@elstel.org> <201512241914.tBOJEHCZ021674@mail2.student.tuwien.ac.at> Message-ID: <567C6AFE.9060001@elstel.org> Hi Stefan, What a nice Christmas present! I just love to see my Amilo Xi 3650 well supported! While I currently run the external display of the Xi 3650 with 2560x1440 it would likely be technically possible to run it at 4K: https://bugs.freedesktop.org/show_bug.cgi?id=93405 The Esprimo E5730; oops it is in deed a very different machine currently not supported by flashrom. However Fujitsu has already given me a contact address for the people in hold of the BIOS who would likely also know for the schematic of the board. Of course will I compile and test the patched version of flashrom; it is just the way that we are currently relocating. Compliments of the Season, Merry Christmas and a Happy New Year for all people on the flashrom list! Yours, Elmar Am 2015-12-24 um 20:14 schrieb Stefan Tauner: > On Wed, 30 Sep 2015 17:10:25 +0200 > Elmar Stellnberger wrote: > >> Hi Stefan, >> >> Here comes the requested information: >> (in the attachements) > > Hi, > > thanks for the files. I have created a patch (attached) that adds the > Amilo Xi 3650 to our list of supported laptop and also whitelists it so > that the warning at startup does not show up. Testing it would be > appreciated. > > Just one further question: what does that have to do with the Esprimo > E5730 that seems to be a completely unrelated desktop PC by FSC? :) > From stefan.tauner at alumni.tuwien.ac.at Thu Dec 24 21:53:56 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 24 Dec 2015 21:53:56 +0100 Subject: [flashrom] Support for Rangely Chips with Winboad W25Q64.V tested In-Reply-To: <55F1CED9.8030701@netgate.com> References: <55F1CED9.8030701@netgate.com> Message-ID: <201512242053.tBOKruMb004126@mail2.student.tuwien.ac.at> On Thu, 10 Sep 2015 13:41:29 -0500 Jeremy Porter wrote: > I noticed that both the chip and the chipset show as untested on the wiki. > I can confirm that these work, as we use flashrom extensively on our, > Netgate RCC-VE 2440, 4860, 8860, and our DFF-2220. systems. > (The boards just have differing amounts of Ram/ethernet ports and CPUs) > These are based on the Intel Rangely Chipset PCI ID 8086:1f38. > > So if you want to update the wiki, those can be marked as tested and > working. (We've flashed hundreds of systems). > Hello Jeremy, thanks for your report! I have marked the chipset as tested and will commit that later together with other small changes. If you want me to add any boards as well please reply with a list of exact names (preferably of boards instead of systems if the board names are known by customers or printed on the boards) and URLs to respective product pages (preferable stable URLs that won't change too soon ;) -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 01:43:23 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 01:43:23 +0100 Subject: [flashrom] SST49LF016C: Supermicro X7DWT successfully reflashed In-Reply-To: References: Message-ID: <201512250043.tBP0hNHc018245@mail2.student.tuwien.ac.at> On Thu, 10 Sep 2015 05:56:54 +0000 Steven Stremciuc wrote: > The Supermicro X7DWT motherboard is not listed on the flashrom supported > hardware page, and the SST49LF016C chip has an "?" for erase and write > status. I successfully reflashed the chip using flashrom, and thought I > would send you a note so you can update the supported hardware list, if you > would like. > This board(s) was in a Dell C6100 XS23-SB. Hello Steven, thanks for your report! I have added your board to our list of supported hardware and marked the flash chip as fully tested. Also, I have marked the "Multi-system" chassis type as non-laptop type so that the additional parameter is no longer necessary. I will commit all that later together with other small changes. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 01:53:43 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 01:53:43 +0100 Subject: [flashrom] Gigabyte GA-Z97MX Gaming 5 In-Reply-To: References: Message-ID: <201512250053.tBP0rh1P024389@mail2.student.tuwien.ac.at> On Thu, 20 Aug 2015 16:28:03 +0300 XVilka Haos of System wrote: > Hello! Trying to make flashrom working on the Gigabyte GA-Z97MX Gaming > 5 mainboard. > It has ITE IT8620E Super I/O chip, DualBIOS configuration, thus 2 MXIC > MX25L6473E chips. > Attaching some logs: > http://paste.flashrom.org/view.php?id=2779 I don't see anything that looks like it would not work? What was the actual problem? -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 02:07:53 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 02:07:53 +0100 Subject: [flashrom] MS7336 (HP Compaq dx2300 Microtower motherboard) successful BIOS update In-Reply-To: References: Message-ID: <201512250107.tBP17rLL032401@mail2.student.tuwien.ac.at> On Tue, 18 Aug 2015 18:53:15 +0200 Benjamin Bellec wrote: > Hello, > > I successfully flashed this motherboard with a Winbond flash chip > "W39V080FA (1024 kB, FWH)" which is currently tagged as UNTESTED for ERASE > and WRITE. > http://h20564.www2.hp.com/hpsc/swd/public/readIndex?sp4ts.oid=3353051 > > I flashed from BIOS version 1.08 to 1.14 (the last one). > Note that the BIOS included some DMI data (SKU number, Serial number, UUID, > etc.) which have been deleted during the operation. See > dmidecode_before/after log files attached for more information. Hello Benjamin, thanks for your report! I have added your board (as MS-7336 with a note) to our list of supported hardware and will commit that later together with other small changes. The flash chip got already marked as fully tested in the meantime. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 02:24:46 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 02:24:46 +0100 Subject: [flashrom] HP XW9300 mainboard In-Reply-To: References: Message-ID: <201512250124.tBP1Ok6R007789@mail2.student.tuwien.ac.at> On Wed, 12 Aug 2015 10:55:06 +0000 Federico Tomasi wrote: > Hi, > > I already tried some time ago to flash my hp xw9300 mainboard bios but with > no luck. Then I realized that I was using Ubuntu on a VirtualBox so it > maybe could not access the mainborad chip... > > I retried in these days using an Ubuntu live-cd, and I also read this old > forum thread > > http://forums.bit-tech.net/showpost.php?s=c0347634d93e911f8254f28ec1a83fc1&p=2176448&postcount=6 > > where a guy tells to have succesfully written a Tyan original bios on the > HP branded version of the same mainboard (the Tyan K8WE S2895) that is the > HP XW9300 mainboard. > (I didn't connect pins as he edit it wasn't necessary to do that but to > enable the jumper of boot block) > Hi Federico, it seems like different versions of the firmware engage different write protection mechanisms and your version requires either a small piece of code in flashrom to disable the write protection or the ugly hack of connection the respective pins to VDD. The problem is that deriving the right commands for the board is not straight forward and no one bothered to find them yet (it requires reverse engineering the firmware files). -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 02:34:54 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 02:34:54 +0100 Subject: [flashrom] Can't probe AT26DF321 on OptiPlex 755 In-Reply-To: <55CCFB50.7000404@pehjota.net> References: <55CAABB5.50002@pehjota.net> <55CCFB50.7000404@pehjota.net> Message-ID: <201512250134.tBP1Ysj2012218@mail2.student.tuwien.ac.at> On Thu, 13 Aug 2015 16:17:20 -0400 "Patrick 'P. J.' McDermott" wrote: > > Although I don't have schematics, I see resistors on the board on the > CS#, SO, WP#, SCK, NC/HOLD#, and VCC lines, indicating that the board is > likely designed for ISP. Not necessarily. Could be simple pull-ups (and a current limiter on VCC)...? > damo22 looked at the datasheet [1] (the AT25 datasheet [2] is almost > identical) and suggested that maybe the chip is in Deep Power-Down mode, > which would explain why it's not responding to commands from flashrom on > an external linux_spi programmer. > > Is it possible that the AT26DF321 on this board is always put in Deep > Power-Down mode by the ICH9 (Intel 82801IO) but the AT26DF321 on the > other board I successfully tried (with an Intel 82801IEM ICH9M-E) is > normally in standby? Has anyone else ever encountered an SPI flash chip > in Deep Power-Down mode? > > I looked through the source code to see if flashrom sends or could send > a Resume from Deep Power-Down command. The command is a 0xAB opcode > while CS# is asserted, followed by a deassertion of CS# and a delay of > up to 3 ?s. flashrom doesn't send this command, but all of that seems > easily doable except for the CS# deassertion. Linux's > Documentation/spi/spidev file says that the SPI_IOC_MESSAGE(N) request > does not deselect the chip. flashrom DOES send 0xAB (RES) as it is one of the opcodes that can be used to identify flash chips (look for probe_spi_res1 in your log). > Any recommendations on how to proceed? Unfortunately, I don't have another explanation other than that the board simply does not work with ISP. Have you tried measuring actual voltages on the board while flashrom is running or even using a logic analyzer? -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 02:51:21 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 02:51:21 +0100 Subject: [flashrom] Macronix Erase/Write Problems In-Reply-To: References: Message-ID: <201512250151.tBP1pLLs019452@mail2.student.tuwien.ac.at> On Tue, 4 Aug 2015 08:57:58 +0100 Adam Clarke wrote: > Good morning, > > I am trying to revive a computer which had a failed BIOS update. > > I bought a BUS Pirate and started using Flashrom to take a copy of an identical fully working model. Strangely this machine has two chips: > > MX25L6405D > MX25L3205D > > From the dump's I have made, I believe the MX25L6405D holds the BIOS and the MX25L3205D possibly holds the ME Firmware. Yes, that's about right. The CPU sees only the combined address range of both chips. The BIOS region actually spans both... a rather unusual setup AFAIK but that's not the main problem here (yet). I wrote a blog post about some details of that dual-chip setup a few years ago... http://blogs.coreboot.org/blog/2011/06/11/gsoc-2011-flashrom-part-1/ Either the board is powered enough so that the ME interferes, or there is not enough power from the BP to power the chip because other components suck energy as well, or there are other problems as mentioned on http://www.flashrom.org/ISP -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 03:03:12 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 03:03:12 +0100 Subject: [flashrom] External programmer update In-Reply-To: <4C1D30D5.7040703@gmail.com> References: <4BE045F6.5090309@gmx.net> <4BE0BB3F.7010007@gmail.com> <4BE0D835.2000704@gmx.net> <4BE0DD90.6070800@gmx.net> <4BFFF3F7.6060303@gmail.com> <4C1D30D5.7040703@gmail.com> Message-ID: <201512250203.tBP23C05025765@mail2.student.tuwien.ac.at> On Sat, 19 Jun 2010 14:04:21 -0700 audiohacked at gmail.com (Sean Nelson) wrote: > On 5/28/10 9:48 AM, fritz wrote: > > However, the chip I wanted to program - Am29F040B - I could NOT detect. > > > > I'll spare you the in-depth story of the past twelve hours I've spent > > working on it. > > > > The summary: > > Flashrom (from svn) would detect the other chips using addresses > > 0x5555, 0x2AAA, 0x5555 > > Flashrom (from svn) would try to detect the Am29F040 using addresses > > 0x0555, 0x02AA, 0x0555 - which is not according to the datasheet. > > > The Problem is the Am29F040B uses 0x2AA variant, but the Am29F040 uses > 0x2AAA. What AMD/Spansion did was change the command addresses without > changing the chip ids. Sadly there's no way to distinguish between the two. Seems like they have done that between Am29F010 and Am29F010A as well (cf. "Not detecting Am29F010 using 3Com PCI nic" by Ignatius Grippa)... Actually, there is of course a way to distinguish them: probe once with FEATURE_ADDR_2AA and once with FEATURE_ADDR_2AAA :) I'll try to get Ignatius to test this... -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 03:24:13 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 03:24:13 +0100 Subject: [flashrom] Not detecting Am29F010 using 3Com PCI nic In-Reply-To: References: Message-ID: <201512250224.tBP2OEYT003409@mail2.student.tuwien.ac.at> On Sat, 1 Aug 2015 08:34:58 +0200 "Ignatius Grippa" wrote: > I found a solution that works. > I changed the AM29F010A/B entry inside flashchips.c > Under ".feature_bits" I removed FEATURE_ADDR_2AA leaving only FEATURE_EITHER_RESET, After recompiling, flashrom now detects my Am29F010 and it also successfully reads and writes! > I'm not a programmer so I can't explain why this works but it does. Hi, that feature flag changes the behavior of the probe command and is exactly what was needed to get the AM29F010 version to work, thanks for digging this up. I have created a patch that splits the old definition into two, which allows to distinguish the chips. I'd be glad if you could test it if you still have the hardware. The patch is attached. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Separate-Am29F010-from-Am29F010A-B-definitions.patch Type: text/x-patch Size: 2059 bytes Desc: not available URL: From flashrom at mkarcher.dialup.fu-berlin.de Fri Dec 25 10:03:56 2015 From: flashrom at mkarcher.dialup.fu-berlin.de (Michael Karcher) Date: Fri, 25 Dec 2015 10:03:56 +0100 Subject: [flashrom] External programmer update In-Reply-To: <201512250203.tBP23C05025765@mail2.student.tuwien.ac.at> References: <4BE045F6.5090309@gmx.net> <4BE0BB3F.7010007@gmail.com> <4BE0D835.2000704@gmx.net> <4BE0DD90.6070800@gmx.net> <4BFFF3F7.6060303@gmail.com> <4C1D30D5.7040703@gmail.com> <201512250203.tBP23C05025765@mail2.student.tuwien.ac.at> Message-ID: <567D067C.2090404@mkarcher.dialup.fu-berlin.de> On 25.12.2015 03:03, Stefan Tauner wrote: > On Sat, 19 Jun 2010 14:04:21 -0700 > audiohacked at gmail.com (Sean Nelson) wrote: >> On 5/28/10 9:48 AM, fritz wrote: >>> However, the chip I wanted to program - Am29F040B - I could NOT detect. >>> >>> I'll spare you the in-depth story of the past twelve hours I've spent >>> working on it. >>> >>> The summary: >>> Flashrom (from svn) would detect the other chips using addresses >>> 0x5555, 0x2AAA, 0x5555 >>> Flashrom (from svn) would try to detect the Am29F040 using addresses >>> 0x0555, 0x02AA, 0x0555 - which is not according to the datasheet. >>> >> The Problem is the Am29F040B uses 0x2AA variant, but the Am29F040 uses >> 0x2AAA. What AMD/Spansion did was change the command addresses without >> changing the chip ids. Sadly there's no way to distinguish between the two. > Seems like they have done that between Am29F010 and Am29F010A as well > (cf. "Not detecting Am29F010 using 3Com PCI nic" by Ignatius Grippa)... > > Actually, there is of course a way to distinguish them: probe once with > FEATURE_ADDR_2AA and once with FEATURE_ADDR_2AAA :) > I'll try to get Ignatius to test this... The AMD Am29F040B is clearly probable with FEATURE_ADDR_2AAA, too. I am looking at AMD publication 21445, Rev E, issued Novermber 29, 2000. Note 4 on page 14 indicates that: "Address bits A18?A11 are don?t cares for unlock and command cycles, unless SA or PA required." 0x2800 (the additional Bits in 0x2AAA compared to 0x2AA) are bits A11 and A13, so this chip just doesn't care. Regards, Michael Karcher From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 14:19:42 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 14:19:42 +0100 Subject: [flashrom] External programmer update In-Reply-To: <567D067C.2090404@mkarcher.dialup.fu-berlin.de> References: <4BE045F6.5090309@gmx.net> <4BE0BB3F.7010007@gmail.com> <4BE0D835.2000704@gmx.net> <4BE0DD90.6070800@gmx.net> <4BFFF3F7.6060303@gmail.com> <4C1D30D5.7040703@gmail.com> <201512250203.tBP23C05025765@mail2.student.tuwien.ac.at> <567D067C.2090404@mkarcher.dialup.fu-berlin.de> Message-ID: <201512251319.tBPDJpdM018244@mail2.student.tuwien.ac.at> On Fri, 25 Dec 2015 10:03:56 +0100 Michael Karcher wrote: > On 25.12.2015 03:03, Stefan Tauner wrote: > > On Sat, 19 Jun 2010 14:04:21 -0700 > > audiohacked at gmail.com (Sean Nelson) wrote: > >> On 5/28/10 9:48 AM, fritz wrote: > >>> However, the chip I wanted to program - Am29F040B - I could NOT detect. > >>> > >>> I'll spare you the in-depth story of the past twelve hours I've spent > >>> working on it. > >>> > >>> The summary: > >>> Flashrom (from svn) would detect the other chips using addresses > >>> 0x5555, 0x2AAA, 0x5555 > >>> Flashrom (from svn) would try to detect the Am29F040 using addresses > >>> 0x0555, 0x02AA, 0x0555 - which is not according to the datasheet. > >>> > >> The Problem is the Am29F040B uses 0x2AA variant, but the Am29F040 uses > >> 0x2AAA. What AMD/Spansion did was change the command addresses without > >> changing the chip ids. Sadly there's no way to distinguish between the two. > > Seems like they have done that between Am29F010 and Am29F010A as well > > (cf. "Not detecting Am29F010 using 3Com PCI nic" by Ignatius Grippa)... > > > > Actually, there is of course a way to distinguish them: probe once with > > FEATURE_ADDR_2AA and once with FEATURE_ADDR_2AAA :) > > I'll try to get Ignatius to test this... > > The AMD Am29F040B is clearly probable with FEATURE_ADDR_2AAA, too. I am > looking at AMD publication 21445, Rev E, issued Novermber 29, 2000. Note > 4 on page 14 indicates that: "Address bits A18?A11 are don?t cares for > unlock and command cycles, unless SA or PA required." 0x2800 (the > additional Bits in 0x2AAA compared to 0x2AA) are bits A11 and A13, so > this chip just doesn't care. Oh hai! Yes, indeed. Also the Am29F080 and Am29F080B feature this misfeature. I have a patch prepared that splits all of them. This will likely result in two definitions matching the chip with the current probing as you explained but will make it possible to distinguish them later with the new probing framework. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From GNUtoo at no-log.org Fri Dec 25 20:15:04 2015 From: GNUtoo at no-log.org (Denis 'GNUtoo' Carikli) Date: Fri, 25 Dec 2015 20:15:04 +0100 Subject: [flashrom] [Laptop read log] HP "Compaq NC6320": Probe: OK, Read: OK Message-ID: <20151225201504.624fdcd0@top-laptop.homenet.telecomitalia.it> Hi, Here is a successful read on the HP "Compaq NC6320" laptop (The model seem not to be available trough DMI, however it is written near the screen, on the plastic). flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian Command line (7 args): flashrom -VVV -p internal:laptop=force_I_want_a_brick -r BIOS_V.bin -o BIOS_V.log Calibrating delay loop... OS timer resolution is 1 usecs, 1989M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 998 us, 10000 myus = 10011 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.0B" DMI string baseboard-manufacturer: "Hewlett-Packard" DMI string baseboard-product-name: "30AA" DMI string baseboard-version: "KBC Version 58.12" DMI string chassis-type: "Notebook" Laptop detected via DMI. ======================================================================== 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. 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 = 0x600460: 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: 0x3191f5e9 (SPID6) 0x3c: 0x35312f32 (SPID6+4) 0x40: 0x5936302f (SPID7) 0x44: 0x0d2c4455 (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 OP Type Pre-OP op[0]: 0x9f, read w/o addr, none op[1]: 0x03, read w/ addr, none op[2]: 0x05, read w/o addr, none op[3]: 0x04, write w/o addr, none op[4]: 0x52, write w/ addr, none op[5]: 0xd8, write w/ addr, none op[6]: 0x02, write w/ addr, none op[7]: 0x01, write w/o addr, none Pre-OP 0: 0x06, Pre-OP 1: 0x50 SPI Read Configuration: prefetching disabled, caching enabled, OK. The following protocols are supported: SPI. Probing for AMIC A25L05PT, 64 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L05PU, 64 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L10PT, 128 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L10PU, 128 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L20PT, 256 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L20PU, 256 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L40PT, 512 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L40PU, 512 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L80P, 1024 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L16PT, 2048 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L16PU, 2048 kB: RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L512, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L010, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L020, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L040, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L080, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L016, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25L032, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for AMIC A25LQ032, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF021, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF041A, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF081, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF081A, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF161, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF321, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF321A, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DF641(A), 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25DQ161, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25F512B, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25FS010, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT25FS040, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT26DF041, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT26DF081A, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT26DF161, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT26DF161A, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT26F004, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45CS1282, 16896 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB011D, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB021D, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB041D, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB081D, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB161D, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB321C, 4224 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB321D, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Atmel AT45DB642D, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for EMST F25L008A, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B05, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B05T, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B10, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B10T, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B20, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B20T, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B40T, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B80, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B80T, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B16T, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B32T, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25B64T, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F05, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F10, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F20, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F80, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25F32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25Q40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25Q80(A), 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25Q16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25Q32(A/B), 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25Q64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25Q128, 16384 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25QH16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Eon EN25QH32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q20, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q80, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for GigaDevice GD25Q128, 16384 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L512, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L1005, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L2005, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L4005, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L8005, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L1605, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L1635D, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L1635E, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L3205, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L3235D, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L6405, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Macronix MX25L12805, 16384 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Numonyx M25PE10, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Numonyx M25PE20, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Numonyx M25PE40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Numonyx M25PE80, 1024 kB: RDID returned 0x20 0x80 0x14. 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: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Numonyx N25Q064, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for PMC Pm25LV010, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for PMC Pm25LV016B, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for PMC Pm25LV020, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for PMC Pm25LV040, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for PMC Pm25LV080B, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for PMC Pm25LV512, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Sanyo LF25FW203A, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Spansion S25FL004A, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Spansion S25FL008A, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Spansion S25FL016A, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Spansion S25FL032A, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Spansion S25FL064A, 8192 kB: RDID returned 0x20 0x80 0x14. 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: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for SST SST25VF032B, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for SST SST25VF064C, 8192 kB: RDID returned 0x20 0x80 0x14. 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: RDID returned 0x20 0x80 0x14. 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: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P05-A, 64 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P05, 64 kB: RDID returned 0x20 0x80 0x14. Ignoring RES in favour of RDID. Probing for ST M25P10-A, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P10, 128 kB: RDID returned 0x20 0x80 0x14. Ignoring RES in favour of RDID. Probing for ST M25P20, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P40-old, 512 kB: RDID returned 0x20 0x80 0x14. Ignoring RES in favour of RDID. Probing for ST M25P80, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25P128, 16384 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25PX16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25PX32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for ST M25PX64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25Q80, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25Q16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25Q32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25Q64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25Q128, 16384 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X10, 128 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X20, 256 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X40, 512 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X80, 1024 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X16, 2048 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X32, 4096 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Winbond W25X64, 8192 kB: RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Probing for Unknown SFDP-capable chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. spi_sfdp_read_sfdp_chunk: addr=0x0, len=2, data: Invalid OPCODE 0x5a, will not execute. Receiving SFDP signature failed. Not unmapping zero size at 0xffffffffffffffff Probing for AMIC unknown AMIC SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14 0x00. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for Atmel unknown Atmel SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for Eon unknown Eon SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for Macronix unknown Macronix SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for PMC unknown PMC SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for SST unknown SST SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for ST unknown ST SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for Sanyo unknown Sanyo SPI chip, 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for Generic unknown SPI chip (RDID), 0 kB: Not mapping flash chip, zero size at 0x00000000. RDID returned 0x20 0x80 0x14. probe_spi_rdid_generic: id1 0x20, id2 0x8014 Not unmapping zero size at 0xffffffffffffffff Probing for Generic unknown SPI chip (REMS), 0 kB: Not mapping flash chip, zero size at 0x00000000. Invalid OPCODE 0x90, will not execute. Not unmapping zero size at 0xffffffffffffffff Found Numonyx flash chip "M25PE80" (1024 kB, SPI). Reading flash... done. Restoring MMIO space at 0x7f34c4755070 Restoring PCI config space for 00:1f:0 reg 0xdc Denis. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 21:08:21 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 21:08:21 +0100 Subject: [flashrom] [PATCH] Pimp the manpage to create nicer hyperlinks and HTML output. Message-ID: <1451074101-11381-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> Also, add a target to the makefile to build a flashrom.8.html with groff. FIXME: svn:ignore for the html Signed-off-by: Stefan Tauner --- Makefile | 5 ++- flashrom.8.tmpl | 101 ++++++++++++++++++++++++++++++++++++-------------------- 2 files changed, 69 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index c439d8d..6e9dc19 100644 --- a/Makefile +++ b/Makefile @@ -799,7 +799,7 @@ TAROPTIONS = $(shell LC_ALL=C tar --version|grep -q GNU && echo "--owner=root -- # This includes all frontends and libflashrom. # We don't use EXEC_SUFFIX here because we want to clean everything. clean: - rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a *.o *.d $(PROGRAM).8 + rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a *.o *.d $(PROGRAM).8 $(PROGRAM).8.html @+$(MAKE) -C util/ich_descriptors_tool/ clean distclean: clean @@ -1054,6 +1054,9 @@ endif @$(DIFF) -q .features.tmp .features >/dev/null 2>&1 && rm .features.tmp || mv .features.tmp .features @rm -f .featuretest.c .featuretest$(EXEC_SUFFIX) +$(PROGRAM).8.html: $(PROGRAM).8 + @groff -mandoc -Thtml $< >$@ + $(PROGRAM).8: $(PROGRAM).8.tmpl @sed -e '1 s#".*".*#"$(shell ./util/getrevision.sh -d $(PROGRAM).8.tmpl 2>/dev/null)" "$(VERSION)"#' <$< >$@ diff --git a/flashrom.8.tmpl b/flashrom.8.tmpl index 8b5f98c..1be8698 100644 --- a/flashrom.8.tmpl +++ b/flashrom.8.tmpl @@ -1,3 +1,38 @@ +.\" Load the www device when using groff; provide a fallback for groff's MTO macro that formats email addresses. +.ie \n[.g] \ +. mso www.tmac +.el \ +. de MTO \\$2 \(la\\$1 \(ra\\$3 +.. +.\" Create wrappers for .MTO and .URL that print only text on systems w/o groff or if not outputting to a HTML +.\" device. To that end we need to distinguish HTML output on groff from other configurations first. +.nr groffhtml 0 +.if \n[.g] \ +. if "\*[.T]"html" \ +. nr groffhtml 1 +.\" For code reuse create a generic wrapper that gets its target macro as first parameter. +.de FKGRF +. ds cmd \\$1 +. shift +. ie (\n[groffhtml]==1) \{\ +. \\*[cmd] \\$@ +. \} +. el \{\ +. ie "\\$2"" \{\ +. BR "\\$1" "\\$3" +. \} +. el \{\ +. RB "\\$2 \(la" "\\$1" "\(ra\\$3" +. \} +. \} +.. +.de URLB +. FKGRF URL \\$@ +.. +.\" Likewise for the MTO macro. FIXME: can these be combined? +.de MTOB +. FKGRF MTO \\$@ +.. .TH FLASHROM 8 "" "" .SH NAME flashrom \- detect, read, write, verify and erase flash chips @@ -160,9 +195,8 @@ if you have proper means to recover from failure! Same as .BR \-\-list\-supported , but outputs the supported hardware in MediaWiki syntax, so that it can be -easily pasted into the wiki page at -.nh -.BR http://www.flashrom.org/ . +easily pasted into the +.URLB https://www.flashrom.org/Supported_hardware "supported hardware wiki page" . Please note that MediaWiki output is not compiled in by default. .TP .B "\-p, \-\-programmer [:parameter[,parameter[,parameter]]]" @@ -453,9 +487,9 @@ unusable (see also the .B BUGS section). The embedded controller (EC) in these machines often interacts badly with flashing. -.nh -.B http://www.flashrom.org/Laptops -has more information. For example the EC firmware sometimes resides on the same +More information is +.URLB http://www.flashrom.org/Laptops "in the wiki" . +For example the EC firmware sometimes resides on the same flash chip as the host firmware. While flashrom tries to change the contents of that memory the EC might need to fetch new instructions or data from it and could stop working correctly. Probing for and reading from the chip may also @@ -628,8 +662,7 @@ syntax where .B addr will be interpreted as usual (leading 0x (0) for hexadecimal (octal) values, or else decimal). For more information please see -.nh -.B http://flashrom.org/VT6421A +.URLB http://flashrom.org/VT6421A "its wiki page" . .SS .BR "nicintel_eeprom " programmer This is the first programmer module in flashrom that does not provide access to NOR flash chips but EEPROMs @@ -733,9 +766,9 @@ where .B state can be .BR on " or " off . -More information about the Bus Pirate pull-up resistors and their purpose is available at -.nh -.BR "http://dangerousprototypes.com/docs/Practical_guide_to_Bus_Pirate_pull-up_resistors " . +More information about the Bus Pirate pull-up resistors and their purpose is available +.URLB "http://dangerousprototypes.com/docs/Practical_guide_to_Bus_Pirate_pull-up_resistors" \ +"in a guide by dangerousprototypes" . Only the external supply voltage (Vpu) is supported as of this writing. .SS .BR "pickit2_spi " programmer @@ -842,17 +875,13 @@ can be STK200/300, " wiggler " for the Macraigor Wiggler, or " xilinx " for the Xilinx Parallel Cable III (DLC 5)." .sp More information about the RayeR hardware is available at -.nh -.BR "http://rayer.ic.cz/elektro/spipgm.htm " . +.URLB "http://rayer.g6.cz/elektro/spipgm.htm" "RayeR's website" . The Altera ByteBlasterMV datasheet can be obtained from -.nh -.BR "http://www.altera.co.jp/literature/ds/dsbytemv.pdf " . +.URLB "http://www.altera.co.jp/literature/ds/dsbytemv.pdf" Altera . For more information about the Macraigor Wiggler see -.nh -.BR "http://www.macraigor.com/wiggler.htm " . +.URLB "http://www.macraigor.com/wiggler.htm" "their company homepage" . The schematic of the Xilinx DLC 5 was published in -.nh -.BR "http://www.xilinx.com/support/documentation/user_guides/xtp029.pdf " . +.URLB "http://www.xilinx.com/support/documentation/user_guides/xtp029.pdf" "a Xilinx user guide" . .SS .BR "pony_spi " programmer The serial port (like /dev/ttyS0, /dev/ttyUSB0 on Linux or COM3 on windows) is @@ -865,8 +894,7 @@ named "serbang". The optional parameter accepts the values "si_prog" (default) or "serbang". .sp Information about the SI-Prog adapter can be found at -.nh -.BR "http://www.lancos.com/siprogsch.html " . +.URLB "http://www.lancos.com/siprogsch.html" "its website" . .sp An example call to flashrom is .sp @@ -1022,7 +1050,7 @@ needs TCP access to the network or userspace access to a serial port. .B buspirate_spi needs userspace access to a serial port. .sp -.BR dediprog ", " ft2232_spi " and " usbblaster_spi and " pickit2_spi +.BR dediprog ", " ft2232_spi ", " usbblaster_spi " and " pickit2_spi need access to the USB device via libusb. .sp .B dummy @@ -1032,7 +1060,7 @@ needs no access permissions at all. .BR gfxnvidia ", " drkaiser ", " satasii ", " satamv ", " atahpt" and " atavia have to be run as superuser/root, and need additional raw access permission. .sp -.BR serprog ", " buspirate_spi ", " dediprog ", " usbblaster_spi " and " ft2232_spi and " pickit2_spi +.BR serprog ", " buspirate_spi ", " dediprog ", " usbblaster_spi ", " ft2232_spi " and " pickit2_spi can be run as normal user on most operating systems if appropriate device permissions are set. .sp @@ -1045,23 +1073,22 @@ in .B "/etc/rc.securelevel" and rebooting, or rebooting into single user mode. .SH BUGS -Please report any bugs to the flashrom mailing list at -.B "" +Please report any bugs to the +.MTOB "flashrom at flashrom.org" "flashrom mailing list" . .sp We recommend to subscribe first at -.sp -.B " http://www.flashrom.org/mailman/listinfo/flashrom" +.URLB "http://www.flashrom.org/mailman/listinfo/flashrom" "" . .sp Many of the developers communicate via the .B "#flashrom" IRC channel on .BR chat.freenode.net . +If you don't have an IRC client, you can use the +.URLB http://webchat.freenode.net/?channels=flashrom "freenode webchat" . You are welcome to join and ask questions, send us bug and success reports there too. Please provide a way to contact you later (e.g.\& a mail address) and be -patient if there is no immediate reaction. Also, we provide a pastebin service -at -.nh -.B http://paste.flashrom.org +patient if there is no immediate reaction. Also, we provide a +.URLB http://paste.flashrom.org "pastebin service" that is very useful when you want to share logs etc.\& without spamming the channel. .SS @@ -1076,8 +1103,8 @@ paragraph in the .B internal programmer subsection of the .B PROGRAMMER-SPECIFIC INFORMATION -section and the information in our wiki at -.BR "http://www.flashrom.org/Laptops " . +section and the information +.URLB "http://www.flashrom.org/Laptops" "in our wiki" . .SS One-time programmable (OTP) memory and unique IDs .sp @@ -1172,8 +1199,10 @@ Yinghai Lu .br some others, please see the flashrom svn changelog for details. .br -All still active authors can be reached via email at . +All still active authors can be reached via +.MTOB "flashrom at flashrom.org" "the mailing list" . .PP -This manual page was written by Uwe Hermann , -Carl-Daniel Hailfinger and others. +This manual page was written by +.MTOB "uwe at hermann-uwe.de" "Uwe Hermann" , +Carl-Daniel Hailfinger, Stefan Tauner and others. It is licensed under the terms of the GNU GPL (version 2 or later). -- Kind regards, Stefan Tauner From urjaman at gmail.com Fri Dec 25 22:17:49 2015 From: urjaman at gmail.com (Urja Rannikko) Date: Fri, 25 Dec 2015 23:17:49 +0200 Subject: [flashrom] [PATCH] Rigorously check integrity of I/O stream data. In-Reply-To: <201512170002.tBH028Et015803@mail2.student.tuwien.ac.at> References: <201511221736.tAMHaEx4025379@mail2.student.tuwien.ac.at> <1448214202-22369-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> <201512170002.tBH028Et015803@mail2.student.tuwien.ac.at> Message-ID: Hi, A small nitpick here: + struct stat image_stat; + if (fstat(fileno(image), &image_stat) != 0) { + msg_gerr("Error: getting metadata of file \"%s\" failed: %s\n", filename, strerror(errno)); + ret = 1; + goto out; + } + // Try to fsync() only regular files if that function is available at all (e.g. not provided by MinGW). +#if defined(_POSIX_FSYNC) && (_POSIX_FSYNC != -1) + if (S_ISREG(image_stat.st_mode)) { + if (fsync(fileno(image))) { + msg_gerr("Error: fsyncing file \"%s\" failed: %s\n", filename, strerror(errno)); + ret = 1; + } + } +#endif Do we want to fstat if we're not using the results (on mingw), meaning i suggest move the ifdef above struct stat definition. Atleast with that moved, Acked-by: Urja Rannikko -- Urja Rannikko From svn at flashrom.org Fri Dec 25 22:59:46 2015 From: svn at flashrom.org (repository service) Date: Fri, 25 Dec 2015 22:59:46 +0100 Subject: [flashrom] [commit] r1902 - trunk Message-ID: Author: stefanct Date: Fri Dec 25 22:59:45 2015 New Revision: 1902 URL: http://flashrom.org/trac/flashrom/changeset/1902 Log: Rigorously check integrity of I/O stream data. Even if fwrite() succeeds the data is not necessarily out of the clib's buffers and writing it eventually could fail. Even if the data is flushed out (explicitly by fflush() or implicitly by fclose()) the kernel might still hold a buffer. Previously we have ignored this to a large extent - even in important cases like writing the flash contents to a file. The results can be truncated images that would brick the respective machine if written back as is (though flashrom would not allow that due to a size mismatch). flashrom would not indicate the problem in any output - so far we only check the return value of fwrite() that is not conclusive. This patch checks the return values of all related system calls like fclose() unless we only read the file and are not really interested in output errors. In the latter case the return value is casted to void to document this fact. Additionally, this patch explicitly calls fflush() and fsync() (on regular files only) to do the best we can to guarantee the read image reaches the disk safely and at least inform the user if it did not work. Signed-off-by: Stefan Tauner Acked-by: Urja Rannikko Modified: trunk/flashrom.c trunk/layout.c trunk/processor_enable.c Modified: trunk/flashrom.c ============================================================================== --- trunk/flashrom.c Sun Nov 22 03:23:31 2015 (r1901) +++ trunk/flashrom.c Fri Dec 25 22:59:45 2015 (r1902) @@ -28,6 +28,7 @@ #include #endif #include +#include #include #include #include @@ -1255,36 +1256,36 @@ msg_gerr("Error: No file I/O support in libpayload\n"); return 1; #else - unsigned long numbytes; - FILE *image; - struct stat image_stat; + int ret = 0; + FILE *image; if ((image = fopen(filename, "rb")) == NULL) { msg_gerr("Error: opening file \"%s\" failed: %s\n", filename, strerror(errno)); return 1; } + + struct stat image_stat; if (fstat(fileno(image), &image_stat) != 0) { msg_gerr("Error: getting metadata of file \"%s\" failed: %s\n", filename, strerror(errno)); - fclose(image); - return 1; + ret = 1; + goto out; } if (image_stat.st_size != size) { msg_gerr("Error: Image size (%jd B) doesn't match the flash chip's size (%lu B)!\n", (intmax_t)image_stat.st_size, size); - fclose(image); - return 1; - } - numbytes = fread(buf, 1, size, image); - if (fclose(image)) { - msg_gerr("Error: closing file \"%s\" failed: %s\n", filename, strerror(errno)); - return 1; + ret = 1; + goto out; } + + unsigned long numbytes = fread(buf, 1, size, image); if (numbytes != size) { msg_gerr("Error: Failed to read complete file. Got %ld bytes, " "wanted %ld!\n", numbytes, size); - return 1; + ret = 1; } - return 0; +out: + (void)fclose(image); + return ret; #endif } @@ -1294,8 +1295,8 @@ msg_gerr("Error: No file I/O support in libpayload\n"); return 1; #else - unsigned long numbytes; FILE *image; + int ret = 0; if (!filename) { msg_gerr("No filename specified.\n"); @@ -1306,14 +1307,37 @@ return 1; } - numbytes = fwrite(buf, 1, size, image); - fclose(image); + unsigned long numbytes = fwrite(buf, 1, size, image); if (numbytes != size) { - msg_gerr("File %s could not be written completely.\n", - filename); - return 1; + msg_gerr("Error: file %s could not be written completely.\n", filename); + ret = 1; + goto out; + } + if (fflush(image)) { + msg_gerr("Error: flushing file \"%s\" failed: %s\n", filename, strerror(errno)); + ret = 1; } - return 0; + // Try to fsync() only regular files and if that function is available at all (e.g. not on MinGW). +#if defined(_POSIX_FSYNC) && (_POSIX_FSYNC != -1) + struct stat image_stat; + if (fstat(fileno(image), &image_stat) != 0) { + msg_gerr("Error: getting metadata of file \"%s\" failed: %s\n", filename, strerror(errno)); + ret = 1; + goto out; + } + if (S_ISREG(image_stat.st_mode)) { + if (fsync(fileno(image))) { + msg_gerr("Error: fsyncing file \"%s\" failed: %s\n", filename, strerror(errno)); + ret = 1; + } + } +#endif +out: + if (fclose(image)) { + msg_gerr("Error: closing file \"%s\" failed: %s\n", filename, strerror(errno)); + ret = 1; + } + return ret; #endif } Modified: trunk/layout.c ============================================================================== --- trunk/layout.c Sun Nov 22 03:23:31 2015 (r1901) +++ trunk/layout.c Fri Dec 25 22:59:45 2015 (r1902) @@ -65,7 +65,7 @@ if (num_rom_entries >= MAX_ROMLAYOUT) { msg_gerr("Maximum number of ROM images (%i) in layout " "file reached.\n", MAX_ROMLAYOUT); - fclose(romlayout); + (void)fclose(romlayout); return 1; } if (2 != fscanf(romlayout, "%s %s\n", tempstr, rom_entries[num_rom_entries].name)) @@ -80,7 +80,7 @@ tstr2 = strtok(NULL, ":"); if (!tstr1 || !tstr2) { msg_gerr("Error parsing layout file. Offending string: \"%s\"\n", tempstr); - fclose(romlayout); + (void)fclose(romlayout); return 1; } rom_entries[num_rom_entries].start = strtol(tstr1, (char **)NULL, 16); @@ -95,7 +95,7 @@ rom_entries[i].end, rom_entries[i].name); } - fclose(romlayout); + (void)fclose(romlayout); return 0; } Modified: trunk/processor_enable.c ============================================================================== --- trunk/processor_enable.c Sun Nov 22 03:23:31 2015 (r1901) +++ trunk/processor_enable.c Fri Dec 25 22:59:45 2015 (r1902) @@ -57,11 +57,11 @@ ptr++; while (*ptr && isspace((unsigned char)*ptr)) ptr++; - fclose(cpuinfo); + (void)fclose(cpuinfo); return (strncmp(ptr, "ICT Loongson-2 V0.3", strlen("ICT Loongson-2 V0.3")) == 0) || (strncmp(ptr, "Godson2 V0.3 FPU V0.1", strlen("Godson2 V0.3 FPU V0.1")) == 0); } - fclose(cpuinfo); + (void)fclose(cpuinfo); return 0; } #endif From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 23:10:25 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 23:10:25 +0100 Subject: [flashrom] [PATCH] Rigorously check integrity of I/O stream data. In-Reply-To: References: <201511221736.tAMHaEx4025379@mail2.student.tuwien.ac.at> <1448214202-22369-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> <201512170002.tBH028Et015803@mail2.student.tuwien.ac.at> Message-ID: <201512252210.tBPMAPmZ009765@mail2.student.tuwien.ac.at> On Fri, 25 Dec 2015 23:17:49 +0200 Urja Rannikko wrote: > Hi, > > A small nitpick here: > + struct stat image_stat; > + if (fstat(fileno(image), &image_stat) != 0) { > + msg_gerr("Error: getting metadata of file \"%s\" failed: > %s\n", filename, strerror(errno)); > + ret = 1; > + goto out; > + } > + // Try to fsync() only regular files if that function is > available at all (e.g. not provided by MinGW). > +#if defined(_POSIX_FSYNC) && (_POSIX_FSYNC != -1) > + if (S_ISREG(image_stat.st_mode)) { > + if (fsync(fileno(image))) { > + msg_gerr("Error: fsyncing file \"%s\" failed: %s\n", > filename, strerror(errno)); > + ret = 1; > + } > + } > +#endif > > Do we want to fstat if we're not using the results (on mingw), meaning > i suggest move the ifdef above struct stat definition. > Atleast with that moved, > Acked-by: Urja Rannikko > True! Thanks. Committed in r1902. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From svn at flashrom.org Fri Dec 25 23:13:15 2015 From: svn at flashrom.org (repository service) Date: Fri, 25 Dec 2015 23:13:15 +0100 Subject: [flashrom] [commit] r1903 - trunk Message-ID: Author: stefanct Date: Fri Dec 25 23:13:15 2015 New Revision: 1903 URL: http://flashrom.org/trac/flashrom/changeset/1903 Log: Add support for Sanyo LE25FU406C/LE25U40CMC. Signed-off-by: Stefan Tauner Tested-by: Jose Luis Le?n Acked-by: Stefan Tauner Modified: trunk/flashchips.c trunk/flashchips.h Modified: trunk/flashchips.c ============================================================================== --- trunk/flashchips.c Fri Dec 25 22:59:45 2015 (r1902) +++ trunk/flashchips.c Fri Dec 25 23:13:15 2015 (r1903) @@ -10675,6 +10675,43 @@ { .vendor = "Sanyo", + .name = "LE25FU406C/LE25U40CMC", + .bustype = BUS_SPI, + .manufacture_id = SANYO_ID, + .model_id = SANYO_LE25FU406C, + .total_size = 512, + .page_size = 256, + .feature_bits = FEATURE_WRSR_WREN, + .tested = TEST_OK_PR, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = { + { + .eraseblocks = { {4 * 1024, 128} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {4 * 1024, 128} }, + .block_erase = spi_block_erase_d7, + }, { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + } + }, + .printlock = spi_prettyprint_status_register_bp2_srwd, + .unlock = spi_disable_blockprotect_bp2_srwd, + .write = spi_chip_write_256, + .read = spi_chip_read, /* Fast read (0x0B), dual read (0x3B) and dual I/O (0xBB) supported */ + .voltage = {2300, 3600}, + }, + + { + .vendor = "Sanyo", .name = "LE25FW203A", .bustype = BUS_SPI, .manufacture_id = SANYO_ID, Modified: trunk/flashchips.h ============================================================================== --- trunk/flashchips.h Fri Dec 25 22:59:45 2015 (r1902) +++ trunk/flashchips.h Fri Dec 25 23:13:15 2015 (r1903) @@ -595,6 +595,7 @@ #define SANYO_LE25FW418A 0x10 /* RES2 and some weird 1 byte RDID variant */ #define SANYO_LE25FW406A 0x1A /* RES2, no datasheet */ #define SANYO_LE25FU406B 0x1E /* LE25FW418A without HD_READ mode option variant */ +#define SANYO_LE25FU406C 0x0613 /* Also known as LE25U40CMC apparently */ #define SANYO_LE25FW806 0x26 /* RES2 and some weird 1 byte RDID variant */ #define SANYO_LE25FW808 0x20 /* RES2 and some weird 1 byte RDID variant */ From svn at flashrom.org Fri Dec 25 23:42:46 2015 From: svn at flashrom.org (repository service) Date: Fri, 25 Dec 2015 23:42:46 +0100 Subject: [flashrom] [commit] r1904 - trunk Message-ID: Author: stefanct Date: Fri Dec 25 23:42:45 2015 New Revision: 1904 URL: http://flashrom.org/trac/flashrom/changeset/1904 Log: Add support for libftdi1. Many distros no longer provide libftdi 0.2, and as a result, programmers that depend on libftdi must be disabled to compile flashrom. Luckily the libftdi API did not change significantly, so for our purposes, we can simply use the newer headers and link to the newer library if it is available. Signed-off-by: Alexandru Gagniuc Signed-off-by: Stefan Tauner Acked-by: Stefan Tauner Modified: trunk/Makefile Modified: trunk/Makefile ============================================================================== --- trunk/Makefile Fri Dec 25 23:13:15 2015 (r1903) +++ trunk/Makefile Fri Dec 25 23:42:45 2015 (r1904) @@ -634,8 +634,10 @@ endif ifeq ($(NEED_FTDI), yes) -FTDILIBS := $(shell ([ -n "$(PKG_CONFIG_LIBDIR)" ] && export PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)" ); pkg-config --libs libftdi || printf "%s" "-lftdi -lusb") +FTDILIBS := $(shell ([ -n "$(PKG_CONFIG_LIBDIR)" ] && export PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)" ); pkg-config --libs libftdi1 || pkg-config --libs libftdi || printf "%s" "-lftdi -lusb") FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FT232H := yes" .features && printf "%s" "-D'HAVE_FT232H=1'") +FTDI_INCLUDES := $(shell ([ -n "$(PKG_CONFIG_LIBDIR)" ] && export PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)" ); pkg-config --cflags-only-I libftdi1) +FEATURE_CFLAGS += $(FTDI_INCLUDES) FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)") # We can't set NEED_USB here because that would transform libftdi auto-enabling # into a hard requirement for libusb, defeating the purpose of auto-enabling. @@ -759,7 +761,7 @@ ifeq ($(NEED_USB), yes) CHECK_LIBUSB0 = yes FEATURE_CFLAGS += -D'NEED_USB=1' -USBLIBS := $(shell ([ -n "$(PKG_CONFIG_LIBDIR)" ] && export PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)" ); pkg-config --libs libusb || printf "%s" "-lusb") +USBLIBS := $(shell ([ -n "$(PKG_CONFIG_LIBDIR)" ] && export PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)" ); pkg-config --libs libusb || printf "%s" "-lusb") endif ifeq ($(CONFIG_PRINT_WIKI), yes) @@ -1023,12 +1025,12 @@ ifeq ($(NEED_FTDI), yes) @printf "Checking for FTDI support... " @echo "$$FTDI_TEST" > .featuretest.c - @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ + @$(CC) $(CPPFLAGS) $(CFLAGS) $(FTDI_INCLUDES) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ ( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \ ( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp ) @printf "Checking for FT232H support in libftdi... " @echo "$$FTDI_232H_TEST" >> .featuretest.c - @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ + @$(CC) $(CPPFLAGS) $(CFLAGS) $(FTDI_INCLUDES) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ ( echo "found."; echo "FT232H := yes" >> .features.tmp ) || \ ( echo "not found."; echo "FT232H := no" >> .features.tmp ) endif From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 23:45:02 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 23:45:02 +0100 Subject: [flashrom] [PATCH 1/3] Add support for libftdi1. In-Reply-To: <1447602047-6903-2-git-send-email-stefan.tauner@alumni.tuwien.ac.at> References: <1447602047-6903-1-git-send-email-stefan.tauner@alumni.tuwien.ac.at> <1447602047-6903-2-git-send-email-stefan.tauner@alumni.tuwien.ac.at> Message-ID: <201512252245.tBPMj2on007317@mail2.student.tuwien.ac.at> On Sun, 15 Nov 2015 16:40:45 +0100 Stefan Tauner wrote: > Many distros no longer provide libftdi 0.2, and as a result, > programmers that depend on libftdi must be disabled. This means that > popular programmers, such as ft2232_spi are now disabled in modern > distros. Luckily the libftdi API did not change significantly, so > for our purposes, we can simply use the newer headers and link to the > newer library. > > Signed-off-by: Alexandru Gagniuc > Signed-off-by: Stefan Tauner Self-acked and committed in r1904. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Fri Dec 25 23:50:38 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Fri, 25 Dec 2015 23:50:38 +0100 Subject: [flashrom] [PATCH 3/4] FTDI: switch to libftdi-1.0 In-Reply-To: <1364668295-4612-3-git-send-email-kyosti.malkki@gmail.com> References: <1364668295-4612-1-git-send-email-kyosti.malkki@gmail.com> <1364668295-4612-3-git-send-email-kyosti.malkki@gmail.com> Message-ID: <201512252250.tBPMocZP012264@mail2.student.tuwien.ac.at> On Sat, 30 Mar 2013 20:31:34 +0200 Ky?sti M?lkki wrote: > Update to libftdi-1.0 is advertised as a drop-in replacement for libftdi, > running on top of libusb-1.0. This also removes indirect dependency to > libusb-0.1. > > NOTE: pre-compiled libftdi-1.0 packages may not be available yet > NOTE: package named libftdi1 may install libftdi-0.19 (debian) > > Signed-off-by: Ky?sti M?lkki An alternative version of this went in with r1904 that should work with both libraries. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From de_koepi at gmx.de Sun Dec 27 10:11:49 2015 From: de_koepi at gmx.de (Dirk Knop) Date: Sun, 27 Dec 2015 10:11:49 +0100 Subject: [flashrom] serprog: Pm25LQ032C erase/write working Message-ID: <59AA2522-C2B9-4F34-B908-CB4BF9540B80@gmx.de> Hello dear flashrom developers, the code told me to contact you: flashrom -p serprog:dev=/dev/tty.usbserial-AM0212W4:115200 -w vonets-fullbackup-edited.bin flashrom v0.9.8-unknown on Darwin 15.2.0 (x86_64) flashrom is free software, get the source code at http://www.flashrom.org Calibrating delay loop... OK. serprog: Programmer name is "frser-duino" serprog: requested mapping AT45CS1282 is incompatible: 0x1080000 bytes at 0x00000000fef80000. Found PMC flash chip "Pm25LQ032C" (4096 kB, SPI) on serprog. === This flash part has status UNTESTED for operations: 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 at flashrom.org if any of the above operations work correctly for you with this flash chip. Please include the flashrom log file for all operations you tested (see the man page for details), and mention which mainboard or programmer you tested in the subject line. Thanks for your help! Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash? I didn?t make any logs, but use flashrom/HEAD (thus latest development branch) with homebrew on Mac OS X for 5 days and successfully read, erase and write that SPI flash several times already. I hope this helps! Cheers, Dirk -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 496 bytes Desc: Message signed with OpenPGP using GPGMail URL: From federico.tomasi at gmail.com Sun Dec 27 14:51:03 2015 From: federico.tomasi at gmail.com (Federico Tomasi) Date: Sun, 27 Dec 2015 14:51:03 +0100 Subject: [flashrom] HP XW9300 mainboard In-Reply-To: <201512250124.tBP1Ok6R007789@mail2.student.tuwien.ac.at> References: <201512250124.tBP1Ok6R007789@mail2.student.tuwien.ac.at> Message-ID: Hi Stefan, thank you very much for your reply. So I will see if to keep my motherboard as it is or to change it with a different one. Have an happy new year! Cheers, Federico Questa e-mail ? stata inviata da un computer privo di virus protetto da Avast. www.avast.com <#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2> 2015-12-25 2:24 GMT+01:00 Stefan Tauner : > On Wed, 12 Aug 2015 10:55:06 +0000 > Federico Tomasi wrote: > > > Hi, > > > > I already tried some time ago to flash my hp xw9300 mainboard bios but > with > > no luck. Then I realized that I was using Ubuntu on a VirtualBox so it > > maybe could not access the mainborad chip... > > > > I retried in these days using an Ubuntu live-cd, and I also read this > old > > forum thread > > > > > http://forums.bit-tech.net/showpost.php?s=c0347634d93e911f8254f28ec1a83fc1&p=2176448&postcount=6 > > > > where a guy tells to have succesfully written a Tyan original bios on > the > > HP branded version of the same mainboard (the Tyan K8WE S2895) that is > the > > HP XW9300 mainboard. > > (I didn't connect pins as he edit it wasn't necessary to do that but to > > enable the jumper of boot block) > > > > Hi Federico, > > it seems like different versions of the firmware engage different write > protection mechanisms and your version requires either a small piece of > code in flashrom to disable the write protection or the ugly hack of > connection the respective pins to VDD. The problem is that deriving the > right commands for the board is not straight forward and no one > bothered to find them yet (it requires reverse engineering the firmware > files). > > -- > Kind regards/Mit freundlichen Gr??en, Stefan Tauner > -------------- next part -------------- An HTML attachment was scrubbed... URL: From estellnb at elstel.org Sun Dec 27 23:17:11 2015 From: estellnb at elstel.org (Elmar Stellnberger) Date: Sun, 27 Dec 2015 23:17:11 +0100 Subject: [flashrom] Amilo Xi 3650 - patch works In-Reply-To: <201512241914.tBOJEHCZ021674@mail2.student.tuwien.ac.at> References: <55FB1E79.8010007@elstel.org> <201509292324.t8TNOfBq028787@mail2.student.tuwien.ac.at> <560BFB61.1010606@elstel.org> <201512241914.tBOJEHCZ021674@mail2.student.tuwien.ac.at> Message-ID: <56806367.5080904@elstel.org> Read support works well with Stefan`s patch (even during music playback). It should not be necessary to test write support another time, or should it? root:~/flashrom> flashrom --programmer internal --read current-Xi3650-bios.flashrom-img flashrom v0.9.8-r1904 on Linux 4.2.5-1-ARCH (x86_64) flashrom is free software, get the source code at http://www.flashrom.org Calibrating delay loop... OK. Found chipset "Intel ICH9M-E". Enabling flash write... OK. Found Winbond flash chip "W25X16" (2048 kB, SPI) mapped at physical address 0x00000000ffe00000. Reading flash... done. root:~/flashrom> ls -l current-Xi3650-bios.flashrom-img -rw-r--r-- 1 root root 2097152 27. Dez 23:05 current-Xi3650-bios.flashrom-img root:~/flashrom> md5sum 0001-Add-Fujitsu-Amilo-Xi-3650-to-laptop-whitelist.patch dcd89c6a3b44aeb0a186b4738f7784a2 0001-Add-Fujitsu-Amilo-Xi-3650-to-laptop-whitelist.patch Elmar Am 2015-12-24 um 20:14 schrieb Stefan Tauner: > On Wed, 30 Sep 2015 17:10:25 +0200 > Elmar Stellnberger wrote: > >> Hi Stefan, >> >> Here comes the requested information: >> (in the attachements) > > Hi, > > thanks for the files. I have created a patch (attached) that adds the > Amilo Xi 3650 to our list of supported laptop and also whitelists it so > that the warning at startup does not show up. Testing it would be > appreciated. > > Just one further question: what does that have to do with the Esprimo > E5730 that seems to be a completely unrelated desktop PC by FSC? :) > From goran.metlic at gmail.com Sun Dec 27 20:02:49 2015 From: goran.metlic at gmail.com (Goran Metlic) Date: Sun, 27 Dec 2015 20:02:49 +0100 Subject: [flashrom] Support and configuration In-Reply-To: References: Message-ID: Hi I have used Flashrom and raspberry pie to flash spi bios chips in past. I need now to flash a parallel flash chip. Is there any way to acomplish this using raspberry pie? Flah memory in question is am29lv800bttc-90. Kind regards Goran Metlic -------------- next part -------------- An HTML attachment was scrubbed... URL: From martonmiklosqdev at gmail.com Mon Dec 28 14:47:15 2015 From: martonmiklosqdev at gmail.com (=?UTF-8?B?TcOhcnRvbiBNaWtsw7Nz?=) Date: Mon, 28 Dec 2015 14:47:15 +0100 Subject: [flashrom] Successful flashing of a Dell Latitude D630 Message-ID: Hello all, My "try to flash all old stuff at home with flashrom" project continued. Today's victim was a Dell Latitude D630 with discrete VGA and BIOS version A07. I have successfully updated to the A17 BIOS version with the latest flasrom from svn. Now I have not forgotten to log the write so here it is: http://paste.flashrom.org/view.php?id=2853 I have also created a board enable patch to whitelist this notebook: http://paste.flashrom.org/view.php?id=2854 I have added the PCIe root hub's VID:PID without SSID and the SMBUS controller with SSID to the whitelisting PCI devices. -- Regards, Miklos Marton -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan.tauner at alumni.tuwien.ac.at Mon Dec 28 17:18:19 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Mon, 28 Dec 2015 17:18:19 +0100 Subject: [flashrom] Support and configuration In-Reply-To: References: Message-ID: <201512281618.tBSGIJR4011508@mail2.student.tuwien.ac.at> On Sun, 27 Dec 2015 20:02:49 +0100 Goran Metlic wrote: > Hi > > I have used Flashrom and raspberry pie to flash spi bios chips in past. I > need now to flash a parallel flash chip. Is there any way to acomplish this > using raspberry pie? Flah memory in question is am29lv800bttc-90. Hi Goran, it is possible but AFAIK no one has tried so far. One would need some additional chips to accomplish that IIRC because parallel chips require way more pins than the handful SPI needs and thus shift registered or similar elements would be needed - definitely not a project for one evening. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Mon Dec 28 17:21:09 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Mon, 28 Dec 2015 17:21:09 +0100 Subject: [flashrom] serprog: Pm25LQ032C erase/write working In-Reply-To: <59AA2522-C2B9-4F34-B908-CB4BF9540B80@gmx.de> References: <59AA2522-C2B9-4F34-B908-CB4BF9540B80@gmx.de> Message-ID: <201512281621.tBSGL9OC014381@mail2.student.tuwien.ac.at> On Sun, 27 Dec 2015 10:11:49 +0100 Dirk Knop wrote: > Hello dear flashrom developers, > > the code told me to contact you: > > flashrom -p serprog:dev=/dev/tty.usbserial-AM0212W4:115200 -w vonets-fullbackup-edited.bin > flashrom v0.9.8-unknown on Darwin 15.2.0 (x86_64) > flashrom is free software, get the source code at http://www.flashrom.org > > Calibrating delay loop... OK. > serprog: Programmer name is "frser-duino" > serprog: requested mapping AT45CS1282 is incompatible: 0x1080000 bytes at 0x00000000fef80000. > Found PMC flash chip "Pm25LQ032C" (4096 kB, SPI) on serprog. > === > This flash part has status UNTESTED for operations: 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 at flashrom.org if any of the above operations > work correctly for you with this flash chip. Please include the flashrom log > file for all operations you tested (see the man page for details), and mention > which mainboard or programmer you tested in the subject line. > Thanks for your help! > Reading old flash chip contents... done. > Erasing and writing flash chip... Erase/write done. > Verifying flash? > > I didn?t make any logs, but use flashrom/HEAD (thus latest development branch) with homebrew on Mac OS X for 5 days and successfully read, erase and write that SPI flash several times already. > > I hope this helps! Hello Dirk, thanks for your report! I have marked the flash chip as fully tested and will commit that later together with other small changes. Do you happen to know if homebrew adds any patches to vanilla flashrom or if flashrom builds natively without any changes? -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Mon Dec 28 17:24:49 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Mon, 28 Dec 2015 17:24:49 +0100 Subject: [flashrom] Amilo Xi 3650 - patch works In-Reply-To: <56806367.5080904@elstel.org> References: <55FB1E79.8010007@elstel.org> <201509292324.t8TNOfBq028787@mail2.student.tuwien.ac.at> <560BFB61.1010606@elstel.org> <201512241914.tBOJEHCZ021674@mail2.student.tuwien.ac.at> <56806367.5080904@elstel.org> Message-ID: <201512281624.tBSGOnc3018924@mail2.student.tuwien.ac.at> On Sun, 27 Dec 2015 23:17:11 +0100 Elmar Stellnberger wrote: > Read support works well with Stefan`s patch (even during music > playback). It should not be necessary to test write support another > time, or should it? Thanks! No further actions on your side are necessary. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From de_koepi at gmx.de Mon Dec 28 17:54:13 2015 From: de_koepi at gmx.de (Dirk Knop) Date: Mon, 28 Dec 2015 17:54:13 +0100 Subject: [flashrom] serprog: Pm25LQ032C erase/write working In-Reply-To: <201512281621.tBSGL9OC014381@mail2.student.tuwien.ac.at> References: <59AA2522-C2B9-4F34-B908-CB4BF9540B80@gmx.de> <201512281621.tBSGL9OC014381@mail2.student.tuwien.ac.at> Message-ID: <270BB496-19C2-428A-B278-E55F62728E97@gmx.de> Moin Moin Stefan, brew hat lediglich das git-repository geklont und compiliert. Patches zeigt es sonst an, wenn es die einpflegt. Grad mal ein ?Build-Log?: brew remove flashrom Uninstalling /usr/local/Cellar/flashrom/HEAD... (5 files, 432K) brew install --HEAD flashrom ==> Cloning svn://flashrom.org/flashrom/trunk Updating /Library/Caches/Homebrew/flashrom--svn-HEAD ==> make DESTDIR=/usr/local/Cellar/flashrom/HEAD PREFIX=/ install ???? /usr/local/Cellar/flashrom/HEAD: 5 files, 432K, built in 13 second Gru? Dirk > Am 28.12.2015 um 17:21 schrieb Stefan Tauner : > > On Sun, 27 Dec 2015 10:11:49 +0100 > Dirk Knop wrote: > >> Hello dear flashrom developers, >> >> the code told me to contact you: >> >> flashrom -p serprog:dev=/dev/tty.usbserial-AM0212W4:115200 -w vonets-fullbackup-edited.bin >> flashrom v0.9.8-unknown on Darwin 15.2.0 (x86_64) >> flashrom is free software, get the source code at http://www.flashrom.org >> >> Calibrating delay loop... OK. >> serprog: Programmer name is "frser-duino" >> serprog: requested mapping AT45CS1282 is incompatible: 0x1080000 bytes at 0x00000000fef80000. >> Found PMC flash chip "Pm25LQ032C" (4096 kB, SPI) on serprog. >> === >> This flash part has status UNTESTED for operations: 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 at flashrom.org if any of the above operations >> work correctly for you with this flash chip. Please include the flashrom log >> file for all operations you tested (see the man page for details), and mention >> which mainboard or programmer you tested in the subject line. >> Thanks for your help! >> Reading old flash chip contents... done. >> Erasing and writing flash chip... Erase/write done. >> Verifying flash? >> >> I didn?t make any logs, but use flashrom/HEAD (thus latest development branch) with homebrew on Mac OS X for 5 days and successfully read, erase and write that SPI flash several times already. >> >> I hope this helps! > > Hello Dirk, > > thanks for your report! > I have marked the flash chip as fully tested and will commit that later > together with other small changes. > Do you happen to know if homebrew adds any patches to vanilla flashrom > or if flashrom builds natively without any changes? > > -- > Kind regards/Mit freundlichen Gr??en, Stefan Tauner -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 496 bytes Desc: Message signed with OpenPGP using GPGMail URL: From sebmueller76 at gmail.com Mon Dec 28 12:46:44 2015 From: sebmueller76 at gmail.com (=?UTF-8?Q?Sebastian_M=c3=bcller?=) Date: Mon, 28 Dec 2015 12:46:44 +0100 Subject: [flashrom] Board FMCP7AM Message-ID: <56812124.7080700@gmail.com> kubuntu at kubuntu-desktop:~$ sudo flashrom -V flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian Command line (1 args): flashrom -V Please select a programmer with the --programmer parameter. Valid choices are: internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, ft2232_spi, serprog, buspirate_spi, rayer_spi, pony_spi, nicintel, nicintel_spi, ogp_spi, satamv kubuntu at kubuntu-desktop:~$ sudo flashrom -V -p internal flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian Command line (3 args): flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 2494M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 997 us, 10000 myus = 10017 us, 4 myus = 4 us, OK. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Packard Bell" DMI string system-product-name: "iMedia M3710" DMI string system-version: " " DMI string baseboard-manufacturer: "Packard Bell" DMI string baseboard-product-name: "FMCP7AM" DMI string baseboard-version: " " DMI string chassis-type: "Desktop" Found ITE Super I/O, ID 0x8718 on port 0x2e Found chipset "NVIDIA MCP79" with PCI ID 10de:0aac. Enabling flash write... This chipset is not really supported yet. Guesswork... ISA/LPC bridge reg 0x8a contents: 0x40, bit 6 is 1, bit 5 is 0 Flash bus type is SPI SPI on this chipset is WIP. Please report any success or failure by mailing us the verbose output to flashrom at flashrom.org, thanks! Found SMBus device 10de:0aa2 at 00:03:2 MCP SPI BAR is at 0xfe880000 Mapping NVIDIA MCP6x SPI at 0xfe880000, unaligned size 0x544. SPI control is 0xc052, req=0, gnt=0 Please send the output of "flashrom -V" to flashrom at flashrom.org with your board name: flashrom -V as the subject to help us finish support for your chipset. Thanks. OK. No IT87* serial flash segment enabled. The following protocols are supported: SPI. Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Chip status register is 00 Chip status register: Status Register Write Disable (SRWD) is not set Chip status register: Bit 6 is not set Chip status register: Block Protect 3 (BP3) is not set Chip status register: Block Protect 2 (BP2) is not set Chip status register: Block Protect 1 (BP1) is not set Chip status register: Block Protect 0 (BP0) is not set Chip status register: Write Enable Latch (WEL) is not set Chip status register: Write In Progress (WIP/BUSY) is not set Found Macronix flash chip "MX25L8005" (1024 kB, SPI) at physical address 0xfff00000. Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x13, id2 0x13 Probing for SST SST25LF080A, 1024 kB: probe_spi_res2: id1 0x13, id2 0x13 Probing for SST SST25VF010, 128 kB: probe_spi_rems: id1 0xc2, id2 0x13 Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for SST SST25VF040, 512 kB: probe_spi_rems: id1 0xc2, id2 0x13 Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for SST SST25VF040B.REMS, 512 kB: probe_spi_rems: id1 0xc2, id2 0x13 Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID. Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID. Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID. Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Unknown SFDP-capable chip, 0 kB: No SFDP signature found. Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0xc2, id2 0x13 Found Macronix flash chip "MX25L8005" (1024 kB, SPI). No operations were specified. From sebmueller76 at gmail.com Mon Dec 28 12:57:37 2015 From: sebmueller76 at gmail.com (=?UTF-8?Q?Sebastian_M=c3=bcller?=) Date: Mon, 28 Dec 2015 12:57:37 +0100 Subject: [flashrom] Board FMCP7AM In-Reply-To: <56812124.7080700@gmail.com> References: <56812124.7080700@gmail.com> Message-ID: <568123B1.7000803@gmail.com> kubuntu at kubuntu-desktop:~$ sudo flashrom -p internal -v -w /home/kubuntu/Downloads/BIOS_Packard_Bell_R01.A3C0_Windows_iMdM3710-5710/R01-A3C0.ROM flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org Error: Extra parameter found. Please run "flashrom --help" for usage info. kubuntu at kubuntu-desktop:~$ sudo flashrom -w /home/kubuntu/Downloads/BIOS_Packard_Bell_R01.A3C0_Windows_iMdM3710-5710/R01-A3C0.ROM flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org Please select a programmer with the --programmer parameter. Valid choices are: internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, ft2232_spi, serprog, buspirate_spi, rayer_spi, pony_spi, nicintel, nicintel_spi, ogp_spi, satamv kubuntu at kubuntu-desktop:~$ sudo flashrom -w /home/kubuntu/Downloads/BIOS_Packard_Bell_R01.A3C0_Windows_iMdM3710-5710/R01-A3C0.ROM -p internal flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org Calibrating delay loop... OK. Found chipset "NVIDIA MCP79". 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 at flashrom.org, thanks! Mapping NVIDIA MCP6x SPI at 0xfe880000, unaligned size 0x544. Please send the output of "flashrom -V" to flashrom at 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. Flash image seems to be a legacy BIOS. Disabling coreboot-related checks. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED. Am 28.12.2015 um 12:46 schrieb Sebastian M?ller: > kubuntu at kubuntu-desktop:~$ sudo flashrom -V > flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) > flashrom is free software, get the source code at http://www.flashrom.org > > flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian > Command line (1 args): flashrom -V > Please select a programmer with the --programmer parameter. > Valid choices are: > internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, > ft2232_spi, > serprog, buspirate_spi, rayer_spi, pony_spi, nicintel, nicintel_spi, > ogp_spi, > satamv > > > > > > > > kubuntu at kubuntu-desktop:~$ sudo flashrom -V -p internal > flashrom v0.9.6.1-r1563 on Linux 3.13.0-74-generic (x86_64) > > > flashrom is free software, get the source code at > http://www.flashrom.org > > > > > > flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian > > > Command line (3 args): flashrom -V -p internal > > > Calibrating delay loop... OS timer resolution is 1 usecs, 2494M loops > per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 997 us, > 10000 myus = 10017 us, 4 myus = 4 us, OK. > Initializing internal programmer > > > No coreboot table found. > > > DMI string system-manufacturer: "Packard Bell" > > > DMI string system-product-name: "iMedia M3710" > > > DMI string system-version: " " > > > DMI string baseboard-manufacturer: "Packard Bell" > > > DMI string baseboard-product-name: "FMCP7AM" > > > DMI string baseboard-version: " " > > > DMI string chassis-type: "Desktop" > > > Found ITE Super I/O, ID 0x8718 on port 0x2e > > > Found chipset "NVIDIA MCP79" with PCI ID 10de:0aac. Enabling flash > write... This chipset is not really supported yet. Guesswork... > > ISA/LPC bridge reg 0x8a contents: 0x40, bit 6 is 1, bit 5 is 0 > > > Flash bus type is SPI > > > SPI on this chipset is WIP. Please report any success or failure by > mailing us the verbose output to flashrom at flashrom.org, thanks! > > Found SMBus device 10de:0aa2 at 00:03:2 > > > MCP SPI BAR is at 0xfe880000 > > > Mapping NVIDIA MCP6x SPI at 0xfe880000, unaligned size 0x544. > > > SPI control is 0xc052, req=0, gnt=0 > > > Please send the output of "flashrom -V" to flashrom at flashrom.org with > > > your board name: flashrom -V as the subject to help us finish support > for your > chipset. Thanks. > OK. > No IT87* serial flash segment enabled. > The following protocols are supported: SPI. > Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for AMIC A25LQ032, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for EMST F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for GigaDevice GD25Q20, 256 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for GigaDevice GD25Q40, 512 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for GigaDevice GD25Q80, 1024 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for GigaDevice GD25Q16, 2048 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for GigaDevice GD25Q32, 4096 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for GigaDevice GD25Q64, 8192 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for GigaDevice GD25Q128, 16384 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L512, 64 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Macronix MX25L1005, 128 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L2005, 256 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L4005, 512 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L8005, 1024 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Chip status register is 00 > Chip status register: Status Register Write Disable (SRWD) is not set > Chip status register: Bit 6 is not set > Chip status register: Block Protect 3 (BP3) is not set > Chip status register: Block Protect 2 (BP2) is not set > Chip status register: Block Protect 1 (BP1) is not set > Chip status register: Block Protect 0 (BP0) is not set > Chip status register: Write Enable Latch (WEL) is not set > Chip status register: Write In Progress (WIP/BUSY) is not set > Found Macronix flash chip "MX25L8005" (1024 kB, SPI) at physical address > 0xfff00000. > Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L3205, 4096 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L6405, 8192 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix MX25L12805, 16384 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Numonyx M25PE10, 128 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Numonyx M25PE20, 256 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Numonyx M25PE40, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Numonyx M25PE80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Numonyx M25PE16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Numonyx N25Q064, 8192 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for PMC Pm25LV010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for PMC Pm25LV016B, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for PMC Pm25LV020, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for PMC Pm25LV040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for PMC Pm25LV080B, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for PMC Pm25LV512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Sanyo LF25FW203A, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Spansion S25FL004A, 512 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Spansion S25FL008A, 1024 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Spansion S25FL016A, 2048 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Spansion S25FL032A, 4096 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Spansion S25FL064A, 8192 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x13, id2 0x13 > Probing for SST SST25LF080A, 1024 kB: probe_spi_res2: id1 0x13, id2 0x13 > Probing for SST SST25VF010, 128 kB: probe_spi_rems: id1 0xc2, id2 0x13 > Probing for SST SST25VF016B, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for SST SST25VF032B, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for SST SST25VF064C, 8192 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for SST SST25VF040, 512 kB: probe_spi_rems: id1 0xc2, id2 0x13 > Probing for SST SST25VF040B, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for SST SST25VF040B.REMS, 512 kB: probe_spi_rems: id1 0xc2, id2 0x13 > Probing for SST SST25VF080B, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for ST M25P05-A, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P05, 64 kB: Ignoring RES in favour of RDID. > Probing for ST M25P10-A, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for ST M25P10, 128 kB: Ignoring RES in favour of RDID. > Probing for ST M25P20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P40-old, 512 kB: Ignoring RES in favour of RDID. > Probing for ST M25P80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for ST M25P128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for ST M25PX16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for ST M25PX32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for ST M25PX64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 > 0x2014 > Probing for Winbond W25Q80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25Q32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X10, 128 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X20, 256 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X40, 512 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Winbond W25X64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, > id2 0x2014 > Probing for Unknown SFDP-capable chip, 0 kB: No SFDP signature found. > Probing for AMIC unknown AMIC SPI chip, 0 kB: probe_spi_rdid_generic: > id1 0xc2, id2 0x2014 > Probing for Atmel unknown Atmel SPI chip, 0 kB: probe_spi_rdid_generic: > id1 0xc2, id2 0x2014 > Probing for Eon unknown Eon SPI chip, 0 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Macronix unknown Macronix SPI chip, 0 kB: > probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 > 0xc2, id2 0x2014 > Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: > id1 0xc2, id2 0x2014 > Probing for Generic unknown SPI chip (RDID), 0 kB: > probe_spi_rdid_generic: id1 0xc2, id2 0x2014 > Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 > 0xc2, id2 0x13 > Found Macronix flash chip "MX25L8005" (1024 kB, SPI). > No operations were specified. From josua.mayer at jm0.eu Mon Dec 28 17:58:20 2015 From: josua.mayer at jm0.eu (Josua Mayer) Date: Mon, 28 Dec 2015 17:58:20 +0100 Subject: [flashrom] tested flash chip EN25QH32 using linux_spi programmer on Himmingboard Message-ID: <56816A2C.7070503@jm0.eu> Hi there, just letting you know that I was able to read, write and erase the above mentioned flash chip without any issues. Hardware used: HummingBoard (Freescale i.MX6Q, 4x1GHz armv7l). Chip was attached to the SPI port, and 1 gpio was configured and wired as ChipSelect. Find the logfiles I made attached. -------------- next part -------------- A non-text attachment was scrubbed... Name: probe.log Type: text/x-log Size: 27368 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: read.log Type: text/x-log Size: 27413 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: write.log Type: text/x-log Size: 49043 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: erase.log Type: text/x-log Size: 48953 bytes Desc: not available URL: From contact at paulk.fr Wed Dec 30 12:36:27 2015 From: contact at paulk.fr (Paul Kocialkowski) Date: Wed, 30 Dec 2015 12:36:27 +0100 Subject: [flashrom] [coreboot] FOSDEM deadlines now! In-Reply-To: <1446284488.2576.7.camel@collins> References: <5626B038.80901@gmx.net> <1446284488.2576.7.camel@collins> Message-ID: <1451475387.2531.14.camel@collins> Hi, Le samedi 31 octobre 2015 ? 10:41 +0100, Paul Kocialkowski a ?crit : > Le mardi 20 octobre 2015 ? 23:20 +0200, Carl-Daniel Hailfinger a ?crit : > > we obviously want to participate in FOSDEM. > > https://fosdem.org/2016/news/2015-09-24-call-for-participation/ > > > > ACT NOW! > > > > Some deadlines already expired. Some can still be managed. > > > > Main track talks: Deadline 2015-10-30 (10 days left) > > One hour of entertainment, huge audience. > > Anyone up for the challenge? > > I have submitted a talk proposal about liberating modern computers, and > will of course be talking about Coreboot there. Sadly, the talk was rejected and it's too late to apply for one in a developer room. I'm a bit unsure whether I'll come to FOSDEM at all, but if I do, I'll be sure to come by and hang around the Coreboot booth! -- Paul Kocialkowski, Replicant developer Replicant is a fully free Android distribution running on several devices, a free software mobile operating system putting the emphasis on freedom and privacy/security. Website: https://www.replicant.us/ Blog: https://blog.replicant.us/ Wiki/tracker/forums: https://redmine.replicant.us/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: This is a digitally signed message part URL: From stefan.tauner at alumni.tuwien.ac.at Thu Dec 31 19:18:36 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 31 Dec 2015 19:18:36 +0100 Subject: [flashrom] Proposed changes to flashrom hosting and workflow In-Reply-To: References: Message-ID: <201512311818.tBVIIdec028310@mail2.student.tuwien.ac.at> (I am replying to various messages of the thread within this single email. Hence the quotes below are of different people.) > For those who missed it on IRC, Stefan (Reinauer) has proposed retiring SVN > and patch work in favor of Git and (likely) Gerrit + Jenkins. Maintaining > SVN and Patchwork represents a surprisingly large maintenance burden on top > of Git and Gerrit that coreboot uses. Additionally, many in the community > work around SVN's limitations by mirroring the project at places like > Github anyway. My counterproposal is to use gitub instead of Gerrit. - I really can't stand gerrit's interface. - We (relatively) often get patches from one-time contributors which is way easier on github because "everybody" has an account there and knows how to work with it (and if not it is straight forward compared to gerrit). - We don't really need jenkins. I am not a big fan of CI although I am a fan of build testing (hence flashrom is build tested for over 30 architecture/OS combinations manually). Depending on how it would be to interface my build bot with jenkins it would however be an improvement (not sure if it is worth it though). - The only reason to avoid github for me would be due to its proprietary nature and related problems (lock-in etc). Please give me other reasons if you prefer coreboot.org-hosted gerrit over github. > Though I know stefanct often makes small corrections/modifications to > patches before submitting them (because our code review process makes even > small amounts of back-and-forth comments so cumbersome). At least this way > such changes can be tracked trivially on-line by diffing the N and N-1 > patch revisions in gerrit. The reason is not because the back-and-forth is cumbersome but because I am a perfectionist who does not want to bother others with my annoying views of details and I don't expect anybody to care about these changes like me (this does not always hold). The same goes for commit messages. With Carl-Daniel I do exchange my views about these kind of things *if* there is any exchange that is ;) > If there really is a large demand for a non-svn hosting, I would be open > to using mercurial (as master) because it at least has some sort of > usability and can provide (conceptually limited) version numbers. I have > worked for a few years with mercurial and the version numbers are > extremely helpful even if they are per-branch and only semi-stable. Just to make things clear here: I won't even discuss this option - it is none. If you want to use another VCS management tool/interface then you are free to do so, but you are the only person known to prefer something else than git so you have to take on the burden and not force everybody else to as it has been up to now - this has to and will end. > The auto-tag of every commit sounds like an option I could agree with. > It would preserve the convenience of the global strong svn commit ID > even for git. > However, I don't know if this would be acceptable for Stefan (especially > from a merging perspective). We have the infrastructure for using this kind of version strings since about 2,5 years and there is a patch that would make flashrom use them in prints which is lingering uncommented in the mailing list since August 2013. It might not be exactly what we want eventually, but if there are no comments I'll have to decide on something... My current plan is to do a 0.9.9 release in January 2016 and switch to git afterwards. I'd like to keep patchwork at least for a while and figure out a way to keep the patches. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From stefan.tauner at alumni.tuwien.ac.at Thu Dec 31 19:44:16 2015 From: stefan.tauner at alumni.tuwien.ac.at (Stefan Tauner) Date: Thu, 31 Dec 2015 19:44:16 +0100 Subject: [flashrom] tested flash chip EN25QH32 using linux_spi programmer on Himmingboard In-Reply-To: <56816A2C.7070503@jm0.eu> References: <56816A2C.7070503@jm0.eu> Message-ID: <201512311844.tBVIiK2v019045@mail2.student.tuwien.ac.at> On Mon, 28 Dec 2015 17:58:20 +0100 Josua Mayer wrote: > Hi there, > > just letting you know that I was able to read, write and erase the above > mentioned flash chip without any issues. > Hardware used: HummingBoard (Freescale i.MX6Q, 4x1GHz armv7l). Chip was > attached to the SPI port, and 1 gpio was configured and wired as ChipSelect. > > Find the logfiles I made attached. Hello Josua, thanks for your report! I have marked the flash chip as fully tested and will commit that later together with other small changes. We currently have no means to note the supported devices by the linux_spi module but I'll add a comment in the code as well. -- Kind regards/Mit freundlichen Gr??en, Stefan Tauner From razzylaqui at gmail.com Tue Dec 29 11:01:20 2015 From: razzylaqui at gmail.com (Razzaline Reindell) Date: Tue, 29 Dec 2015 01:01:20 -0900 Subject: [flashrom] W836xx: HP Pavilion dv6t-6100 Notebook PC: flashrom -V Message-ID: Hello Flashrom Developers, As instructed by the flashrom utility, here is my output: flashrom v0.9.8-unknown on Linux 4.3.3-040303-generic (x86_64) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.2.1, GCC 4.8.4, little endian Command line (3 args): flashrom -V -p internal Calibrating delay loop... OS timer resolution is 1 usecs, 2829M loops per second, 10 myus = 10 us, 100 myus = 97 us, 1000 myus = 994 us, 10000 myus = 9866 us, 4 myus = 6 us, OK. Initializing internal programmer No coreboot table found. Using Internal DMI decoder. DMI string chassis-type: "Notebook" Laptop detected via DMI. DMI string system-manufacturer: "Hewlett-Packard" DMI string system-product-name: "HP Pavilion dv6 Notebook PC" DMI string system-version: "058C110000244720001620100" DMI string baseboard-manufacturer: "Hewlett-Packard" DMI string baseboard-product-name: "1657" DMI string baseboard-version: "10.31" W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect. Active config mode, unknown reg 0x20 ID: 85. Please send the output of "flashrom -V -p internal" to flashrom at flashrom.org with W836xx: your board name: flashrom -V as the subject to help us finish support for your Super I/O. Thanks. Found ITE EC, ID 0x8518, Rev 0x02 on port 0x4e. ---------- Thanks, Razzy -------------- next part -------------- An HTML attachment was scrubbed... URL: