It's much better expecially for the SPI side. It has been written debugging the v6.3 revision (thanks a lot Tayken!). Actually over the v6.1 there are also the v6.2 and v6.3 revisions. v6.1 isn't the latest and however only that I wrote has been bugfixed for problems facing the SPI's management, no others for what I know.
Hi Coffee, you are welcome! Sad to read about your problem. Unluckily I'm not accustomed to use the Linux version of the flashrom because normally I use the Windows one. In the past even me I have used the program running Ubuntu in a virtual machine getting some issues. If for you there isn't problem I suggest to use a Windows version directly on your computer if there is installed an operating system other than Ubuntu or any kind of Linux. Please take a look here:
Sorry but now it's late and I don't remember Linux's syntax for flashrom so I'll go to explain some hint using the Windows' one. To you the task of converting commands in order to use them with Linux, apologize me.
First, what happens performing someting like this?:
flashrom.exe -p buspirate_spi:dev=COM
(where COM have to be the real serial port number assigned to the Bus Pirate).
In that way flashrom should show you it works and the name of the found device if it has been able to recognize one. If all it's fine then try this:
flashrom.exe -p buspirate_spi:dev=COM -r myfile
This one should be almost the same as your "# flashrom --programmer buspirate_spi:dev=/dev/ttyUSB0,spispeed=1M -r myfile.bin -c MX25L6406E/MX25L6408E". I advise you not to force any recognition for the device unless otherwise necessary. Generally flashrom set Bus Pirate for the maximum speed of 8MHz for SPI and I don't see the utility to change it unless there are problems, so try to run the program without force the bus' speed. Slow down the speed it's useful in case you get problems, the chip that you are trying to read is welded somewhere or alone disconnected? Setting aside flashrom for a moment and using the Bus Pirate alone in order to be sure all is working right there, in the end are you been able to read the Macronix MX25L6406E's JEDEC as explained here?
There is explained how the Bus Pirate manage its pull-ups. As stated in the document the pull-ups are only on MOSI, CLOCK, MISO and CS. Another point is that it is not recommended provide power supply voltage throught a pull-up resistor as you did for the whole chip. The right connections should be these:
Course you need to choose +3,3V like power supply voltage due the fact the chip isn't +5V tolerant. Better should be provide the Vcc to WP# and HOLD# through limitation resistors (something like 10kohm should be OK) but also connecting them together isn't bad also because of the safety specifications of the Bus Pirate's power supply stage. About how set the Bus Pirate in my opinion 30kHz is really few, very slow. I believe even 1MHz is good. For the parameter "Select output type:" you must to choose "2. Normal (H=3.3V, L=GND)", then you have to issue a "W" command in order to switch on the power supply. Please don't activate the pull-up resistors (command "P") though. Here is the sequence:
I believe the JEDEC is wrong due the lack in something during the upgrade, perhaps the jumper between PGC and PGD pins. I'm not sure though, sorry. Hoping that can help.
for a moment set aside flashrom and give it a try with Bus Pirate alone just in order to be sure all is working right there. So clip your chip to the Bus Pirate, put it in SPI mode and send these commands:
[0x9F r:3] (if all is fine either for SPI communication or links, on the terminal you should be able to read JEDEC of the component which is BFH 25H 8DH for SST25VF040B)
[0x90 0x00 0x00 0x00 r:2] (if all is fine either for SPI communication or links, on the terminal you should be able to read the Manufacturer and Device ID of the component which are BFH 8DH for SST25VF040B)
[0x90 0x00 0x00 0x01 r:2] (if all is fine either for SPI communication or links, on the terminal you should be able to read the Device and Manufacturer ID of the component which are 8DH BFH for SST25VF040B)
Ok this is the first step. If you are able to see them your Bus Pirate and chip are talking fine otherwise there is a problem and then it's normal that flashrom is unable to recognize the chip.
Hi Riley. Instead to use ds30 Loader GUI try to use pirate-loader.exe, maybe you can fix your problem. If you haven't yet tried give it a try, it doesn't cost anything and it's easy to do. Simply download the firmware you want, edit the batch file and run it. You only need to set properly the COM port. In the case you want to use a firmware release that hasn't its own batch file, simply put the firmware you want in the folder and in the batch file make changes at the name of the exadecimal firmware so it match with what it's need. Easy, give it a chance. Good luck!
Hi haris2k11, Graham242 and tayken are right, maybe it's better if you take contact with the flashrom's guys. Anyway I'm pretty sure that the Bus Pirate can do the job by itself without the help of anything else. Seems you have to perform a Bulk Erase command, so clip the probes on the N25Q064 in the right way and put the Bus Pirate in SPI. Also pay attention to the HOLD/DQ3 pin which you need to tie to Vcc in order to deselect it. If I'm not wrong something the command sequence must be this
[0x06][0x01 0x00][0xC7]%:125000[0x05 r]
otherwise take a look at the datasheet of the component. RDSR (Read Status Register) 05h in the end of the sequence is for be sure all went well, look at its content by decoding it according with the datasheet. The whole sequence require 125 seconds to be completed, so be patient. I haven't that chip so I can't test the command sequence. Good luck!
Hi haris2k11, tayken has already replied to you. Please follow his hints but also considers this. For what I know tayken has fixed the main firmware a lot so if doesn't compiled by own self the latest best revision is here:
Since you are familiar with Windows environment perhaps it's better for you do the upgrade from there. So simply download the 6.1 main release (https://code.google.com/p/dangerous-pro ... e.v6.1.zip) and unpack it putting the tayken's fixed firmware in the same folder. Now you need to write a new batch file or edit that which is already in the folder simply changing the name for the firmware's file and eventually adjust the COM's address, then start the new batch with PGC and PGD tied by jumper (http://dangerousprototypes.com/docs/Pir ... Windows%29). That's all.
In my own experience by using flashrom with Windows isn't more headache than using Linux, no more than little differences in the command line,nothing else IMHO. Still IHMO the real killer application on using Linux over Windows is the ability to easily compile by itself the latest version of flashrom or use the version ready for use that it's possible to download from the main site of flashrom. This really makes the difference between the two. People who can do the job (complile flashrom) under Linux surely can do the same with Windows even if it is a bit more complicate there. The complication arises by the fact with Windows you need to configure an environment that was thought to Unix which is more similar to Linux than the operative system from Microsoft. Being able to correctly install mingw environment and set it in the same way than in Linux equalize the matter though. So starting from a working Linux environment it is definitely possible duplicate it in Windows. The real problem is how and where get the working Linux environment in order to set Windows in the same way, IHMO.
Ok, it's pretty trivial fix the matter, not for me though: I'm not a software guy. I think would be an interesting feature add it, but honestly I don't even know how create an issue to get that fixed.
Am I the only who have missing caracters while capturing of ! (ASCII caracter 33, 21HEX)? While performing SPI analysis I have spotted the weird behaviour. On the main screen all is good and correctly there are the captured !, while into SPI analyser's panel ! are missing. My client version is Jawis-OLS-client ols-0308 but I see also other more recent clients have the same behaviour.