Hello, here are the test results for "Found Micron/Numonyx/ST flash chip "M25P16" (2048 kB, SPI)". Erase seems to work, but write fails. I tried it with an Arduino Uno (http://www.flashrom.org/Serprog/Arduino_flasher).
Output is attached.
Greetings
On Thu, 17 Oct 2013 10:20:47 +0200 Raven originalraven@hotmail.com wrote:
Hello, here are the test results for "Found Micron/Numonyx/ST flash chip "M25P16" (2048 kB, SPI)". Erase seems to work, but write fails. I tried it with an Arduino Uno (http://www.flashrom.org/Serprog/Arduino_flasher).
Hi and thanks for your report!
I think the most probable causes are 1) a flaky chip, 2) flaky connections, but I am not sure.
To test for flaky connections please re-read the chip a few times and compare the results. One way to do that is using the verify command multiple times: ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -Vv test.rom
If it always fails like it did for writing (first byte/failure being Expected=0x55, Found=0x4b, and a total of 0x8399d unexpected bytes), then at least the clock, MISO and MOSI connections should be ok.
What happens if you write the same image again? The number of unexpected bytes seems rather huge to me (more than half a MB) to be just a flaky chip, but erasing apparently works, so it cant be a simple write protection. What does the following command print out? hexdump -e '/1 "%02X\n"' test.rom | grep -v FF -c (it should show the number of bytes in test.rom that are not all ones, i.e. 0xFF).
Output is attached.
Please do not compress log files in mails here.
Hallo Stefan, anhand des "at" am Ende denke (oder hoffe) ich du sprichst deutsch.
Der Chip ist ein 3.3V, ich Depp habe es aber mit dem 5V Adapter probiert. Daher kann es sein das der Chip nun nicht mehr so toll ist... :-\ Jetzt verwende ich den 3.3V Adapter den ich mir vorhin schnell zusammen gebaut habe. Habe den Flash nun mehrmals Veryfied, manchmal geht es manchmal nicht. Aber wenn der Chip nun einen Knacks hat sind jegliche weitere tests zwecklos. Der Fehler kommt übrigens immer an einem anderen Ort. Mal hier, mal da... Läuft etwas unstabil.
*Geht:* /Reading old flash chip contents... done.// //Verifying flash... VERIFIED./
*Geht nicht:* /Reading old flash chip contents... done.// //Verifying flash... FAILED at 0x00096a02! Expected=0x0b, Found=0x47, failed byte count from 0x00000000-0x001fffff: 0x39d/
oder mit version 0.9.5.2-r1517 Reading old flash chip contents... done. Verifying flash... VERIFY FAILED at 0x00148489! Expected=0x02, Read=0x00, failed byte count from 0x00000000-0x001fffff: 0xe9 / Reading old flash chip contents... done.// //Verifying flash... VERIFY FAILED at 0x0002369b! Expected=0x5a, Read=0xc6, failed byte count from 0x00000000-0x001fffff: 0x39// /
Habe auch versucht den Speed runter zu stellen (serprog:dev=/dev/ttyACM0:1500000). Was aber nicht funktioniert hat. Wenn ich weiter runter gehe bekomme ich einen Sync error: / //Calibrating delay loop... OK.// //Error: cannot synchronize protocol - check communications and reset device?// //Error: Programmer initialization failed./
An der Kabellänge kann es auch nicht liegen, denn die beträgt weniger als 10cm.
Lange Rede kurzer Sinn: Ich schaue das ich einen neuen Chip organisieren kann und teste damit. Bez. es kann auch sein das es am Programmer und gar nicht an flashrom liegt!
Eine andere Frage: Wiso werden die AT45DBxxx Chips nicht unterstützt? Gibt es da eine möglichkeit diese zu unterstützen?
Danke für die Hilfe!
Gruss
Marc
Am 17.10.2013 11:58, schrieb Stefan Tauner:
On Thu, 17 Oct 2013 10:20:47 +0200 Raven originalraven@hotmail.com wrote:
Hello, here are the test results for "Found Micron/Numonyx/ST flash chip "M25P16" (2048 kB, SPI)". Erase seems to work, but write fails. I tried it with an Arduino Uno (http://www.flashrom.org/Serprog/Arduino_flasher).
Hi and thanks for your report!
I think the most probable causes are 1) a flaky chip, 2) flaky connections, but I am not sure.
To test for flaky connections please re-read the chip a few times and compare the results. One way to do that is using the verify command multiple times: ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -Vv test.rom
If it always fails like it did for writing (first byte/failure being Expected=0x55, Found=0x4b, and a total of 0x8399d unexpected bytes), then at least the clock, MISO and MOSI connections should be ok.
What happens if you write the same image again? The number of unexpected bytes seems rather huge to me (more than half a MB) to be just a flaky chip, but erasing apparently works, so it cant be a simple write protection. What does the following command print out? hexdump -e '/1 "%02X\n"' test.rom | grep -v FF -c (it should show the number of bytes in test.rom that are not all ones, i.e. 0xFF).
Output is attached.
Please do not compress log files in mails here.
On Thu, 17 Oct 2013 14:13:31 +0200 Raven originalraven@hotmail.com wrote:
Hallo Stefan, anhand des "at" am Ende denke (oder hoffe) ich du sprichst deutsch.
Sure, but not everybody else does. ;) If is it is not too much of a burden on you please try to reply in English, and I hope you understand my mails well enough. If not we can continue in German too of course (if need be at all... looks like that chip is dead anyway :/)
Der Chip ist ein 3.3V, ich Depp habe es aber mit dem 5V Adapter probiert. Daher kann es sein das der Chip nun nicht mehr so toll ist... :-\ Jetzt verwende ich den 3.3V Adapter den ich mir vorhin schnell zusammen gebaut habe. Habe den Flash nun mehrmals Veryfied, manchmal geht es manchmal nicht. Aber wenn der Chip nun einen Knacks hat sind jegliche weitere tests zwecklos. Der Fehler kommt übrigens immer an einem anderen Ort. Mal hier, mal da... Läuft etwas unstabil.
*Geht:* /Reading old flash chip contents... done.// //Verifying flash... VERIFIED./
*Geht nicht:* /Reading old flash chip contents... done.// //Verifying flash... FAILED at 0x00096a02! Expected=0x0b, Found=0x47, failed byte count from 0x00000000-0x001fffff: 0x39d/
oder mit version 0.9.5.2-r1517 Reading old flash chip contents... done. Verifying flash... VERIFY FAILED at 0x00148489! Expected=0x02, Read=0x00, failed byte count from 0x00000000-0x001fffff: 0xe9 / Reading old flash chip contents... done.// //Verifying flash... VERIFY FAILED at 0x0002369b! Expected=0x5a, Read=0xc6, failed byte count from 0x00000000-0x001fffff: 0x39// /
OK that all sounds like a dying chip to me, although I can't explain the symptoms in details. Fried electronics are even harder to understand than working ones ;)
Habe auch versucht den Speed runter zu stellen (serprog:dev=/dev/ttyACM0:1500000). Was aber nicht funktioniert hat. Wenn ich weiter runter gehe bekomme ich einen Sync error: / //Calibrating delay loop... OK.// //Error: cannot synchronize protocol - check communications and reset device?// //Error: Programmer initialization failed./
The baud rate of the serprog module does change the communication rate between the micro controller and the host PC. That of course depends on the configuration of the Arduino and is usually fixed, and probably irrelevant in your case. What might be more interesting is the clock signal the micro controller applies to the flash chip. That can be changed by adding ",spispeed=..." to the programmer parameter, and only if the serprog implementation in the Arduino supports it. See manpage for details of the parameter.
An der Kabellänge kann es auch nicht liegen, denn die beträgt weniger als 10cm.
OK
Lange Rede kurzer Sinn: Ich schaue das ich einen neuen Chip organisieren kann und teste damit. Bez. es kann auch sein das es am Programmer und gar nicht an flashrom liegt!
Yes, I would definitely try to get another chip if you want to get some device working (again) reliably. You can probably use many other flash chips because most of them are very similar (same pin layout, mostly equal protocol)...
Eine andere Frage: Wiso werden die AT45DBxxx Chips nicht unterstützt? Gibt es da eine möglichkeit diese zu unterstützen?
but there are exceptions. The AT45DB series is such an exception, but thanks to the work of Aidan Thornton and myself they are supported now. You need at least flashrom revision 1723 (which is included in 0.9.7). Be aware of the different pin layout!
Hello Stefan, ok then i try to write in English. Hope you understand my bad English ;-)
I have tried to stabilize the Vcc with an additional Capacitor and cut the cables (to minimize the length), but with no luck.
I'm not sure if the Flash is really broken. Maybe the Programmer has a Problem (is unstable). Sometimes the arduino "locks up" and i have to unplug and plug the USB again. :-\ Also tried with the parameter "spispeed=xx" but same (bad) results.
I have an AT45DB011B chip here, but unfortunately this chip is unsupported. :-( Not sure what the difference between the "B" and the "D" is. But if i have time i try it with a AT45DB161D, this chip should be supported.
I try to do some tests with other chips, let's see if it works.
Have a nice day!
Greetings Marc
Am 17.10.2013 18:02, schrieb Stefan Tauner:
On Thu, 17 Oct 2013 14:13:31 +0200 Raven originalraven@hotmail.com wrote:
Hallo Stefan, anhand des "at" am Ende denke (oder hoffe) ich du sprichst deutsch.
Sure, but not everybody else does. ;) If is it is not too much of a burden on you please try to reply in English, and I hope you understand my mails well enough. If not we can continue in German too of course (if need be at all... looks like that chip is dead anyway :/)
Der Chip ist ein 3.3V, ich Depp habe es aber mit dem 5V Adapter probiert. Daher kann es sein das der Chip nun nicht mehr so toll ist... :-\ Jetzt verwende ich den 3.3V Adapter den ich mir vorhin schnell zusammen gebaut habe. Habe den Flash nun mehrmals Veryfied, manchmal geht es manchmal nicht. Aber wenn der Chip nun einen Knacks hat sind jegliche weitere tests zwecklos. Der Fehler kommt übrigens immer an einem anderen Ort. Mal hier, mal da... Läuft etwas unstabil.
*Geht:* /Reading old flash chip contents... done.// //Verifying flash... VERIFIED./
*Geht nicht:* /Reading old flash chip contents... done.// //Verifying flash... FAILED at 0x00096a02! Expected=0x0b, Found=0x47, failed byte count from 0x00000000-0x001fffff: 0x39d/
oder mit version 0.9.5.2-r1517 Reading old flash chip contents... done. Verifying flash... VERIFY FAILED at 0x00148489! Expected=0x02, Read=0x00, failed byte count from 0x00000000-0x001fffff: 0xe9 / Reading old flash chip contents... done.// //Verifying flash... VERIFY FAILED at 0x0002369b! Expected=0x5a, Read=0xc6, failed byte count from 0x00000000-0x001fffff: 0x39// /
OK that all sounds like a dying chip to me, although I can't explain the symptoms in details. Fried electronics are even harder to understand than working ones ;)
Habe auch versucht den Speed runter zu stellen (serprog:dev=/dev/ttyACM0:1500000). Was aber nicht funktioniert hat. Wenn ich weiter runter gehe bekomme ich einen Sync error: / //Calibrating delay loop... OK.// //Error: cannot synchronize protocol - check communications and reset device?// //Error: Programmer initialization failed./
The baud rate of the serprog module does change the communication rate between the micro controller and the host PC. That of course depends on the configuration of the Arduino and is usually fixed, and probably irrelevant in your case. What might be more interesting is the clock signal the micro controller applies to the flash chip. That can be changed by adding ",spispeed=..." to the programmer parameter, and only if the serprog implementation in the Arduino supports it. See manpage for details of the parameter.
An der Kabellänge kann es auch nicht liegen, denn die beträgt weniger als 10cm.
OK
Lange Rede kurzer Sinn: Ich schaue das ich einen neuen Chip organisieren kann und teste damit. Bez. es kann auch sein das es am Programmer und gar nicht an flashrom liegt!
Yes, I would definitely try to get another chip if you want to get some device working (again) reliably. You can probably use many other flash chips because most of them are very similar (same pin layout, mostly equal protocol)...
Eine andere Frage: Wiso werden die AT45DBxxx Chips nicht unterstützt? Gibt es da eine möglichkeit diese zu unterstützen?
but there are exceptions. The AT45DB series is such an exception, but thanks to the work of Aidan Thornton and myself they are supported now. You need at least flashrom revision 1723 (which is included in 0.9.7). Be aware of the different pin layout!
On Fri, 18 Oct 2013 09:30:11 +0200 Raven originalraven@hotmail.com wrote:
I have tried to stabilize the Vcc with an additional Capacitor and cut the cables (to minimize the length), but with no luck.
I'm not sure if the Flash is really broken. Maybe the Programmer has a Problem (is unstable). Sometimes the arduino "locks up" and i have to unplug and plug the USB again. :-\
I think that is a known issue with the usb to serial converter of arduino unos. The converter is just another atmel microcontroller (ATMega<8, 16 or 32>U2), so the issue could potentially be fixed with a newer firmware... I dont know any details though. "Denis 'GNUtoo' Carikli" GNUtoo@no-log.org might know more. I have put him in CC but he does not have a lot of time lately.
Also tried with the parameter "spispeed=xx" but same (bad) results.
I have an AT45DB011B chip here, but unfortunately this chip is unsupported. :-( Not sure what the difference between the "B" and the "D" is.
The early AT45DB chips (<no suffix>, A, B revisions) do not support any identification opcodes so flashrom can not detect them at all (and I skipped adding dedicated support for them). I have never seen a user reporting one... maybe it works with "-c AT45DB011D -f" but I doubt it: most chips of the AT45DB family can switch between two major modes which change the observed address layout. Many of them indicate that in their status register... the early revisions do not (at least it is not documented in the datasheet)... the code for AT45DB011D is not designed to handle that correctly I think... so at least please do not try to erase/write if the chips contain something useful. :)
But if i have time i try it with a AT45DB161D, this chip should be supported.
The AT45DB161D is completely tested already, so there is no need to test it again from our side.
I try to do some tests with other chips, let's see if it works.
Good/better luck! ;)
Hello again, can not say it in english, but in german: Ich denke deine "glückwünsche" haben geholfen!!! :-D
Now i'm at home and tested again. And it works! ;-) Sometimes the reader still "locks up", but the verify is always good! Maybe my computer at work is bad or it's an ubuntu problem. Here at home i have LMDE (debian). The same chip works well here. I attached logs from read, write, erase and verify. If you need more tests, just tell me. The exact name of the chip is "*M25P16VG*".
About the AT45DB161D: It's still red and says "no" on the homepage. Because of this i thought its not supported.
And i test it with the AT45DB011B, let's see if it works. ;-)
For the AT-Chips: The resistor R1 is needed? And Vcc connect to "hold" and "wp"?
Thanks and greetings
Marc
Am 18.10.2013 10:11, schrieb Stefan Tauner:
On Fri, 18 Oct 2013 09:30:11 +0200 Raven originalraven@hotmail.com wrote:
I have tried to stabilize the Vcc with an additional Capacitor and cut the cables (to minimize the length), but with no luck.
I'm not sure if the Flash is really broken. Maybe the Programmer has a Problem (is unstable). Sometimes the arduino "locks up" and i have to unplug and plug the USB again. :-\
I think that is a known issue with the usb to serial converter of arduino unos. The converter is just another atmel microcontroller (ATMega<8, 16 or 32>U2), so the issue could potentially be fixed with a newer firmware... I dont know any details though. "Denis 'GNUtoo' Carikli" GNUtoo@no-log.org might know more. I have put him in CC but he does not have a lot of time lately.
Also tried with the parameter "spispeed=xx" but same (bad) results.
I have an AT45DB011B chip here, but unfortunately this chip is unsupported. :-( Not sure what the difference between the "B" and the "D" is.
The early AT45DB chips (<no suffix>, A, B revisions) do not support any identification opcodes so flashrom can not detect them at all (and I skipped adding dedicated support for them). I have never seen a user reporting one... maybe it works with "-c AT45DB011D -f" but I doubt it: most chips of the AT45DB family can switch between two major modes which change the observed address layout. Many of them indicate that in their status register... the early revisions do not (at least it is not documented in the datasheet)... the code for AT45DB011D is not designed to handle that correctly I think... so at least please do not try to erase/write if the chips contain something useful. :)
But if i have time i try it with a AT45DB161D, this chip should be supported.
The AT45DB161D is completely tested already, so there is no need to test it again from our side.
I try to do some tests with other chips, let's see if it works.
Good/better luck! ;)
On Fri, 18 Oct 2013 19:09:06 +0200 Raven originalraven@hotmail.com wrote:
Hello again, can not say it in english, but in german: Ich denke deine "glückwünsche" haben geholfen!!! :-D
Yey
Now i'm at home and tested again. And it works! ;-) Sometimes the reader still "locks up", but the verify is always good! Maybe my computer at work is bad or it's an ubuntu problem. Here at home i have LMDE (debian).
Unlikely. Probably you just have bad luck with the timing of the USB data stream.
The same chip works well here. I attached logs from read, write, erase and verify. If you need more tests, just tell me. The exact name of the chip is "*M25P16VG*".
I'll mark the flash chip as fully tested and will commit that later together with other small changes.
About the AT45DB161D: It's still red and says "no" on the homepage. Because of this i thought its not supported.
And i test it with the AT45DB011B, let's see if it works. ;-)
Oh you are right. I forgot to update the wiki after merging quite a bunch of patches.
For the AT-Chips: The resistor R1 is needed? And Vcc connect to "hold" and "wp"?
The R1 is a so-called pull-up resistor. It pulls the voltage of /CS up to VCC. So the default if nothing is applied by the arduino is "unselected". Yes, /hold and /wp should be pulled up to high too (with or without a pull-up resistor does not matter too much because they are static anyway).
Hello, i made some test with the arduino/serprog and some different flash-chips:
*M25P16* -> all ok (erase and write has status "untested" but works ok!) *M25P40* -> all ok *W25X40* -> all ok
*25F512* -> erase not working, always same error: /flashrom v0.9.7-r1757 on Linux 3.10-2-amd64 (x86_64)// //flashrom is free software, get the source code at http://www.flashrom.org// // //flashrom was built with libpci 3.2.0, GCC 4.7.3, little endian// //Command line (5 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -VE// //Calibrating delay loop... OS timer resolution is 1 usecs, 1290M loops per second, 10 myus = 9 us, 100 myus = 111 us, 1000 myus = 1120 us, 10000 myus = 9990 us, 4 myus = 5 us, OK.// //Initializing serprog programmer// //Baud rate is 2000000 now.// //serprog: connected - attempting to synchronize// //...// //serprog: Synchronized// //serprog: Interface version ok.// //serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on// //Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd// //Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd// //serprog: Programmer name is "serprog-duino"// //serprog: Serial buffer size is 65535// //serprog: Warning: Programmer does not support toggling its output drivers// //The following protocols are supported: SPI.// //Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60// //Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog.// //Chip status register is 0x00.// //Chip status register: Write Protect Enable (WPEN) is not set// //Chip status register: Bit 6 is not set// //Chip status register: Bit 5 is not set// //Chip status register: Bit 4 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// //Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:E, 0x008000-0x00ffff:EError: invalid response 0xFF from device// //spi_block_erase_52 failed during command execution at address 0x8000// //Reading current flash chip contents... Error: invalid response 0xFF from device// //Can't read anymore! Aborting.// //FAILED!// //Your flash chip is in an unknown state.// //Please report this on IRC at chat.freenode.net (channel #flashrom) or// //mail flashrom@flashrom.org, thanks!/
*LE25FW406A* -> not supported! Can i do something to help you support this chip?
*AT45DB161D* -> all ok, perfect work! * **AT45DB011B* -> not supported! You said that this chip (B and earlier) has no identification support. But i am not sure if this is relay true. Let me explain: Years ago i build another programmer for the parallel port. Very cheap, but not relay stable, or let's say very unstable! :-\ But the tool from this programmer is able to detect the chip:
And now i have a clean read from this flash and can test it with flashrom ;-) Maybe you can contact Adam Dybkowski and ask how it works. This is/was the "Project-Page": http://dybkowski.net/content/en/node/15 And i also have his email if you need it.
Wish you a nice day!
Greetings
Marc
On Tue, 22 Oct 2013 13:41:42 +0200 Raven originalraven@hotmail.com wrote:
Hello, i made some test with the arduino/serprog and some different flash-chips:
*M25P16* -> all ok (erase and write has status "untested" but works ok!)
added
*M25P40* -> all ok *W25X40* -> all ok
were already marked ok
*25F512* -> erase not working, always same error: /flashrom v0.9.7-r1757 on Linux 3.10-2-amd64 (x86_64)// //flashrom is free software, get the source code at http://www.flashrom.org// // //flashrom was built with libpci 3.2.0, GCC 4.7.3, little endian// //Command line (5 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -VE// //Calibrating delay loop... OS timer resolution is 1 usecs, 1290M loops per second, 10 myus = 9 us, 100 myus = 111 us, 1000 myus = 1120 us, 10000 myus = 9990 us, 4 myus = 5 us, OK.// //Initializing serprog programmer// //Baud rate is 2000000 now.// //serprog: connected - attempting to synchronize// //...// //serprog: Synchronized// //serprog: Interface version ok.// //serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on// //Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd// //Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd// //serprog: Programmer name is "serprog-duino"// //serprog: Serial buffer size is 65535// //serprog: Warning: Programmer does not support toggling its output drivers// //The following protocols are supported: SPI.// //Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60// //Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog.// //Chip status register is 0x00.// //Chip status register: Write Protect Enable (WPEN) is not set// //Chip status register: Bit 6 is not set// //Chip status register: Bit 5 is not set// //Chip status register: Bit 4 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// //Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:E, 0x008000-0x00ffff:EError: invalid response 0xFF from device// //spi_block_erase_52 failed during command execution at address 0x8000// //Reading current flash chip contents... Error: invalid response 0xFF from device// //Can't read anymore! Aborting.// //FAILED!// //Your flash chip is in an unknown state.// //Please report this on IRC at chat.freenode.net (channel #flashrom) or// //mail flashrom@flashrom.org, thanks!/
need to investigate further... any new findings regarding it?
*LE25FW406A* -> not supported! Can i do something to help you support this chip?
Sure, send a patch ;)
*AT45DB161D* -> all ok, perfect work!
was already marked ok
**AT45DB011B* -> not supported! You said that this chip (B and earlier) has no identification support. But i am not sure if this is relay true. Let me explain: Years ago i build another programmer for the parallel port. Very cheap, but not relay stable, or let's say very unstable! :-\ But the tool from this programmer is able to detect the chip:
And now i have a clean read from this flash and can test it with flashrom ;-) Maybe you can contact Adam Dybkowski and ask how it works. This is/was the "Project-Page": http://dybkowski.net/content/en/node/15 And i also have his email if you need it.
AFAICT it was not able to distinguish it from an input stuck at 1 http://sourceforge.net/p/ispprogrammer/code/HEAD/tree/trunk/Devices_AT45.pas...
Hello, here are the results for the "AT25F512*N*" with arduino. Not sure for what the "N" stands for. Read and write works, but erase not. * Erase:* Computer flashrom-0.9.7 # ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -VE flashrom v0.9.7-r1711 on Linux 3.2.0-23-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian Command line (5 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -VE Calibrating delay loop... OS timer resolution is 1 usecs, 2019M loops per second, 10 myus = 11 us, 100 myus = 136 us, 1000 myus = 1025 us, 10000 myus = 11492 us, 4 myus = 9 us, OK. Initializing serprog programmer Baud rate is 2000000. serprog: connected - attempting to synchronize ... serprog: Synchronized serprog: Interface version ok. serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd serprog: Programmer name is "serprog-duino" serprog: Serial buffer size is 65535 serprog: Warning: Programmer does not support toggling its output drivers The following protocols are supported: SPI. Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60 Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog. Chip status register is 0x00. Chip status register: Write Protect Enable (WPEN) is not set Chip status register: Bit 6 is not set Chip status register: Bit 5 is not set Chip status register: Bit 4 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 Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:E, 0x008000-0x00ffff:EError: invalid response 0xFF from device spi_block_erase_52 failed during command execution at address 0x8000 Reading current flash chip contents... Error: invalid response 0xFF from device Can't read anymore! Aborting. FAILED! Your flash chip is in an unknown state. Please report this on IRC at chat.freenode.net (channel #flashrom) or mail flashrom@flashrom.org, thanks!
*Write:* Computer flashrom-0.9.7 # ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vw AT25F512.rom flashrom v0.9.7-r1711 on Linux 3.2.0-23-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian Command line (6 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vw AT25F512.rom Calibrating delay loop... OS timer resolution is 1 usecs, 1995M loops per second, 10 myus = 20 us, 100 myus = 143 us, 1000 myus = 1013 us, 10000 myus = 9918 us, 4 myus = 9 us, OK. Initializing serprog programmer Baud rate is 2000000. serprog: connected - attempting to synchronize ... serprog: Synchronized serprog: Interface version ok. serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd serprog: Programmer name is "serprog-duino" serprog: Serial buffer size is 65535 serprog: Warning: Programmer does not support toggling its output drivers The following protocols are supported: SPI. Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60 Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog. Chip status register is 0x00. Chip status register: Write Protect Enable (WPEN) is not set Chip status register: Bit 6 is not set Chip status register: Bit 5 is not set Chip status register: Bit 4 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 Reading old flash chip contents... done. Erasing and writing flash chip... Trying erase function 0... 0x000000-0x007fff:W, 0x008000-0x00ffff:S Erase/write done. Verifying flash... VERIFIED. * Verify:* Computer flashrom-0.9.7 # ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vv AT25F512.rom flashrom v0.9.7-r1711 on Linux 3.2.0-23-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian Command line (6 args): ./flashrom -p serprog:dev=/dev/ttyACM0:2000000 -c AT25F512 -Vv AT25F512.rom Calibrating delay loop... OS timer resolution is 1 usecs, 1989M loops per second, 10 myus = 11 us, 100 myus = 135 us, 1000 myus = 1058 us, 10000 myus = 10101 us, 4 myus = 9 us, OK. Initializing serprog programmer Baud rate is 2000000. serprog: connected - attempting to synchronize ... serprog: Synchronized serprog: Interface version ok. serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd serprog: Programmer name is "serprog-duino" serprog: Serial buffer size is 65535 serprog: Warning: Programmer does not support toggling its output drivers The following protocols are supported: SPI. Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x1f, id2 0x60 Found Atmel flash chip "AT25F512" (64 kB, SPI) on serprog. Chip status register is 0x00. Chip status register: Write Protect Enable (WPEN) is not set Chip status register: Bit 6 is not set Chip status register: Bit 5 is not set Chip status register: Bit 4 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 Reading old flash chip contents... done. Verifying flash... VERIFIED.
Hello, chip "SST25VF512A" is missing on the supported hardware page! Read: ok Verify: ok Erase: ok Write: ok
All tested and ok. :-)
flashrom v0.9.7-r1763 on Linux 3.2.0-23-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. serprog: Programmer name is "serprog-duino" Found SST flash chip "SST25VF512A" (64 kB, SPI) on serprog. Reading old flash chip contents... done. Verifying flash... VERIFIED.
On Thu, 7 Nov 2013 17:15:14 +0100 The Raven originalraven@hotmail.com wrote:
Hello, chip "SST25VF512A" is missing on the supported hardware page! Read: ok Verify: ok Erase: ok Write: ok
All tested and ok. :-)
flashrom v0.9.7-r1763 on Linux 3.2.0-23-generic (i686) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. serprog: Programmer name is "serprog-duino" Found SST flash chip "SST25VF512A" (64 kB, SPI) on serprog. Reading old flash chip contents... done. Verifying flash... VERIFIED.
It was newly added and is therefore missing. I am not updating the wiki after each commit that would change the wiki output, because it is quite some work and I dont think it is worth it. It is already marked as tested ok in the source code as you can see from the flashrom output (no messages about any unsupported operations). But thanks for noticing such details... not all of them are normal but bugs ;)
Hi
I have tow of this chips here and i try to erase and write it. But it doesn't work. First i thought the chip is broken, but i have tow and both chips generate the same error. The last line shows this: 0x100000-0x100fff:EFAILED at 0x00100000! Expected=0xff, Found=0xeb, failed byte count from 0x00100000-0x00100fff: 0xfe5 ERASE FAILED!
I think something is wrong with flashrom. The error is always at 0x00100000.
Any ideas? Something to try?
Thx and greets.
On Fri, 6 Feb 2015 10:11:01 +0100 The Raven originalraven@hotmail.com wrote:
Error: invalid response 0x03 from device
As always ;) this is a serprog problem...
Am 01.03.2015 um 01:39 schrieb Stefan Tauner:
On Fri, 6 Feb 2015 10:11:01 +0100 The Raven originalraven@hotmail.com wrote:
Error: invalid response 0x03 from device
As always ;) this is a serprog problem...
Are you really sure? I ask me why i get this error only on this chip? I have tested a lot of MX-Chips and all worked fine. Only this chip does not work, and all of those chips stuck always at the same byte-count. So i am not sure if this is a serprog problem. ;-)
On Sun, 1 Mar 2015 10:58:46 +0100 The Raven originalraven@hotmail.com wrote:
Am 01.03.2015 um 01:39 schrieb Stefan Tauner:
On Fri, 6 Feb 2015 10:11:01 +0100 The Raven originalraven@hotmail.com wrote:
Error: invalid response 0x03 from device
As always ;) this is a serprog problem...
Are you really sure? I ask me why i get this error only on this chip? I have tested a lot of MX-Chips and all worked fine. Only this chip does not work, and all of those chips stuck always at the same byte-count. So i am not sure if this is a serprog problem. ;-)
No, I am not 100% sure. But I don't trust that programmer at all. The indication I posted is written very late, way after the first error, but whenever I see it, I perceive the log as completely bogus.
Where do you live btw? Maybe someone else could take a look at the chip with another programmer.
Hi,
On Sun, Mar 1, 2015 at 1:04 PM, Stefan Tauner stefan.tauner@alumni.tuwien.ac.at wrote:
On Sun, 1 Mar 2015 10:58:46 +0100 The Raven originalraven@hotmail.com wrote:
Am 01.03.2015 um 01:39 schrieb Stefan Tauner:
On Fri, 6 Feb 2015 10:11:01 +0100 The Raven originalraven@hotmail.com wrote:
Error: invalid response 0x03 from device
As always ;) this is a serprog problem...
Are you really sure? I ask me why i get this error only on this chip? I have tested a lot of MX-Chips and all worked fine. Only this chip does not work, and all of those chips stuck always at the same byte-count. So i am not sure if this is a serprog problem. ;-)
No, I am not 100% sure. But I don't trust that programmer at all. The indication I posted is written very late, way after the first error, but whenever I see it, I perceive the log as completely bogus.
Yeah I'm thinking propably a problem of the serprog device - "serprog-duino". What is the exact hardware? (and link to firmware you used).
Also, just for all serprog users, I'd like to hear reports (works/fails/faster/slower/???) from using this branch: https://github.com/urjaman/flashrom/tree/serprog-improvements It might be better or it might show the failures of your serprog device faster. I think the diagnostics are also slightly better for some cases.