Hi,
I am having problem programing N25Q128 using flashrom0.9.7. I got the following errors from erasing address at 0x83f000. I have tried different boards and they failed at the same locations. There are three versions of N25Q128, uniform, top, and bottom. Only the 8 first/last sectors of top/bottom version supports subsector erase. But, from N25Q128 configuration in flashchip.c, it first tries SSE (0x20) for the entire chip. Could it be the problem? Is there a fix for this? Thank you very much.
Found Micron/Numonyx/ST flash chip "N25Q128..3E" (16384 kB, SPI). This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Block protection is disabled. 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..... <skip some subsector erase messages..... > 0x774000-0x774fff:S, 0x775000-0x775fff:S, 0x776000-0x776fff:S, 0x777000-0x777fff:S, 0x778000-0x778fff:S, 0x779000-0x779fff:S, 0x77a000-0x77afff:S, 0x77b000-0x77bfff:S, 0x77c000-0x77cfff:S, 0x77d000-0x77dfff:S, 0x77e000-0x77efff:S, 0x77f000-0x77ffff:S, 0x780000-0x780fff:S, 0x781000-0x781fff:S, 0x782000-0x782fff:S, 0x783000-0x783fff:S, 0x784000-0x784fff:S, 0x785000-0x785fff:S, 0x786000-0x786fff:S, 0x787000-0x787fff:S, 0x788000-0x788fff:S, 0x789000-0x789fff:S, 0x78a000-0x78afff:S, 0x78b000-0x78bfff:S, 0x78c000-0x78cfff:S, 0x78d000-0x78dfff:S, 0x78e000-0x78efff:S, 0x78f000-0x78ffff:S, 0x790000-0x790fff:S, 0x791000-0x791fff:S, 0x792000-0x792fff:S, 0x793000-0x793fff:S, 0x794000-0x794fff:S, 0x795000-0x795fff:S, 0x796000-0x796fff:S, 0x797000-0x797fff:S, 0x798000-0x798fff:S, 0x799000-0x799fff:S, 0x79a000-0x79afff:S, 0x79b000-0x79bfff:S, 0x79c000-0x79cfff:S, 0x79d000-0x79dfff:S, 0x79e000-0x79efff:S, 0x79f000-0x79ffff:S, 0x7a0000-0x7a0fff:S, 0x7a1000-0x7a0 (payload length was 64).
spi_nbyte_program failed during command execution at address 0x83f000 Reading current flash chip contents... done. Looking for another erase function. Trying erase function 1... 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, 0x200000-0x20ffff:S, 0x210000-0x21ffff:S, 0x220000-0x22ffff:S, 0x230000-0x23ffff:S, 0x240000-0x24ffff:S, 0x250000-0x25ffff:S, 0x260000-0x26ffff:S, 0x270000-0x27ffff:S, 0x280000-0x28ffff:S, 0x290000-0x29ffff:S, 0x2a0000-0x2affff:S, 0x2b0000-0x2bffff:S, 0x2c0000-0x2cffff:S, 0x2d0000-0x2dffff:S, 0x2e0000-0x2effff:S, 0x2f0000-0x2fffff:S, 0x300000-0x30ffff:S, 0x310000-0x31ffff:S, 0x320000-0x32ffff:S, 0x330000-0x33ffff:S, 0x340000-0x34ffff:S, 0x350000-0x35ffff:S, 0x360000-0x36ffff:S, 0x370000-0x37ffff:S, 0x380000-0x38ffff:S, 0x390000-0x39ffff:S, 0x3a0000-0x3affff:S, 0x3b0000-0x3bffff:S, 0x3c0000-0x3cffff:S, 0x3d0000-0x3dffff:S, 0x3e0000-0x3effff:S, 0x3f0000-0x3fffff:S, 0x400000-0x40ffff:S, 0x410000-0x41ffff:S, 0x420000-0x42ffff:S, 0x430000-0x43ffff:S, 0x440000-0x44ffff:S, 0x450000-0x45ffff:S, 0x460000-0x46ffff:S, 0x470000-0x47ffff:S, 0x480000-0x48ffff:S, 0x490000-0x49ffff:S, 0x4a0000-0x4affff:S, 0x4b0000-0x4bffff:S, 0x4c0000-0x4cffff:S, 0x4d0000-0x4dffff:S, 0x4e0000-0x4effff:S, 0x4f0000-0x4fffff:S, 0x500000-0x50ffff:S, 0x510000-0x51ffff:S, 0x520000-0x52ffff:S, 0x530000-0x53ffff:S, 0x540000-0x54ffff:S, 0x550000-0x55ffff:S, 0x560000-0x56ffff:S, 0x570000-0x57ffff:S, 0x580000-0x58ffff:S, 0x590000-0x59ffff:S, 0x5a0000-0x5affff:S, 0x5b0000-0x5bffff:S, 0x5c0000-0x5cffff:S, 0x5d0000-0x5dffff:S, 0x5e0000-0x5effff:S, 0x5f0000-0x5fffff:S, 0x600000-0x60ffff:S, 0x610000-0x61ffff:S, 0x620000-0x62ffff:S, 0x630000-0x63ffff:S, 0x640000-0x64ffff:S, 0x650000-0x65ffff:S, 0x660000-0x66ffff:S, 0x670000-0x67ffff:S, 0x680000-0x68ffff:S, 0x690000-0x69ffff:S, 0x6a0000-0x6affff:S, 0x6b0000-0x6bffff:S, 0x6c0000-0x6cffff:S, 0x6d0000-0x6dffff:S, 0x6e0000-0x6effff:S, 0x6f0000-0x6fffff:S, 0x700000-0x70ffff:S, 0x710000-0x71ffff:S, 0x720000-0x72ffff:S, 0x730000-0x73ffff:S, 0x740000-0x74ffff:S, 0x750000-0x75ffff:S, 0x760000-0x76ffff:S, 0x770000-0x77ffff:S, 0x780000-0x78ffff:S, 0x790000-0x79ffff:S, 0x7a0000-0x7affff:S, 0x7b0000-0x7bffff:S, 0x7c0000-0x7cffff:S, 0x7d0000-0x7dffff:S, 0x7e0000-0x7effff:S, 0x7f0000-0x7fffff:S, 0x800000-0x80ffff:S, 0x810000-0x81ffff:S, 0x820000-0x82ffff:S, 0x830000-0x83ffff:WTransaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0 Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64). spi_nbyte_program failed during command execution at address 0x83f000 Reading current flash chip contents... done. Looking for another erase function. Trying erase function 2... 0x000000-0xffffff:WTransaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0 Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64). spi_nbyte_program failed during command execution at address 0x83f000 Looking for another erase function. No usable erase functions left. FAILED! Uh oh. Erase/write failed. Checking if anything changed. Good. It seems nothing was changed. Writing to the flash chip apparently didn't do anything. This means we have to add special support for your board, programmer or flash chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or mail flashrom@flashrom.org, thanks! ------------------------------------------------------------------------------- You may now reboot or simply leave the machine running. Restoring MMIO space at 0x7ff240f028a0 Restoring MMIO space at 0x7ff240f0289c Restoring MMIO space at 0x7ff240f02898 Restoring MMIO space at 0x7ff240f02896 Restoring MMIO space at 0x7ff240f02894
flashchips.c:
{ .vendor = "Micron/Numonyx/ST", .name = "N25Q128..3E", /* ..3E = 3V, uniform 64KB/4KB blocks/sectors */ .bustype = BUS_SPI, .manufacture_id = ST_ID, .model_id = ST_N25Q128__3E, .total_size = 16384, .page_size = 256, /* supports SFDP */ /* OTP: 64B total; read 0x4B, write 0x42 */ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, .tested = TEST_OK_PREW, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .block_erasers = { { .eraseblocks = { {4 * 1024, 4096 } }, .block_erase = spi_block_erase_20, }, { .eraseblocks = { {64 * 1024, 256} }, .block_erase = spi_block_erase_d8, }, { .eraseblocks = { {16384 * 1024, 1} }, .block_erase = spi_block_erase_c7, } },
Thanks, Cliff
On Tue, 3 Dec 2013 18:59:08 +0000 Shih-Chieh Huang shih-chieh.huang@ericsson.com wrote:
Hi,
I am having problem programing N25Q128 using flashrom0.9.7. I got the following errors from erasing address at 0x83f000. I have tried different boards and they failed at the same locations. There are three versions of N25Q128, uniform, top, and bottom. Only the 8 first/last sectors of top/bottom version supports subsector erase. But, from N25Q128 configuration in flashchip.c, it first tries SSE (0x20) for the entire chip. Could it be the problem? Is there a fix for this? Thank you very much.
Found Micron/Numonyx/ST flash chip "N25Q128..3E" (16384 kB, SPI). This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Block protection is disabled. 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..... <skip some subsector erase messages..... > 0x774000-0x774fff:S, 0x775000-0x775fff:S, 0x776000-0x776fff:S, 0x777000-0x777fff:S, 0x778000-0x778fff:S, 0x779000-0x779fff:S, 0x77a000-0x77afff:S, 0x77b000-0x77bfff:S, 0x77c000-0x77cfff:S, 0x77d000-0x77dfff:S, 0x77e000-0x77efff:S, 0x77f000-0x77ffff:S, 0x780000-0x780fff:S, 0x781000-0x781fff:S, 0x782000-0x782fff:S, 0x783000-0x783fff:S, 0x784000-0x784fff:S, 0x785000-0x785fff:S, 0x786000-0x786fff:S, 0x787000-0x787fff:S, 0x788000-0x788fff:S, 0x789000-0x789fff:S, 0x78a000-0x78afff:S, 0x78b000-0x78bfff:S, 0x78c000-0x78cfff:S, 0x78d000-0x78dfff:S, 0x78e000-0x78efff:S, 0x78f000-0x78ffff:S, 0x790000-0x790fff:S, 0x791000-0x791fff:S, 0x792000-0x792fff:S, 0x793000-0x793fff:S, 0x794000-0x794fff:S, 0x795000-0x795fff:S, 0x796000-0x796fff:S, 0x797000-0x797fff:S, 0x798000-0x798fff:S, 0x799000-0x799fff:S, 0x79a000-0x79afff:S, 0x79b000-0x79bfff:S, 0x79c000-0x79cfff:S, 0x79d000-0x79dfff:S, 0x79e000-0x79efff:S, 0x79f000-0x79ffff:S, 0x7a0000-0x7a0fff:S, 0x7a1000-0x7a0 (payload length was 64).
spi_nbyte_program failed during command execution at address 0x83f000 Reading current flash chip contents... done. Looking for another erase function. Trying erase function 1... 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, 0x200000-0x20ffff:S, 0x210000-0x21ffff:S, 0x220000-0x22ffff:S, 0x230000-0x23ffff:S, 0x240000-0x24ffff:S, 0x250000-0x25ffff:S, 0x260000-0x26ffff:S, 0x270000-0x27ffff:S, 0x280000-0x28ffff:S, 0x290000-0x29ffff:S, 0x2a0000-0x2affff:S, 0x2b0000-0x2bffff:S, 0x2c0000-0x2cffff:S, 0x2d0000-0x2dffff:S, 0x2e0000-0x2effff:S, 0x2f0000-0x2fffff:S, 0x300000-0x30ffff:S, 0x310000-0x31ffff:S, 0x320000-0x32ffff:S, 0x330000-0x33ffff:S, 0x340000-0x34ffff:S, 0x350000-0x35ffff:S, 0x360000-0x36ffff:S, 0x370000-0x37ffff:S, 0x380000-0x38ffff:S, 0x390000-0x39ffff:S, 0x3a0000-0x3affff:S, 0x3b0000-0x3bffff:S, 0x3c0000-0x3cffff:S, 0x3d0000-0x3dffff:S, 0x3e0000-0x3effff:S, 0x3f0000-0x3fffff:S, 0x400000-0x40ffff:S, 0x410000-0x41ffff:S, 0x420000-0x42ffff:S, 0x430000-0x43ffff:S, 0x440000-0x44ffff:S, 0x450000-0x45ffff:S, 0x460000-0x46ffff:S, 0x470000-0x47ffff:S, 0x480000-0x48ffff:S, 0x490000-0x49ffff:S, 0x4a0000-0x4affff:S, 0x4b0000-0x4bffff:S, 0x4c0000-0x4cffff:S, 0x4d0000-0x4dffff:S, 0x4e0000-0x4effff:S, 0x4f0000-0x4fffff:S, 0x500000-0x50ffff:S, 0x510000-0x51ffff:S, 0x520000-0x52ffff:S, 0x530000-0x53ffff:S, 0x540000-0x54ffff:S, 0x550000-0x55ffff:S, 0x560000-0x56ffff:S, 0x570000-0x57ffff:S, 0x580000-0x58ffff:S, 0x590000-0x59ffff:S, 0x5a0000-0x5affff:S, 0x5b0000-0x5bffff:S, 0x5c0000-0x5cffff:S, 0x5d0000-0x5dffff:S, 0x5e0000-0x5effff:S, 0x5f0000-0x5fffff:S, 0x600000-0x60ffff:S, 0x610000-0x61ffff:S, 0x620000-0x62ffff:S, 0x630000-0x63ffff:S, 0x640000-0x64ffff:S, 0x650000-0x65ffff:S, 0x660000-0x66ffff:S, 0x670000-0x67ffff:S, 0x680000-0x68ffff:S, 0x690000-0x69ffff:S, 0x6a0000-0x6affff:S, 0x6b0000-0x6bffff:S, 0x6c0000-0x6cffff:S, 0x6d0000-0x6dffff:S, 0x6e0000-0x6effff:S, 0x6f0000-0x6fffff:S, 0x700000-0x70ffff:S, 0x710000-0x71ffff:S, 0x720000-0x72ffff:S, 0x730000-0x73ffff:S, 0x740000-0x74ffff:S, 0x750000-0x75ffff:S, 0x760000-0x76ffff:S, 0x770000-0x77ffff:S, 0x780000-0x78ffff:S, 0x790000-0x79ffff:S, 0x7a0000-0x7affff:S, 0x7b0000-0x7bffff:S, 0x7c0000-0x7cffff:S, 0x7d0000-0x7dffff:S, 0x7e0000-0x7effff:S, 0x7f0000-0x7fffff:S, 0x800000-0x80ffff:S, 0x810000-0x81ffff:S, 0x820000-0x82ffff:S, 0x830000-0x83ffff:WTransaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0 Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64). spi_nbyte_program failed during command execution at address 0x83f000 Reading current flash chip contents... done. Looking for another erase function. Trying erase function 2... 0x000000-0xffffff:WTransaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0 Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64). spi_nbyte_program failed during command execution at address 0x83f000 Looking for another erase function. No usable erase functions left. FAILED! Uh oh. Erase/write failed. Checking if anything changed. Good. It seems nothing was changed. Writing to the flash chip apparently didn't do anything. This means we have to add special support for your board, programmer or flash chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or mail flashrom@flashrom.org, thanks!
You may now reboot or simply leave the machine running. Restoring MMIO space at 0x7ff240f028a0 Restoring MMIO space at 0x7ff240f0289c Restoring MMIO space at 0x7ff240f02898 Restoring MMIO space at 0x7ff240f02896 Restoring MMIO space at 0x7ff240f02894
flashchips.c:
{ .vendor = "Micron/Numonyx/ST", .name = "N25Q128..3E", /* ..3E = 3V, uniform 64KB/4KB blocks/sectors */ .bustype = BUS_SPI, .manufacture_id = ST_ID, .model_id = ST_N25Q128__3E, .total_size = 16384, .page_size = 256, /* supports SFDP */ /* OTP: 64B total; read 0x4B, write 0x42 */ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, .tested = TEST_OK_PREW, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .block_erasers = { { .eraseblocks = { {4 * 1024, 4096 } }, .block_erase = spi_block_erase_20, }, { .eraseblocks = { {64 * 1024, 256} }, .block_erase = spi_block_erase_d8, }, { .eraseblocks = { {16384 * 1024, 1} }, .block_erase = spi_block_erase_c7, } },
Hello,
sorry for the late reply. I believe your problem is the chipset configuration. The most interesting parts of your log are missing... if you still need help, please send a complete verbose log (feel free to redact the DMI data if you have to).
Stefan,
Thank you for helping me on this. We disable the security from AMI BIOS temporary to walk around this. In the future, we will need to re-enable the security feature. I was wondering if flashrom has plan to support such feature. Thanks.
Regards, Cliff
-----Original Message----- From: Stefan Tauner [mailto:stefan.tauner@alumni.tuwien.ac.at] Sent: Friday, May 02, 2014 12:02 PM To: Shih-Chieh Huang Cc: flashrom@flashrom.org; Vincent Wang K Subject: Re: [flashrom] issue with Micron N25Q128
On Tue, 3 Dec 2013 18:59:08 +0000 Shih-Chieh Huang shih-chieh.huang@ericsson.com wrote:
Hi,
I am having problem programing N25Q128 using flashrom0.9.7. I got the following errors from erasing address at 0x83f000. I have tried different boards and they failed at the same locations. There are three versions of N25Q128, uniform, top, and bottom. Only the 8 first/last sectors of top/bottom version supports subsector erase. But, from N25Q128 configuration in flashchip.c, it first tries SSE (0x20) for the entire chip. Could it be the problem? Is there a fix for this? Thank you very much.
Found Micron/Numonyx/ST flash chip "N25Q128..3E" (16384 kB, SPI). This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Block protection is disabled. 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..... <skip some subsector erase messages..... > 0x774000-0x774fff:S, 0x775000-0x775fff:S, 0x776000-0x776fff:S, 0x777000-0x777fff:S, 0x778000-0x778fff:S, 0x779000-0x779fff:S, 0x77a000-0x77afff:S, 0x77b000-0x77bfff:S, 0x77c000-0x77cfff:S, 0x77d000-0x77dfff:S, 0x77e000-0x77efff:S, 0x77f000-0x77ffff:S, 0x780000-0x780fff:S, 0x781000-0x781fff:S, 0x782000-0x782fff:S, 0x783000-0x783fff:S, 0x784000-0x784fff:S, 0x785000-0x785fff:S, 0x786000-0x786fff:S, 0x787000-0x787fff:S, 0x788000-0x788fff:S, 0x789000-0x789fff:S, 0x78a000-0x78afff:S, 0x78b000-0x78bfff:S, 0x78c000-0x78cfff:S, 0x78d000-0x78dfff:S, 0x78e000-0x78efff:S, 0x78f000-0x78ffff:S, 0x790000-0x790fff:S, 0x791000-0x791fff:S, 0x792000-0x792fff:S, 0x793000-0x793fff:S, 0x794000-0x794fff:S, 0x795000-0x795fff:S, 0x796000-0x796fff:S, 0x797000-0x797fff:S, 0x798000-0x798fff:S, 0x799000-0x799fff:S, 0x79a000-0x79afff:S, 0x79b000-0x79bfff:S, 0x79c000-0x79cfff:S, 0x79d000-0x79dfff:S, 0x79e000-0x79efff:S, 0x79f000-0x79ffff:S, 0x7a0000-0x7a0fff:S, 0x7a1000-0x7a0 (payload length was 64).
spi_nbyte_program failed during command execution at address 0x83f000 Reading current flash chip contents... done. Looking for another erase function. Trying erase function 1... 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, 0x200000-0x20ffff:S, 0x210000-0x21ffff:S, 0x220000-0x22ffff:S, 0x230000-0x23ffff:S, 0x240000-0x24ffff:S, 0x250000-0x25ffff:S, 0x260000-0x26ffff:S, 0x270000-0x27ffff:S, 0x280000-0x28ffff:S, 0x290000-0x29ffff:S, 0x2a0000-0x2affff:S, 0x2b0000-0x2bffff:S, 0x2c0000-0x2cffff:S, 0x2d0000-0x2dffff:S, 0x2e0000-0x2effff:S, 0x2f0000-0x2fffff:S, 0x300000-0x30ffff:S, 0x310000-0x31ffff:S, 0x320000-0x32ffff:S, 0x330000-0x33ffff:S, 0x340000-0x34ffff:S, 0x350000-0x35ffff:S, 0x360000-0x36ffff:S, 0x370000-0x37ffff:S, 0x380000-0x38ffff:S, 0x390000-0x39ffff:S, 0x3a0000-0x3affff:S, 0x3b0000-0x3bffff:S, 0x3c0000-0x3cffff:S, 0x3d0000-0x3dffff:S, 0x3e0000-0x3effff:S, 0x3f0000-0x3fffff:S, 0x400000-0x40ffff:S, 0x410000-0x41ffff:S, 0x420000-0x42ffff:S, 0x430000-0x43ffff:S, 0x440000-0x44ffff:S, 0x450000-0x45ffff:S, 0x460000-0x46ffff:S, 0x470000-0x47ffff:S, 0x480000-0x48ffff:S, 0x490000-0x49ffff:S, 0x4a0000-0x4affff:S, 0x4b0000-0x4bffff:S, 0x4c0000-0x4cffff:S, 0x4d0000-0x4dffff:S, 0x4e0000-0x4effff:S, 0x4f0000-0x4fffff:S, 0x500000-0x50ffff:S, 0x510000-0x51ffff:S, 0x520000-0x52ffff:S, 0x530000-0x53ffff:S, 0x540000-0x54ffff:S, 0x550000-0x55ffff:S, 0x560000-0x56ffff:S, 0x570000-0x57ffff:S, 0x580000-0x58ffff:S, 0x590000-0x59ffff:S, 0x5a0000-0x5affff:S, 0x5b0000-0x5bffff:S, 0x5c0000-0x5cffff:S, 0x5d0000-0x5dffff:S, 0x5e0000-0x5effff:S, 0x5f0000-0x5fffff:S, 0x600000-0x60ffff:S, 0x610000-0x61ffff:S, 0x620000-0x62ffff:S, 0x630000-0x63ffff:S, 0x640000-0x64ffff:S, 0x650000-0x65ffff:S, 0x660000-0x66ffff:S, 0x670000-0x67ffff:S, 0x680000-0x68ffff:S, 0x690000-0x69ffff:S, 0x6a0000-0x6affff:S, 0x6b0000-0x6bffff:S, 0x6c0000-0x6cffff:S, 0x6d0000-0x6dffff:S, 0x6e0000-0x6effff:S, 0x6f0000-0x6fffff:S, 0x700000-0x70ffff:S, 0x710000-0x71ffff:S, 0x720000-0x72ffff:S, 0x730000-0x73ffff:S, 0x740000-0x74ffff:S, 0x750000-0x75ffff:S, 0x760000-0x76ffff:S, 0x770000-0x77ffff:S, 0x780000-0x78ffff:S, 0x790000-0x79ffff:S, 0x7a0000-0x7affff:S, 0x7b0000-0x7bffff:S, 0x7c0000-0x7cffff:S, 0x7d0000-0x7dffff:S, 0x7e0000-0x7effff:S, 0x7f0000-0x7fffff:S, 0x800000-0x80ffff:S, 0x810000-0x81ffff:S, 0x820000-0x82ffff:S, 0x830000-0x83ffff:WTransaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0 Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64). spi_nbyte_program failed during command execution at address 0x83f000 Reading current flash chip contents... done. Looking for another erase function. Trying erase function 2... 0x000000-0xffffff:WTransaction error! SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0 SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0 Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64). spi_nbyte_program failed during command execution at address 0x83f000 Looking for another erase function. No usable erase functions left. FAILED! Uh oh. Erase/write failed. Checking if anything changed. Good. It seems nothing was changed. Writing to the flash chip apparently didn't do anything. This means we have to add special support for your board, programmer or flash chip. Please report this on IRC at chat.freenode.net (channel
#flashrom) or mail flashrom@flashrom.org, thanks!
--------- You may now reboot or simply leave the machine running. Restoring MMIO space at 0x7ff240f028a0 Restoring MMIO space at 0x7ff240f0289c Restoring MMIO space at 0x7ff240f02898 Restoring MMIO space at 0x7ff240f02896 Restoring MMIO space at 0x7ff240f02894
flashchips.c:
{ .vendor = "Micron/Numonyx/ST", .name = "N25Q128..3E", /* ..3E = 3V, uniform 64KB/4KB blocks/sectors */ .bustype = BUS_SPI, .manufacture_id = ST_ID, .model_id = ST_N25Q128__3E, .total_size = 16384, .page_size = 256, /* supports SFDP */ /* OTP: 64B total; read 0x4B, write 0x42 */ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, .tested = TEST_OK_PREW, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .block_erasers = { { .eraseblocks = { {4 * 1024, 4096 } }, .block_erase = spi_block_erase_20, }, { .eraseblocks = { {64 * 1024, 256} }, .block_erase = spi_block_erase_d8, }, { .eraseblocks = { {16384 * 1024, 1} }, .block_erase = spi_block_erase_c7, } },
Hello,
sorry for the late reply. I believe your problem is the chipset configuration. The most interesting parts of your log are missing... if you still need help, please send a complete verbose log (feel free to redact the DMI data if you have to).
-- Kind regards/Mit freundlichen Grüßen, Stefan Tauner
On Fri, 2 May 2014 20:42:47 +0000 Shih-Chieh Huang shih-chieh.huang@ericsson.com wrote:
Thank you for helping me on this. We disable the security from AMI BIOS temporary to walk around this. In the future, we will need to re-enable the security feature. I was wondering if flashrom has plan to support such feature. Thanks.
Hello,
it depends on which write protection you are referring to?
As far as I know not all of them can be disabled from a running OS. Others require a handshake with SMM code that is firmware vendor-specific and they won't tell us how that works (even if it would be secure to do so due to cryptographic signatures in the images). We would like to support these kind of things but without public documentation this is not feasible. It would be great if you, as a customer with a voice that might not be ignored like our, could lobby for a solution in these cases.
Everything else will be happily supported if we get to know about it and there is documentation :)