SONOFF SNZB-02WD: OTA to 4353 (SN-TLSR8656-02LWD-01-v1.1.1.ota) fails, device never requests the first image block

Open
#1,373 3 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
15/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
docker
Domain
embedded-iot

Research direction

The image in question is images/Sonoff/SN-TLSR8656-02LWD-01-v1.1.1.ota in this repository, and the failure appears only in the Zigbee2MQTT OTA log, so reproducing it needs a physical SNZB-02WD and an EFR32 ember coordinator. Start by checking the OTA file's header (manufacturer code 4742, file version, minimum hardware and starting versions) against the device's reported 4352 firmware. Done means a documented finding on whether the image is compatible, or a fix to the image or its metadata that a maintainer confirms on real hardware.

Written by the indexing model from the issue text.

Description

Device
  • Model: SONOFF SNZB-02WD (Zigbee temperature/humidity sensor with LCD), battery powered end device
  • manufacturerID: 4742
  • Installed firmware: 4352
  • Offered firmware: 4353 (images/Sonoff/SN-TLSR8656-02LWD-01-v1.1.1.ota)
Setup
  • Zigbee2MQTT 2.13.0
  • Coordinator: Sonoff Zigbee 3.0 USB Dongle Plus V2 (EFR32MG21, ember adapter, EmberZNet 7.4.4 [GA], EZSP 13)
  • Docker, default OTA image source (this repository)
What happens

Z2M finds the update, starts the transfer and estimates 842 s (3368 chunks). The device never starts the download:
progress stays at 0% until Z2M gives up after 150 s. The device is awake the whole time (the button was pressed
before each attempt) and keeps reporting normally during and after. The link is good (LQI 140–212, battery 100%, 3100 mV).

Error from the Z2M log, identical on every attempt:

z2m: Updating 'Outdoor' to latest firmware
zh:controller:ota: OTA update of '0xa4c138016cbbffff' estimated at 842 seconds (3368 chunks, 4 per second)
z2m: OTA update of 'Outdoor' failed (Device 0xa4c138016cbbffff did not start/finish firmware download after being
notified. ({"target":23835,"apsFrame":{"clusterId":25,"profileId":260,"sequence":0,"sourceEndpoint":1,
"destinationEndpoint":1,"groupId":0,"options":0},"commandIdentifier":3,"defaultRspCommandId":5} timed out after 150000ms))
Attempts (UTC+2)
Time Result
22:04 Failed after ~2.5 min, "did not start/finish firmware download"
22:22 Failed after ~2.5 min, same error
22:26 Failed after ~2.5 min, same error (started via MQTT ota_update/update)

Two earlier attempts while the device was asleep failed with "Device didn't respond to OTA request", which is expected.
After each failure the device stays on 4352 and keeps working.

Expected

The device requests image blocks and the update completes (or the image is not offered if it can't be applied).

Questions
  • Is SN-TLSR8656-02LWD-01-v1.1.1.ota known to work for the SNZB-02WD with 4352 as the starting version?
  • Does it need a minimum starting version or a different file_version / manufacturer code?
  • Is there a known issue with these devices and EFR32 ember coordinators?
Dominant language
TypeScript
Stars
687
Forks
335
Avg merge
2d 13h
Merged PRs (30d)
26

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Koenkk/zigbee-OTA

All issues in Koenkk/zigbee-OTA

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.