Crash on OTA when in-field

hi folks,

I have an esp8266 which works fine in the house when building.
I can load new firmware via ota without issue when in the house.

When I move it to the garden, I struggle to load new firmware. It fails randomly between 1 and 100%. Sometimes it does work be very seldom.

RSSI in both cases is 60-70 (I have an outdoor AP which has good coverage).

Here is the stack trace.



Decoding stack results
0x4022ede6: ip4_output_if at core/ipv4/ip4.c line 1549
0x4022f943: ip_chksum_pseudo at core/inet_chksum.c line 392
0x4022a36a: tcp_output_control_segment at core/tcp_out.c line 1955
0x4022a1e9: tcp_output_alloc_header at core/tcp_out.c line 1863
0x4022ac00: tcp_send_empty_ack at core/tcp_out.c line 2058
0x4022ace7: tcp_output at core/tcp_out.c line 1319
0x40226d94: operator delete(void*, unsigned int) at /workdir/repo/gcc-gnu/libstdc++-v3/libsupc++/del_ops.cc line 33

Is there anything in there which I could be causing / solve?

Board is a Wemos Di Mini Pro 32MB.

Is this via WiFi, or what? Assuming WiFi, is it using the same channel as your indoor AP? Is the indoor one 2.4GHz and the outdoor 5GHz? Maybe you have a neighbour using the same channel as the outdoor AP?

Yes, wifi 2.4. No other signal is visible where weather station is. I live in rural countryside.

A mystery then. Maybe the outdoor AP has a fault of some sort - could you try moving the indoor one outside temporarily to check?

Don't want to speak too soon but I think I found it.

The other difference when in-field vs. on-bench? Anemometer was not connected.
That uses interrupts.

So I disabled the intterupt as soon as OTA started and enabled on finish / failure.

So far, loads of uploads without issue.

Seems an interrupt firing was enough to annoy the tcp handling.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.