Giter Site home page Giter Site logo

Comments (11)

playmiel avatar playmiel commented on June 24, 2024 1

finally I found some differences and there's a difference, one that doesn't work is an ESP32-Ethernet-Kit V1.1 and the second is ESP32-Ethernet-Kit V1.2 which work.
In the Getting Started Guide, it states that difference between two is :

  • Correct the placement of the GPIO pin number marking on the board silkscreen next to the DIP switch.

  • The values of C1, C2, C42 and C43 are updated to 20 pF. For further information, please refer to the ESP32-Ethernet-Kit V1.2 (A) Ethernet board diagram.

  • Replace ESP32-WROVER-B for ESP32-WROVER-E.

Replace ESP32-WROVER-B for ESP32-WROVER-E

This modification may indicate that ESP32-WROVER-B is maybe the source of the problem.
I have 2 cards with ESP32-WROVER-E that works.

from esp32-flashz.

playmiel avatar playmiel commented on June 24, 2024 1

ok I'm going to open a PR for that with part of my code and I wanted to open another PR for another feature that allows to encrypt the firmware with a key to add a security layer (like esp32 FOTA) that I implemented on my side and that I think could be interesting.

from esp32-flashz.

vortigont avatar vortigont commented on June 24, 2024

what's the size of firmware.bin?
Looks like it's the last chunk and you probably miss to signal final flag in the call FlashZ::getInstance().writez(data, len, final)

Check how it's done in FlashZhttp
https://github.com/vortigont/esp32-flashz/blob/05e2667652efe4c77db7488f07225821aafdc8df/src/flashz-http.cpp#LL162C12-L162C58

from esp32-flashz.

playmiel avatar playmiel commented on June 24, 2024

The size of the compressed file is 964kb and I don't really understand why it is missing

final

because I use FlashZhttp::handle_ota_form
To receive the file

from esp32-flashz.

vortigont avatar vortigont commented on June 24, 2024

pls give exact file size, you did not mentioned you used FlashZhttp::handle_ota_form.
This status inflate failure - MZ_ERR: -3, inflate status: -2 indicates data stream error, more specific -2 is TINFL_STATUS_ADLER32_MISMATCH
so need to find out what is wrong with it. Either the end of stream is given wrong when there is more data or vise versa. Or it is something else that corrupts data stream.

from esp32-flashz.

playmiel avatar playmiel commented on June 24, 2024

I did a test:

[97803][D][flashz.cpp:171] inflate_block_to_cb(): [FLASHZ] CB - idx:884736, head:1065363604, dbgn:0, dend:0, ddatalen:32768, avin:619, tin:478705, tout:884736, fin:0
[98066][I][flashz.cpp:298] flash_cb(): [FLASHZ] has flashed 32768 bytes
[98131][D][flashz.cpp:171] inflate_block_to_cb(): [FLASHZ] CB - idx:917504, head:1065363604, dbgn:0, dend:0, ddatalen:32768, avin:0, tin:503804, tout:917504, fin:0
heap size: 106856
[98222][I][flashz.cpp:298] flash_cb(): [FLASHZ] has flashed 32768 bytes
[98228][W][flashz.cpp:144] inflate_block_to_cb(): [FLASHZ] inflation failure - MZ_ERR: -3, inflation status: -1
[98228][E][flashz.cpp:263] writez(): [FLASHZ] Inflate error: -3

the exact size of the compressed file (firmware.bin.zz) is 977 Kb (1 001 263 bytes)

from esp32-flashz.

vortigont avatar vortigont commented on June 24, 2024

this one is different
avin:0, tin:503804 shows that previous chunk ended inflation filling the buffer to the top, which is really uncommon unless raw data contains large blocks of void. And it was in the middle of the transfer (about 500k). Then next chunk failed.
Have you tried it several times and it always fails at the same position CB - idx:917504?
Have you tried uploading uncompressed image to see if it goes well? A faulty board maybe?

from esp32-flashz.

playmiel avatar playmiel commented on June 24, 2024

-Have you tried several times and it always fails at the same position CB - idx:917504 ?

yes it always fails at the same place with the same file (it changes depending on the browser)

-Have you tried to download an uncompressed image to see if everything is fine?

yes with an uncompressed file everything is fine

-A defective card perhaps?

indeed I tested on another card (same reference) it works well so I do not know where the problem comes from on the first card (it is perhaps maybe a corruption of the memory)

from esp32-flashz.

vortigont avatar vortigont commented on June 24, 2024

oh, that was interesting, thanks for testing and confirmation! Will keep that case in mind for possible defective chips/boards.
Agreed, most probable cause is defected portions of memory. Not sure if any memtest-like tools exist for esp32, could have been useful.

from esp32-flashz.

vortigont avatar vortigont commented on June 24, 2024

BTW, thanks for the reference js code for compressing uploaded files on the fly. Think this could be useful example implementation.
If you care to prepare a PR with a small notes for it, I would gladly include it this repo!

from esp32-flashz.

vortigont avatar vortigont commented on June 24, 2024

that would be great, thanks!

from esp32-flashz.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.