Comments (11)
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.
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.
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.
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.
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.
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.
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.
-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.
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.
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.
that would be great, thanks!
from esp32-flashz.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp32-flashz.