nqd / esp8266-dev

ESP8266 Wifi SoC dev, with OTA made easy
44 stars 12 forks source link

system_upgrade_reboot() fail to reboot #1

Closed sguilly closed 9 years ago

sguilly commented 9 years ago

Great project !!!

I success to compile and load directly examples.

I create a small OTA server with node.js to deliver the user2.bin.

The download is OK and the upgrade_check is done.

totallen = 181040 totallen = 182500 totallen = 183960 totallen = 185136 upgrade file download finished. upgrade_check Firmware upgrade success reboot to use2 rm match pm close 7 0 0/9654968 del if0 usl sul 0 0

ets Jan 8 2013,rst cause:4, boot mode:(1,7)

wdt reset

But the program don't start without a manual hardware reset :

rll��|�l�|�l�b|����r�b�b��nn�lnn���bpllblrlp�n��lbn�|l�b��nn�l��l�nnlnr���nblp�n�r�����bn�|쎎�b��nn�l�nnlnr���n�lp�n�r������bn�|�p�b��nn�l�nnl�lnr���nblr��nblrl��n���nn����rnnn�l�b�rlbl��l������lll~rl��llln���l�lll��l��n�n�n~���n�ll��n�n���nl�|bblrl�ՁMEM CHECK FAIL!!! �r,WIFI_INIT mode : sta(18:fe:34:9f:88:0f) add if0

Every time, i reboot the upload program is lunch with this message 'MEM CHECK FAIL!!!'

Have you an idea to solve this issue ?

Best Regards,

Stéphane

nqd commented 9 years ago
  1. though the program works, I will have major update next week, with server code.
  2. did you clean the project, and recompile with IMAGE=2 option for user2.bin? What module you use?

On 06/13/2015 03:08 PM, sguilly wrote:

Great project !!!

I success to compile and load directly examples.

I create a small OTA server with node.js to deliver the user2.bin.

The download is OK and the upgrade_check is done.

totallen = 181040 totallen = 182500 totallen = 183960 totallen = 185136 upgrade file download finished. upgrade_check Firmware upgrade success reboot to use2 rm match pm close 7 0 0/9654968 del if0 usl sul 0 0

ets Jan 8 2013,rst cause:4, boot mode:(1,7)

wdt reset

But the program don't start without a manual hardware reset :

rll��|�l�|�l�b|����r�b�b��nn�lnn���bpllblrlp�n��lbn�|l�b��nn�l��l|�nnl|nr���nbl|p�n�r�����bn�| 쎎�b��nn�l|�nnl|nr���n�l|p�n�r������bn�|�p�b��nn�l|�nnl�l|nr���nbl|r��nbl|rl��n���nn����rnnn�l�b|�rlbl��l������lll~rl��llln���l�lll��l��n�n�n~���n�ll��n�n���nl�|bbl|rl�ՁMEM CHECK FAIL!!! �r,WIFI_INIT mode : sta(18:fe:34:9f:88:0f) add if0

Every time, i reboot the upload program is lunch with this message 'MEM CHECK FAIL!!!'

Have you an idea to solve this issue ?

Best Regards,

Stéphane

— Reply to this email directly or view it on GitHub https://github.com/nqd/esp8266-dev/issues/1.

Nguyễn Quốc Đính CTO, Ubisen Ltd.

sguilly commented 9 years ago

I upload first ota-update with make flash. And ota-update download mqtt by WIFI

I test on ESP-12 (512kb) and OLIMEX (2048kb). I test with several SDK and several boot (SDK 1.1.0 + boot 1.4, ...)

In upgrade_response(void *arg) : if i use system_restart(); -> the board reset and run again app1 if i use system_upgrade_reboot(); -> the board don't restart well and a watchdog append. But if you power off and power on, app2 start well

May be, we need to clean some registers, timers, ... before reboot ?

I perform few improve in your makefile for size > 512 kb. I will wait your weekly update and try to merge my makefile improvement with your files.

Best Regards,

Stéphane

nqd commented 9 years ago

Stephane, I just see that problem with module 01. After hardware restart it runs with user2/1. But it seems I see this problem right after flash new firmware via serial port.

I also bang into another problem, that is firmware downloading sometimes is slow, leads to timeout. I am not sure where they're come from. May be from libupgrade.a for from my program. Need to find out.

FYI, I pushed new code, provided link with fota server in nodejs. Read readme to setup, and you need mongodb to run. fota-client js is found under tools/, copy images (from .firmware/ ) to this folder, you can upload to fota server. I need to add more things to make process easier with makefile, but I am quite low in bandwidth now; then any pull request is more than welcome.

Bests,

sguilly commented 9 years ago

Hi,

Thanks for you reply.

I found a way to solve my issue. Everytime i upload a new firmware with the serial port, i need to power off/on my board.

After that, the board reboot well after an OTA.

FYI : I need to add one parameter (-fs) for esptool for a flash size greater than 512 : -$(ESPTOOL) --port $(ESPPORT) write_flash -fs 8m (...).

Bests,

nqd commented 9 years ago

Great to know that. Yes, we have options for flashing. I made pull request for esptool (https://github.com/themadinventor/esptool/pull/42/files) which deal with flash fragment.

With esp8266-dev, if you have pull request for all flash option, from program makefile which declare flash option ('4m', '2m', '8m', '16m', '32m', '16m-c1', '32m-c1', '32m-c2'), it will be cool.