Hello,
I'm trying to flash a Macronix MX25L6405D chip I pulled from a router I bricked using the Bus Pirate and a recent version of Flashrom. The chip should be supported according to Flashrom but the ID the chip returns seems to be wrong. Are there still known problems with Flashrom and the Bus Pirate? I'm using the latest 5.10 firmware on the Bus Pirate. Output follows:
[]# flashrom -c MX25L6405 -p buspirate_spi:dev=/dev/ttyUSB0 -VV flashrom v0.9.3-r1250 on Linux 2.6.35.10-74.fc14.x86_64 (x86_64), built with libpci 3.1.7, GCC 4.5.1 20100924 (Red Hat 4.5.1-4), little endian flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OS timer resolution is 2 usecs, 827M loops per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 1013 us, 10000 myus = 10018 us, 8 myus = 9 us, OK. Initializing buspirate_spi programmer SPI speed is 8MHz buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 0 Sending 0x00, receiving buspirate_sendrecv: write 1, read 5 Sending 0x00, receiving 0x42 0x42 0x49 0x4f 0x31 Raw bitbang mode version 1 buspirate_sendrecv: write 1, read 4 Sending 0x01, receiving 0x53 0x50 0x49 0x31 Raw SPI mode version 1 buspirate_sendrecv: write 1, read 1 Sending 0x4b, receiving 0x01 buspirate_sendrecv: write 1, read 1 Sending 0x67, receiving 0x01 buspirate_sendrecv: write 1, read 1 Sending 0x8a, receiving 0x01 buspirate_sendrecv: write 1, read 1 Sending 0x03, receiving 0x01 Probing for Macronix MX25L6405, 8192 KB: buspirate_sendrecv: write 7, read 7 Sending 0x02 0x13 0x9f 0x00 0x00 0x00 0x03, receiving 0x01 0x01 0xff 0xc0 0x00 0x00 0x01 RDID returned 0xc0 0x00 0x00. RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0xc0, id2 0x00 No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically. buspirate_sendrecv: write 1, read 5 Sending 0x00, receiving 0x42 0x42 0x49 0x4f 0x31 Raw bitbang mode version 1 buspirate_sendrecv: write 1, read 0 Sending 0x0f, receiving Bus Pirate shutdown completed.
I can also get 'receiving 0x01 0x01 0x00 0xc0 0x00 0x00 0x01' instead of 'receiving 0x01 0x01 0xff 0xc0 0x00 0x00 0x01' on occasion. I've tried different spispeed settings but no change. I tried programming it in place at first by lifting the power pin but have since removed the chip with the same results.
Eric