<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I am trying to duplicate the audio stored on a GPR25L040B chip. The datasheet (<a href="https://www.dataman.com/media/datasheet/Generalplus/GPR25L040B.pdf">https://www.dataman.com/media/datasheet/Generalplus/GPR25L040B.pdf</a>) states that it is fully compatible with the MX25L4005A. I seem to be able to read the flash to a file just fine but when writing back to the file I am getting an error (see below). </div><div>Even with the error, I seem to be able to at least partially write to the chip but the audio that comes back cuts out after a few seconds. </div><div><br></div><div>This project's goal is to copy audio from a recorded book that my son's grandma recorded with him before she passed, to another book that we can give to my Sister-In-Law for Christmas. </div><div>I would also like to back up the audio in case something happens to the book in the future. </div><div>(Alternate backups will be made as well prior to touching that book.) .</div><div><br></div><div>Any help that you can provide would be greatly appreciated. </div><div><br></div><div>Thank you,</div><div>Ben.</div><div><br></div><div><br></div><div>The following protocols are supported: SPI.<br></div><div>Probing for Macronix MX25L4005(A/C)/MX25L4006E, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2013</div><div>Found Macronix flash chip "MX25L4005(A/C)/MX25L4006E" (512 kB, SPI) on linux_spi.</div><div>Chip status register is 0x86.</div><div>Chip status register: Status Register Write Disable (SRWD, SRP, ...) is set</div><div>Chip status register: Bit 6 is not set</div><div>Chip status register: Bit 5 is not set</div><div>Chip status register: Block Protect 2 (BP2) is not set</div><div>Chip status register: Block Protect 1 (BP1) is not set</div><div>Chip status register: Block Protect 0 (BP0) is set</div><div>Chip status register: Write Enable Latch (WEL) is set</div><div>Chip status register: Write In Progress (WIP/BUSY) is not set</div><div>Some block protection in effect, disabling... Block protection could not be disabled!</div><div>Chip status register is 0x86.</div><div>Chip status register: Status Register Write Disable (SRWD, SRP, ...) is set</div><div>Chip status register: Bit 6 is not set</div><div>Chip status register: Bit 5 is not set</div><div>Chip status register: Block Protect 2 (BP2) is not set</div><div>Chip status register: Block Protect 1 (BP1) is not set</div><div>Chip status register: Block Protect 0 (BP0) is set</div><div>Chip status register: Write Enable Latch (WEL) is set</div><div>Chip status register: Write In Progress (WIP/BUSY) is not set</div><div>Reading old flash chip contents... done.</div><div>Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S, 0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S, 0x006000-0x006fff:S, 0x007000-0x007fff:S, 0x008000-0x008fff:S, 0x009000-0x009fff:S, 0x00a000-0x00afff:S, 0x00b000-0x00bfff:S, 0x00c000-0x00cfff:S, 0x00d000-0x00dfff:S, 0x00e000-0x00efff:S, 0x00f000-0x00ffff:S, 0x010000-0x010fff:S, 0x011000-0x011fff:S, 0x012000-0x012fff:S, 0x013000-0x013fff:S, 0x014000-0x014fff:S, 0x015000-0x015fff:S, 0x016000-0x016fff:S, 0x017000-0x017fff:S, 0x018000-0x018fff:S, 0x019000-0x019fff:S, 0x01a000-0x01afff:S, 0x01b000-0x01bfff:S, 0x01c000-0x01cfff:S, 0x01d000-0x01dfff:S, 0x01e000-0x01efff:S, 0x01f000-0x01ffff:S, 0x020000-0x020fff:S, 0x021000-0x021fff:S, 0x022000-0x022fff:S, 0x023000-0x023fff:S, 0x024000-0x024fff:S, 0x025000-0x025fff:S, 0x026000-0x026fff:S, 0x027000-0x027fff:S, 0x028000-0x028fff:S, 0x029000-0x029fff:S, 0x02a000-0x02afff:S, 0x02b000-0x02bfff:S, 0x02c000-0x02cfff:S, 0x02d000-0x02dfff:S, 0x02e000-0x02efff:S, 0x02f000-0x02ffff:S, 0x030000-0x030fff:S, 0x031000-0x031fff:S, 0x032000-0x032fff:S, 0x033000-0x033fff:S, 0x034000-0x034fff:S, 0x035000-0x035fff:S, 0x036000-0x036fff:S, 0x037000-0x037fff:S, 0x038000-0x038fff:S, 0x039000-0x039fff:S, 0x03a000-0x03afff:S, 0x03b000-0x03bfff:S, 0x03c000-0x03cfff:S, 0x03d000-0x03dfff:S, 0x03e000-0x03efff:S, 0x03f000-0x03ffff:S, 0x040000-0x040fff:S, 0x041000-0x041fff:S, 0x042000-0x042fff:S, 0x043000-0x043fff:S, 0x044000-0x044fff:S, 0x045000-0x045fff:S, 0x046000-0x046fff:S, 0x047000-0x047fff:S, 0x048000-0x048fff:S, 0x049000-0x049fff:S, 0x04a000-0x04afff:S, 0x04b000-0x04bfff:S, 0x04c000-0x04cfff:S, 0x04d000-0x04dfff:S, 0x04e000-0x04efff:S, 0x04f000-0x04ffff:S, 0x050000-0x050fff:S, 0x051000-0x051fff:S, 0x052000-0x052fff:S, 0x053000-0x053fff:S, 0x054000-0x054fff:S, 0x055000-0x055fff:S, 0x056000-0x056fff:S, 0x057000-0x057fff:S, 0x058000-0x058fff:S, 0x059000-0x059fff:S, 0x05a000-0x05afff:S, 0x05b000-0x05bfff:S, 0x05c000-0x05cfff:S, 0x05d000-0x05dfff:S, 0x05e000-0x05efff:S, 0x05f000-0x05ffff:S, 0x060000-0x060fff:S, 0x061000-0x061fff:S, 0x062000-0x062fff:S, 0x063000-0x063fff:S, 0x064000-0x064fff:S, 0x065000-0x065fff:S, 0x066000-0x066fff:S, 0x067000-0x067fff:S, 0x068000-0x068fff:S, 0x069000-0x069fff:S, 0x06a000-0x06afff:S, 0x06b000-0x06bfff:S, 0x06c000-0x06cfff:S, 0x06d000-0x06dfff:S, 0x06e000-0x06efff:S, 0x06f000-0x06ffff:S, 0x070000-0x070fff:S, 0x071000-0x071fff:S, 0x072000-0x072fff:S, 0x073000-0x073fff:S, 0x074000-0x074fff:S, 0x075000-0x075fff:EFAILED at 0x00075000! Expected=0xff, Found=0x89, failed byte count from 0x00075000-0x00075fff: 0xf3f</div><div>ERASE FAILED!</div><div>Reading current flash chip contents... done. Looking for another erase function.</div><div>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:EFAILED at 0x00070000! Expected=0xff, Found=0x40, failed byte count from 0x00070000-0x0007ffff: 0x79ab</div><div>ERASE FAILED!</div><div>Reading current flash chip contents... done. Looking for another erase function.</div><div>Trying erase function 2... 0x000000-0x00ffff:S, 0x010000-0x01ffff:S, 0x020000-0x02ffff:S, 0x030000-0x03ffff:S, 0x040000-0x04ffff:S, 0x050000-0x05ffff:S, 0x060000-0x06ffff:S, 0x070000-0x07ffff:EFAILED at 0x00070000! Expected=0xff, Found=0x00, failed byte count from 0x00070000-0x0007ffff: 0x79ab</div><div>ERASE FAILED!</div><div>Reading current flash chip contents... done. Looking for another erase function.</div><div>Trying erase function 3... 0x000000-0x07ffff:EFAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x0007ffff: 0x3a0c2</div><div>ERASE FAILED!</div><div>Reading current flash chip contents... done. Looking for another erase function.</div><div>Trying erase function 4... 0x000000-0x07ffff:EFAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x0007ffff: 0x3a0c2</div><div>ERASE FAILED!</div><div>Reading current flash chip contents... done. Looking for another erase function.</div><div>Trying erase function 5... not defined. Looking for another erase function.</div><div>Trying erase function 6... not defined. Looking for another erase function.</div><div>Trying erase function 7... not defined. No usable erase functions left.</div><div>FAILED!</div><div>Uh oh. Erase/write failed. Checking if anything has changed.</div><div>Reading current flash chip contents... done.</div><div>Good, writing to the flash chip apparently didn't do anything.</div><div>Please check the connections (especially those to write protection pins) between</div><div>the programmer and the flash chip. If you think the error is caused by flashrom</div><div>please report this on IRC at <a href="http://chat.freenode.net">chat.freenode.net</a> (channel #flashrom) or</div><div>mail <a href="mailto:flashrom@flashrom.org">flashrom@flashrom.org</a>, thanks!</div></div></div></div></div>