-
• #2
which files did you use ? the _4mb version does strange things for me too. The basic package (without _4mb) works better on my esp8266 4mb.
-
• #3
I used _4mb version. I did not know if another one works with 4Mb boards, thank you. It is my first attempt to use ESP8266. In any case, 1v94 looks to be enough for my current goal - to let my children to control 8212B LED string using Blockly.
-
• #5
I have this problem too with
espruino_1v95_esp8266_4mb_combined_4096.bin
.I can flash the 4M image to my 4M NodeMCU, and reboot it as many times as I want, but as soon as I do a
wifi.save()
then reboot withrequire("ESP8266").reboot()
then I get a serial console full of this over and over:Fatal exception (3): epc1=0x401000b8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x401000df, depc=0x00000000
The wifi data is stored at the end of flash, so I thought it may be the end of my 4M flash was faulty, however I've tried pretending the flash layout is 2M and 1M with:
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_freq 40m --flash_mode qio --flash_size 2MB 0x0000 "boot_v1.6.bin" 0x1000 espruino_esp8266_user1.bin 0x1FC000 esp_init_data_default.bin 0x1FE000 blank.bin esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_freq 40m --flash_mode qio --flash_size 1MB 0x0000 "boot_v1.6.bin" 0x1000 espruino_esp8266_user1.bin 0xFC000 esp_init_data_default.bin 0xFE000 blank.bin
and neither of these fixed the problem.
I have tried both the combined image and the indvidual images as above, neither worked.
I have tried the previous versions:
espruino_1v94_esp8266_4mb_combined_4096.bin
espruino_1v92_esp8266_4mb_combined_4096.bin
espruino_1v93_esp8266_4mb_combined_4096.bin
and all of these worked fine.
So it seems there is some regression between 1v94 and 1v95 which breaks wifi save or load on ESP8266 4M.
It might be worth noting that both MicroPython's boot/main files and Arduino sketches work fine on my board, though as I understand they don't store anything at the end of flash.
-
• #6
Hi,
Where did you find command line addresses for the 4mb_combined ? I wanted to try it too, but didn't find the instructions.On my esp--12E, esp8266 4mb, I uses this image http://www.espruino.com/binaries/travis/master/espruino_1v95.13_esp8266.tgz, installed with
python esptool.py --port COM18 --baud 115200 write_flash --flash_freq 80m --flash_mode dio --flash_size 32m 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
No problem saving code or saving wifi. Works perfectly, or almost, sometimes It freeze when I reset.
-
• #7
I just had a guess based on other instructions like MicroPython. Turns out it works fine:
esptool.py --port /dev/ttyUSB0 write_flash --flash_size=detect 0 espruino_1v95_esp8266_4mb_combined_4096.bin
-
• #8
I have the same issue too. Any solution of it?
-
• #9
Hi, I tried with the same file and command line. I got the same problem: after I save wifi and replug, the led is continuously lit and the board only say garbage. The combined version 512 don't work at all, at least on my esp8266 4mb.
I didn't even know about this combined release, before this post. The normal not "combined" version, i.e with separate files, works much better, and I am still using it. Not a solution, but a workaround. -
• #10
Thanks for your response. I can't even get esp-12 starting after flashing. It constantly reboots with "combined" as well as with normal version. Will try to add capacitor between Vcc and Gnd as the last hope...
-
• #12
@Polypod, I'm using such command:
esptool.py --port /dev/cu.SLAB_USBtoUART --baud 115200 write_flash \ --verify --flash_freq 80m --flash_mode dio --flash_size 4MB \ 0x0000 "boot_v1.6.bin" 0x1000 espruino_esp8266_user1.bin \ 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
This happens with the 3 latests versions
I'm using esp-12e with this adapter
-
• #13
I see no reason why it doesn't work. Maybe the adapter. I use a nodemcu version with a different adapter (http://img.dxcdn.com/productimages/sku_406735_1.jpg)
-
• #15
@tempos It is possible. Many have run it on bare boards even the ESP 8226-01.
It is a while since I have used on ESP8226 (certainly I've not tried any >1.9 binaries) so can't offer much constructive help.
But, things to try if you have not already:-
1) Run "erase_flash" first. This always seemed to help get a clean flash of the binaries.
2) Wiring. A couple of gotchas for me: "CH_PD" needs to be pulled high (3.3v) and GPIO 0 needs to be high for normal use but pulled low (GND) for the purpose of flashing. Also your need that capacitor you say you will try. Otherwise the power to the board from your FTDI style adapter just is not stable enough. These are a couple of annoyances you don't need to consider with Node MCU.You may have all this hand, but if not hope it helps.
-
• #16
Same problem...
1.95 not work after wifi.save() and reboot1st erase flash command line:
python esptool.py --port COM7 erase_flash
2nd flash esp12 4mb command line:
python esptool.py --port COM7 --baud 115200 write_flash --flash_freq 80m --flash_mode dio --flash_size 32m 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
or
python "../esptool/esptool.py" --port COM7 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 4MB 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
-
• #17
Yep: Espruino firmware is getting larger with every release.
That is why there is a
BOARD=ESP8266_4MB
// used code to connect and save var Wifi = require('Wifi'); SSID='YOURSSID'; SSIDPASS='YOURSSIDPASS'; Wifi.connect(SSID, {password:SSIDPASS}, function(err) { if (err === null){ console.log('Connected to AP YOURSSID'); Wifi.setDHCPHostname(Wifi.getAPDetails().ssid.replace('_','-')); Wifi.stopAP(); Wifi.setConfig({powersave : 'none'}); Wifi.save(); } });
press your reset button and then
_____ _ | __|___ ___ ___ _ _|_|___ ___ | __|_ -| . | _| | | | | . | |_____|___| _|_| |___|_|_|_|___| |_| http://espruino.com 1v95.3469 Copyright 2017 G.Williams Espruino is Open Source. Our work is supported only by sales of official boards and donations: http://espruino.com/Donate Flash map 4MB:1024/1024, manuf 0xe0 chip 0x4016 >require("Wifi").getIP(); ={ "ip": "192.168.194.121", "netmask": "255.255.255.0", "gw": "192.168.194.1", "mac": "5c:cf:7f:c1:12:0b" }
-
• #18
the flashsize 4MB_c1 is the key :-)
esptool.py --port <your port> --baud 460800 write_flash \ --flash_freq 80m --flash_mode qio --flash_size 4MB-c1 \ 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin \ 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
-
• #20
Hm, I don't seem to be able to get 1.95 to work on my ESP12F's either. I'm flashing with
Z:\ESPTOOL\espruino_1v95_esp8266_4mb>..\esptool.py --port COM3 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 32m 0x0000 "boot_v1.6.bin" 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
It works for the first time I start it, but wifi.save() then a power cycle, and it spews output on serial at an unknown baud rate. I tried 32m-c1 (though I don't know what this does, and never had to do it before) and 32m-c2, and got the same results. 4MB-c1 as suggested by MaBe was rejected by esptool. What am I doing wrong?!
-
• #22
In your last comment on that issue you say it's a flash speed issue - can you elaborate? If that's the case, why wasn't it a problem before?
-
• #24
Thanks - so it's just a matter of binary size? The key size seems awfully close to 512kb... I wonder if something else needs to be aware of the different flashmap?
Anyway, is RELEASE=1 not used for the version in the download package?
Towards the shortterm problem, do you happen to have a RELEASE=1 binary that you could share? I don't have an ESP8266 build environment set up, and I'd really like to take the new 1.95 features for a spin.
Thanks!
-
• #25
Anyway, is RELEASE=1 not used for the version in the download package?
Yes, this is set for the distributed build , so choose the one from the official download page
while it seems it works good with 1v94. It looks like 1v95 is too big and so writes wifi data to area with its code.
I have just bought a few ESP8266 boards and try to use them the same way as Puck.js (I have a few)
If I use 1v94 (for 4 Mb boards), it works.
If I use 1v95 or latest file in ...../master, it works too but until poweroff. It works also after turned on (not sure about every time), but only if no wifi config is saved.
If I call wifi.save() my boards stops working after power off, there are many unreadable symbols on COM port, and after reset to boot mode esptool.py verify_flash shows that area of espruino_esp8266_user1 is broken.
It looks like it writes wifi data to area with code.
By the way, it is impossible to upgrade 1v94 to 1v95 via WIFI - wiflash.sh says "Error flashing espruino_esp8266_user2.bin: firmware image too large"