OTA through the relay stops after 64 KB

Aperta
#2 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
57/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
docker, python
Ambito
embedded-iot

Direzione di ricerca

Connect the panel over USB and run tools/mon.py --seconds 120 --no-reset during an OTA attempt. Read the [ota] lines printed by otaFrom, especially http, size, begin failed, and reject total=... match=...; use those readings to narrow down why the download stops. Done means the panel completes the OTA and installs the firmware.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

publish_fw.sh can't ship firmware right now: the panel takes the ota op, starts the download, and hangs up after 65,536 of 1,153,312 bytes. It goes back to streaming on the old build, so nothing breaks, but nothing installs either.

From nginx on the relay host, second attempt (2026-10-22, times EDT):

03:26:59  GET /pxt/stream  200             stream closes, op received
03:27:01  GET /pxt/fw      200  65536 B    "ESP32HTTPClient"
03:27:03  stream reconnects on the same build, uptime still counting (no reboot)

The first attempt never reached nginx at all. The stream closed and reconnected two seconds later with no /pxt/fw request logged, which points at the TLS connect in otaFrom.

Ruled out:

  • A short read timeout. HTTPClient::setTimeout passes milliseconds through (HTTPClient.cpp:479 in the pinned core), so http.setTimeout(20000) is 20 s, and the hang-up came within about a second.
  • The relay. A curl of /pxt/fw through the same nginx got all 1,153,312 bytes.

The next step needs the panel on USB: run tools/mon.py --seconds 120 --no-reset during an attempt and read the [ota] lines otaFrom prints (http, size, begin failed, reject total=... match=...). Until then, flash over USB with tools/flash_serial.py, or from the panel's access point with tools/onboard.sh.

Lingua principale
Python
Stelle
0
Fork
0
Merge medio
40m
PR unite (30g)
14

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di STRML/pixoticker

Tutte le issue di STRML/pixoticker

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.