New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Problem]: OTA update of Ikea Repeater E1746 #10400
Comments
I have exactly the same issue, however at some point one of my other repeaters successfully updated to 2.3.086 before somethings broken somewhere. I also have the same problem with my FYRTUR blinds (two are stuck on 2.3.073, one updated to 2.3.088), and an Ikea puck remote (still stuck on 2.3.014). They go through the process, get to 100%, and the message is like the above, telling me its updated from the "old version" to the "old version". I'm using the troublesome Sonoff zigbee plus dongle though, so perhaps that breaks everything, as its a bit odd and temperamental compared to my ZZH. hoggerz |
I have one E174 and its downloading and rebooting after 100% but coming back with the original version so its not flashing the new firmware. |
So I bought 2 used Tradfri Routers. One was on 2.2.003 and the other on 2.2.005. |
Same issue here. I am also stuck on version 2.3.070. Did somebody already try to update it with the IKEA gateway itself? Just to make sure that it is an issue of the firmware version for that specific device and not related to zigbee2mqtt OTA. |
I tried to update via official gateway but none of my routers are able to pair with the gateway. |
IKEA mentioned in their release notes for version 2.3.070: Whatever that might mean, but they did change something in the OTA procedure to make it more secure. Also the FYRTUR and KADRILJ roller blinds got this change with the V-2.3.073 firmware. More recent firmware updates also mention "Increased security regarding upgrade of firmware". So for these devices a similar issue might occur with their next firmware upgrade. |
Same here, 2x E1746 updated to 2.3.086, one further stuck at 2.3.070. Update to 2.3.070 already done through OTA some months ago. Therefore excluding issues with Zigbee adapter (ITEAD Zigbee 3.0 USB Dongle Plus) |
Where all 3 devices on 2.3.070 before you updated them? And I think your situation is different because the OTA check doesn't fail for the problem reported here. It will update upto 100% without error but after restart it is still has previous version installed and OTA check shows that there is still an update available. Your error message is a timeout because the device did not respond. Power cycle it and try again. |
I remembered I have tried this also via home assistant and iobroker. Both were not able to update any of the routers. |
BTW: I have also tried updating the routers using DeCONZ on a Conbee II. They also did not update there. So this might not only be a Z2M issue unfortunately. |
Maybe we can use this new feature (16842a3) to downgrade to an older version and then upgrade to the most recent version? |
this actually solved the issue. sorry for the noise ! |
Thank you @Koenkk but I think the issue you solved is a different one. BUT! It is actually possible to flash and backup the firmware by directly connecting a debugger to the device. However I guess backing up the firmware from an already update device and flashing it to one which does not update itself would probably also transfer the IEEE Address to the other device which is well.... not good? xD That's if it is like that. But hey I tried anyway with latest dev. Firmware stays on the old version from 2019: |
Silabs ERE32MG chips have the IEEE burned in the hardware config aria that cant being erased and the OTA files is normally only updating the main flash so its very safe flashing one older extracted OTA file like we have doing with all controllers that was getting bad firmware for some month ago. |
The backup file contains more than the ota file. I compared both. Tha backup file is a few kb larger than the OTA file. Whether the IEEE is part of the backup or not I can't tell since I did not look for it. |
Then the device is being reseted its initiating storage in the higher part of the main flash and its used for saving link keys, counters and all other "runtime storage" like power on state. You can deleting the NVM from the dumped flash but its easier extracting one "pure" flash file from the OTA file and its safer if making it as one S37 like we was doing with the controllers and is 100% factors made. The IEEE is burned in the device hardware config aria like the radio calibration is made and cant being eraser but the Zigbee stack can reading it and its also possible buring one new IEEE in |
I wish I had more time to have a look this. Although it does not seem very practical. Many users of z2m won't be able to or don't want to flash their devices. |
same problem for me - stuck at 2.3.070 |
= returning it to IKEA if you not have opening it with force like i have doing. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days |
Just to add, my 2 Ikea repeaters are still stuck on 2.3.070, and two of my Fyrtur blinds are stuck on the last firmware variant 2.3.073, one updated successfully to 2.3.088. Any ideas or something I can try to help solve it? hoggerz |
same here - 1 repeater stuck at 2.3.070 |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days |
The problem in our case was that we have parsed the tags and section data and than incompletely recreated the OTA file (to support OTA file editor in the UI). This worked fine in the past but newer files contain more tags that we didn't take into account. So the change is simply to use the plain original OTA file from the start where the header is found. |
@manup thanks for the explanation! Zigbee2MQTT already handles these extra tags (https://github.com/Koenkk/zigbee-herdsman-converters/blob/a5abd98e98719c1f5ce55712d50ed1edc16a3395/lib/ota/common.js#L57) nor does z2m modify the OTA file before sending so I don't think it is the same issue. @manup reading the ZCL spec I saw this: Does Deconz set the device ieeeAddr in the upgrade file destination field? |
We do parse the fields but as far as I can tell these are not used further. Since the whole file is send from the start of the header (if requested with offset 0 from the device) the fields are also available by the receiving device. The total image size which is also used in responses is taken from the header (not calculated from file size). Another thing is that we cap max data size to 40 bytes as we had problems with some devices requesting larger sizes but couldn't handle it :) |
@manup thanks for the explanation @ all others: I've checked the code but I cannot spot the issue yet. Can someone provide the herdsman debug log starting from the point where starting the upgrade until it finishes? See https://www.zigbee2mqtt.io/guide/usage/debug.html on how to enable the herdsman debug logging. Note that this is only logged to STDOUT and not to log files. |
Can you try to reduce the blocksize from 50 to 40?
|
Unfortunately it made no difference. |
AFAIK this is not the case, e.g. the header of @tbarnekov do you have a Conbee? If yes can you check if updating these plugs with the latest Deconz version? |
Dammit! It turns out DeCONZ can't perform the upgrade either :( I guess we're back to sqaure one then... |
I'm running firmware 0x26780700 and just downloaded deCONZ for Windows today (it says it's 2.19.1). I've never used deCONZ before so I may have done something wrong. It did appear to transfer the file to the repeater though - it took about 6 minutes. The version number reported by the repeater didn't change afterwards. I repaired it with z2m after the update and got the same old 2.3.070. |
I looked at the image for the IKEA outlet (10005777-TRADFRI-control-outlet-2.3.089.ota.ota.signed) and I don't see any significant differences in the OTA header between the outlet and the repeater. The outlet seems to have 0 in otaHeaderFieldControl as well. It also looks like the final bytes of the image (based on totalImageSize) are the same in both images which leads me to believe we're sending the right span of data. I had an unused IKEA repeater lying around with FW 2.2.005 and I could update that to 2.3.086 without issue. So I think we can also rule out a bad image for the repeater. |
I just remembered that for some other devices from Philips and Ubisys it was needed to update not right away to the latest version but to the next higher version, so that updated are applied in order. Might be worth a try. Would be good to compare the versions "from -> to" which peaople have problems to update with the ones that worked. |
@manup it seems to vary per device, from the OP:
This is really strange... |
Yes, I can confirm that. All devices were on the same fw level before I started updating to 2.3.086 (from 2.3.070). Three of them updated fine to 2.3.086 and three got stuck on 2.3.070. |
If someone has an IKEA hub, can you try updating this device via the IKEA hub and make a sniff while doing so? https://www.zigbee2mqtt.io/advanced/zigbee/04_sniff_zigbee_traffic.html#with-cc2531 |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days |
If you have SWD probe you can flashing one working firmware file with version 2.2.005 that is extracted from the original OTA with Zipy-CLI. Some user have this problems (including my) with that the firmware is being rolling back and after flashing the firmware its doing the OTA is working OK so i think IKEA have doing somthing bad in earlier updates that cant being solved with OTA. PS: For 2 weeks I was baying one more and it was shipped with the last firmware so no go for more testing. |
Don't have SWD probe and don't feel like messing with opening them up. No way to solve it using OTA I guess? |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days |
Reopen - I just checked with latest Z2M version and coordinator firmware. Problem still exists |
+1, same here. |
Checked with latest dev version and coordinator firmware. Problem still exists. Zigbee2MQTT version Coordinator type Coordinator revision Coordinator IEEE Address Frontend version Zigbee-herdsman-converters version Zigbee-herdsman version |
What happened?
I have six Ikea E1746 repeaters. Three of them I have updated from 2.3.070 to 2.3.086 sucessfully but the other three appear to be stuck at 2.3.070 even if the update seems to get applied. See log
Perhaps this is not an issue with zigbee2mqtt but with the repeaters?
I friend of mine have the same issue with his Ikea E1746 repeaters
What did you expect to happen?
Firmware version should be updated in the OTA tab and no more updates should be available
How to reproduce it (minimal and precise)
Click update device firmware in the OTA tab
Zigbee2MQTT version
1.22.1-1
Adapter firmware version
0x26720700
Adapter
ConBee2
Debug log
info 2021-12-28 08:54:03: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:54:03+01:00","linkquality":255,"update":{"progress":97.51,"remaining":25,"state":"updating"},"update_available":false}'
info 2021-12-28 08:54:08: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:54:08+01:00","linkquality":255,"update":{"progress":97.51,"remaining":25,"state":"updating"},"update_available":false}'
debug 2021-12-28 08:54:08: Device 'Repeater 3 Kök' announced itself
info 2021-12-28 08:54:08: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"Repeater 3 Kök","ieee_address":"0x680ae2fffe3b83c5"},"type":"device_announce"}'
info 2021-12-28 08:54:08: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"Repeater 3 Kök"},"type":"device_announced"}'
debug 2021-12-28 08:54:09: Received Zigbee message from 'Repeater 3 Kök', type 'attributeReport', cluster 'genBasic', data '{"appVersion":33}' from endpoint 1 with groupID null
info 2021-12-28 08:54:09: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:54:09+01:00","linkquality":255,"update":{"progress":97.51,"remaining":25,"state":"updating"},"update_available":false}'
debug 2021-12-28 08:54:10: Retrieving state of 'Repeater 3 Kök' after reconnect
info 2021-12-28 08:55:33: Update of 'Repeater 3 Kök' at 100.00%
info 2021-12-28 08:55:33: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:54:09+01:00","linkquality":255,"update":{"progress":100,"remaining":25,"state":"updating"},"update_available":false}'
info 2021-12-28 08:55:33: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Update of 'Repeater 3 Kök' at 100.00%","meta":{"device":"Repeater 3 Kök","progress":100,"status":"update_progress"},"type":"ota_update"}'
debug 2021-12-28 08:55:33: Received Zigbee message from 'Repeater 3 Kök', type 'readResponse', cluster 'genBasic', data '{"dateCode":"20190311","swBuildId":"2.3.070"}' from endpoint 1 with groupID null
info 2021-12-28 08:55:33: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:55:33+01:00","linkquality":255,"update":{"progress":100,"remaining":25,"state":"updating"},"update_available":false}'
info 2021-12-28 08:55:33: Finished update of 'Repeater 3 Kök', from '{"dateCode":"20190311","softwareBuildID":"2.3.070"}' to '{"dateCode":"20190311","softwareBuildID":"2.3.070"}'
info 2021-12-28 08:55:33: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:55:33+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
info 2021-12-28 08:55:33: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"id":"Repeater 3 Kök","transaction":"1whhe-1"},"meta":{"device":"Repeater 3 Kök","from":{"dateCode":"20190311","softwareBuildID":"2.3.070"},"status":"update_succeeded","to":{"dateCode":"20190311","softwareBuildID":"2.3.070"}},"type":"ota_update"}'
info 2021-12-28 08:55:33: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/update', payload '{"data":{"from":{"date_code":"20190311","software_build_id":"2.3.070"},"id":"Repeater 3 Kök","to":{"date_code":"20190311","software_build_id":"2.3.070"}},"status":"ok","transaction":"1whhe-1"}'
debug 2021-12-28 08:56:20: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 08:56:20: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:56:20+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
debug 2021-12-28 08:56:20: Device 'Repeater 3 Kök' requested OTA
debug 2021-12-28 08:56:23: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 08:56:23: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:56:23+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
debug 2021-12-28 08:56:23: Device 'Repeater 3 Kök' requested OTA
debug 2021-12-28 08:56:26: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 08:56:26: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:56:26+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
debug 2021-12-28 08:56:26: Device 'Repeater 3 Kök' requested OTA
debug 2021-12-28 08:56:29: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 08:56:29: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:56:29+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
debug 2021-12-28 08:56:29: Device 'Repeater 3 Kök' requested OTA
debug 2021-12-28 08:56:32: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 08:56:32: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T08:56:32+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
debug 2021-12-28 08:56:32: Device 'Repeater 3 Kök' requested OTA
debug 2021-12-28 09:01:50: Received MQTT message on 'zigbee2mqtt/bridge/request/device/ota_update/check' with data '{"id":"Repeater 3 Kök","transaction":"1whhe-4"}'
info 2021-12-28 09:01:50: Checking if update available for 'Repeater 3 Kök'
info 2021-12-28 09:01:50: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Checking if update available for 'Repeater 3 Kök'","meta":{"device":"Repeater 3 Kök","status":"checking_if_available"},"type":"ota_update"}'
debug 2021-12-28 09:01:52: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 09:01:52: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T09:01:52+01:00","linkquality":255,"update":{"state":"idle"},"update_available":false}'
debug 2021-12-28 09:01:52: Device 'Repeater 3 Kök' requested OTA
info 2021-12-28 09:01:53: Update available for 'Repeater 3 Kök'
info 2021-12-28 09:01:53: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Update available for 'Repeater 3 Kök'","meta":{"device":"Repeater 3 Kök","status":"available"},"type":"ota_update"}'
info 2021-12-28 09:01:53: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T09:01:52+01:00","linkquality":255,"update":{"state":"available"},"update_available":true}'
info 2021-12-28 09:01:53: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/check', payload '{"data":{"id":"Repeater 3 Kök","updateAvailable":true},"status":"ok","transaction":"1whhe-4"}'
debug 2021-12-28 09:01:55: Received Zigbee message from 'Repeater 3 Kök', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":1,"fileVersion":587662897,"imageType":4354,"manufacturerCode":4476}' from endpoint 1 with groupID null
info 2021-12-28 09:01:55: MQTT publish: topic 'zigbee2mqtt/Repeater 3 Kök', payload '{"last_seen":"2021-12-28T09:01:55+01:00","linkquality":255,"update":{"state":"available"},"update_available":true}'
debug 2021-12-28 09:01:55: Device 'Repeater 3 Kök' requested OTA
The text was updated successfully, but these errors were encountered: