espressif / esptool

Espressif SoC serial bootloader utility
https://docs.espressif.com/projects/esptool
GNU General Public License v2.0
5.58k stars 1.38k forks source link

Flash SST26VF032 does not work #149

Closed Testi89 closed 6 years ago

Testi89 commented 7 years ago

When I try to flash a SST26VF032 from microchip/SST, esptool gets a timeout when trying to connect and flashing is not possible (A fatal error occurred: Failed to connect to ESP8266). I use a SST26VF032 as a substitute for a 4Mb chip on an older ESP12 module.

Reading the chipID from ESP8266 is working, so my setup seems to be correct:

esptool.py v1.3-dev
Connecting...
Chip ID: 0x009fb3f8

I can find the SST26VF032 in the flash table (flash_chips.h), so I am wondering why is it not possible to flash this chip (#define SST_SST26VF032 0x2602).

tested with 1.3-dev

projectgus commented 7 years ago

Unfortunately, the datasheet for the SST26VF032 suggests it's probably not compatible with all of the SPI flash command set used by ESP8266.

The only solution may be to find a different chip that supports more of the common SPI flash commands.

lukeweston commented 7 years ago

Is there any documentation out there in the community with "known good" (and known bad) specific Flash silicon tested with the ESP8266 (and ESP32)? There do seem to be a couple of quirky ones out there.

hm2dev commented 7 years ago

Surprisingly I ran into the same problem as Testi89 at about the same time, as I was unable to obtain the W25Q32 from my suppliers. I'm now testing an ISSI IS25WP032 as replacement for the in the Espressif reference schematics. This chip is also mentioned here https://esp32.com/viewtopic.php?f=2&t=826 as having been spotted on an ESP32 module. Another option seems to be the GigaDevice GD25Q32, as mentioned here http://www.lucadentella.it/en/2016/12/22/esp32-4-flash-bootloader-e-freertos/

I' not sure which flash_chips.h Testi89 is referring to, the only one I can find is from coreboot. https://code.coreboot.org/p/flashrom/source/tree/HEAD/tags/0.9.8/flashchips.h If it is the right one, that might be a source for more compatible types.

lukeweston commented 7 years ago

I recently got a batch of Winbond 25Q32FVSIG and they don't work. (On ESP8266 not the '32.) Maybe I just got a bad batch of silicon. (They are cheap AliExpress ones.)

I didn't have any other chips in stock, so I popped the can off an ESP12 and removed the BergMicro 25Q32ASSIG and swapped it onto one of my boards - and this works fine. But without a datasheet for the latter it's hard to say if there are differences.