Skip to content

Add a non-breaking extension to the OTA protocol for getting rid of UDP #6369

@d-a-v

Description

@d-a-v

Per #6348 and #6351,

edit 21-02-27:
Title was: "Feature request: implement ClientContext::wait_until_acked()"
Per #7896, renaming to "OTA: Investigate workaround delay when receiving 'OK'" implemented by #6351.

edit 21-04-01:
It seems ClientContext::wait_until_sent() is not sufficient for a fully terminated transmission.

Per #7955

There are two OK in the ArduinoOTA protocol w/espota.py tool, one of them is UDP.
Changed title to: Add a non-breaking extension to the OTA protocol for getting rid of UDP.

Activity

added this to the 3.0.0 milestone on Aug 1, 2019
self-assigned this
on Aug 1, 2019
changed the title [-]Feature request: implement ClientContext::wait_until_acked()[/-] [+]OTA: Investigate workaround delay when receiving 'OK'[/+] on Feb 27, 2021
d-a-v

d-a-v commented on Feb 27, 2021

@d-a-v
CollaboratorAuthor

(moved to OP)

removed this from the 3.0.0 milestone on Feb 27, 2021
changed the title [-]OTA: Investigate workaround delay when receiving 'OK'[/-] [+]Add a non-breaking extension to the OTA protocol for getting rid of UDP[/+] on Apr 1, 2021
added this to the 3.0.1 milestone on Apr 1, 2021
Miq1

Miq1 commented on Apr 2, 2021

@Miq1

I would like to add my observations when chasing a missing "OK" response upon a successful authorization. It turned out that basically a router bug was responsible for the packet loss, but it seems to me slightly naive in the ArduinoOTA code to rely on the successful transmission of a single UDP packet. UDP is per se subject to packet losses, so at least the packets should be sent twice or thrice to increase the reliability. This was in the end what saved me from the bug, as the router (an AVM Fritzbox with OS 7.21) would only drop the very first packet.

7 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Add a non-breaking extension to the OTA protocol for getting rid of UDP · Issue #6369 · esp8266/Arduino