On Thu, Jul 9, 2015 at 9:24 AM, David Woodhouse dwmw2@infradead.org wrote:
On Thu, 2015-07-09 at 16:59 +0100, David Woodhouse wrote:
Here's an updated version of the next patch in the sequence.
...
From: Stefan Tauner stefan.tauner@alumni.tuwien.ac.at Date: Mon, 22 Jun 2015 03:37:23 +0200 Subject: [PATCH] dediprog: Support new communication protocol.
On top of that, I tried the patch at http://git.infradead.org/users/dwmw2/flashrom.git/commitdiff/81ad0cc50 to attempt to enable SF600 support. I got someone to test it for me on an SF600Plus with firmware 7.1.1. It doesn't work.
Firstly, whatever dediprog_device_init() is doing is not covered by the recently-provided documentation for *either* the old or the new protocol, and the SF600 doesn't like it:
Unexpected response to init! Error: Programmer initialization failed.
If we just comment that out, and also make it accept firmware v7, then we can successfully identify a W25Q64.W chip and read sane-looking contents from it. Writes fail, though:
I tried this out on an SF600 Plus (FW 7.1.4) and got the same result. Though if we comment it out, then subsequent commands on the SF100 (FW 5.1.5) fail :-/
Attempting to write using the SF600 gives me: flashrom v0.9.8-r1896 on Linux 4.0.4-gentoo (x86_64) flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.3.1, GCC 4.7.3, little endian Command line (5 args): ./flashrom -V -p dediprog -w /tmp/random_2M.bin Calibrating delay loop... OS timer resolution is 1 usecs, 1299M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 999 us, 10000 myus = 9999 us, 4 myus = 5 us, OK. Initializing dediprog programmer Found USB device (0483:dada). Found a SF600 V:7.1.4 SPI speed is 12MHz Setting SPI voltage to 3.500 V The following protocols are supported: SPI. Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4015 ... Found Winbond flash chip "W25Q16.V" (2048 kB, SPI). This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Reading old flash chip contents... done. Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:WSPI bulk write failed, expected 512, got -5 Input/output error! Command Set LED 0x4 failed (Connection timed out)! Reading current flash chip contents... Command Set LED 0x2 failed (Connection timed out)! Command Read SPI Bulk failed, -110 Connection timed out! Command Set LED 0x4 failed (Connection timed out)! Can't read anymore! Aborting. FAILED! Uh oh. Erase/write failed. Checking if anything has changed. Reading current flash chip contents... Command Set LED 0x2 failed (Connection timed out)! Command Read SPI Bulk failed, -110 Connection timed out! Command Set LED 0x4 failed (Connection timed out)! Can't even read anymore! 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! Setting SPI voltage to 0.000 V Command Set SPI Voltage 0x0 failed!