Why does device firmware update app take so long?

@bcopeland
I received the .gbl file from Zooz for the Zen52, and I seem to be working the built in app correctly.

It has now been 10 HOURS! It is still only 41% complete!

Is this normal?
Can this be speeded up somehow?
Am I really supposed to keep open an app that long?

I generally do zwave firmware updates from a secondary controller (USB zstick on laptop running PC Controller or Z-Flash). Laptop is placed close to the device (so no hops across other devices). Works fine for both no security or S2 devices, although S2 makes flashing take 4x as long.

Doing them "in place" is completely dependent on your slowest link in the mesh to that device.

4 Likes

hello @bcopeland
After 16 hours of using the driver firmware update, I got the message:
"ERROR the transferred image does not match the firmware target"
with the following message in my logs:
FirmwareMdReport(manufactureId:634, firmwareId:518, checksum:0,firmwareUpgradeable:false, numberofTargets:0,maxFragmentSize:28, firmwareIds:{},hardwareVersion:null)

Can you please give me some direction on what I'm supposed to do now to upgrade my switch?

If your device is paired with S2 the built in firmware updater wont work with binary (gbl) files, that is the exact error you will get every single time. Its been a known issue for a while but no one seems to be interested in fixing it. Alternative is to use the driver version of the updater, or a secondary controller USB stick.

3 Likes

Remove the device and re-add it without security. The update will take less than 1 hour.

1 Like

You are both correct.
I usually don't do this, but for some reason it paired s2 authentication.
I will exclude and then include again without, then retry the firmware update.

Postscript:
Unfortunately, I was not able to exclude the Zen 52 relay switch.
Although I went into exclusion mode 26 times, and tried upwards of 70 times to actually exclude this device, it would not get into "exclude" mode.
Unfortunately, this relay must be excluded by pressing a button on the device itself - so I had to take out the switches that were obscuring it in the box.
However, it does have something unusual that is not found on any other in-wall relay (that I know of):
it has something called "normal" mode.
Most in-wall relays are either mimicking a "momentary" switch or a "toggle" switch.
This one has a "normal" mode which mimics a simple decora up/down switch.
The client was happy, and therefore I am happy.
Case closed, even without exclusion.

I think I'm hitting the same problem trying to update my ZEN54 firmware from 1.20 to 1.30 using the firmware update app. I'm using a C7 and it is running the current release.

I excluded then included the device, but I didn't see anything in the inclusion process that gave me the option of not using S2.

How is S2 "turned off"? Is it turned off for a device or for the C7? Is it turned off just for the firmware upgrade, then turned back on?

How did you include it, via the manual inclusion or Smart Start?
On manual inclusion there are two buttons which ask if you want to include with security or without.

For Smart start, with the device power off, add the QR code and then edit Smart Start entry, you can uncheck the security options in there. Once unchecked power the device and it should include automatically without security.

The security is per device and you can only set it at the inclusion.

For a firmware update S2 will have about 2x the number of transmissions compared to no security. So if it was taking hours with S2, you may just be looking at slightly less hours for no security.

The best way to speed up updating is to have the controller (hub or USB stick) and device near each other. Also minimize other zwave traffic, power off any chatty sensors or power meters.

To be clear, I'm bench testing Hubitat and several devices for a home that is under construction. I'm new to Hubitat, z-wave, etc., so it's also a learning experience. There's literally no other z-wave traffic going on, and the ZEN54 is about 3' from the C7.

I did an exclusion and manual inclusion yesterday after aborting the firmware update attempt. I didn't see anything about S2 during the inclusion process. The z-wave "Add device" panel only has buttons for "Start z-wave inclusion" and "Start z-wave exclusion". Clicking the inclusion button starts the inclusion process immediately.

The z-wave details page shows "None" in the "Security column" for the ZEN54 and the other three devices I've added.

I started a firmware update on the newly included ZEN54 a little while ago. When I did this yesterday, I got debug messages every 10 seconds as shown on the attached log from yesterday. Today, I have only seen the three "FirmwareMdReport" debug messages. I don't see any "Unhandled zwave Event: FirmwareUpdateMdGet..." messages yet like I did yesterday. Not sure what changed.

It's been running for 70 minutes, and shows 8% complete. That suggests it may take over ten more hours to complete. I will let it continue to see what happens.

Thanks,
Ira

Just for reference, at a normal speed a firmware update should only take about 15 minutes or less total.

2 Likes

Or use PC Controller, part of Silicon Labs Simplicity Studio (a misnomer if there ever was one).

1 Like

Is there any way to determine why the upgrade is taking so long, especially since there is no additional load on the C7? I only have four devices total (all z-wave) and the other three are powered off.

I'm thinking about ordering a z-wave USB stick. Is there a good post/doc that shows all the steps necessary for upgrading via a stick, including software/hardware setup, etc.?

Two hours and 45 minutes into the upgrade and only 20% finished. I may try to upgrade a different device later to see if it takes a similar amount of time.

Thanks,
Ira

Have you tried powering off the hub for about 30 seconds and rebooting?
I would also power off the device at the same time.
After hub reboots wait 1-2 minutes then try again.

This has also helped with the speed when it is going slow in my experience.

I wrote up some instructions for how to update with PC Controller somewhere on this forum not too long ago, within the last 2 months. I am sure I could find it later.

I will try your suggestions later when the current update finishes.

I have a ZEN77 and another ZEN54 that need an updates, so I will try them after power down and reboot.

My C7 is at the latest software level. My ZEN54 needs a firmware update. I'm in "bench test mode", so the C7 is essentially idle. I only have three z-wave devices defined besides the ZEN54, and none of them are powered on. The ZEN54 is about 3' from the C7. There are no rules running, no dashboards, etc.

I'm on my second attempt to do the firmware update using the built-in device firmware updater. I aborted the first attempt after about three hours and thousands of debug messages. Before starting the update, I excluded the ZEN54 then manually included it. I also rebooted the C7.

I'm over four hours into this attempt and it is about 30% complete. I don't see any debug messages in the C7 log like I saw on the first attempt. The attached z-wave log shows the messages written out about every ten seconds.

Is there any way to tell why this firmware update is taking so long? At this rate, the update will take over 12 hours. I have a ZEN77 and another ZEN54 that needs updating, so I guess that will tell me if it is a problem with the device. If not, what diagnostics are available to figure this out?

Thanks,
Ira

@bobbyD

@user2164 has another thread going on the issue - linked to below:

Can you add this new post to the end of that thread, so we don't have two threads with potentially mixed messaging on the same topic? This thread can then be closed. Thanks!

3 Likes

I gave up on that one (again). I did a firmware update on a ZEN77 and had very different results. The ZEN77 upgrade only took 15 minutes to complete. The z-wave log showed a couple of interesting differences. First, it was writing out about 10 messages per second during the ZEN77 update compared with on message every 10 seconds (i.e., 100 time slower) during the ZEN54 update, for the same message. Here's one of those messages...

Zooz Zen77 dimmer2023-08-17 15:38:12.586 seqNo: 244, routeChanged: false, transmissionTime: 1ms, repeaters: None, speed: 100 kbs, rssi: [-90 dBm, N/A, N/A, N/A, N/A], Ack channel: 0, Transmit channel: 0

The other difference is that the ZEN77 showed -90dBM, but the ZEN54 showed about -65dBm, even though the two devices were within a few inches of each other, and both in plastic electrical boxes.

Next test will be to try a firmware update on a different ZEN54 that I have that has never been out of the box.

Speaking of the ZEN54 specifically. I think I had to fight with mine to get it to update as well. I either used a USB stick as a secondary controller or possibly paired it directly to a USB stick and then paired it back to the hub after.

So far, I've completed a ZEN77 update and failed/cancelled three ZEN54 updates (three different ZEN54 devices). Even with a weaker signal, the ZEN77 update was extremely fast compared to the ZEN54 attempts.

Also, the last two ZEN%$'s (new out of the box) was putting out a lot of these HE log messages (about one every ten seconds, so at about the same rate as the z-wave log messages)...

dev:36 2023-08-17 04:42:49.777 PM debug ZEN54 0-10V Dimmer #3: Unhandled zwaveEvent: FirmwareUpdateMdGet(numberOfReports:5, reportNumber:44) (ep 0)

It looks like the problem is with the ZEN54. I will see what Zooz support says about this.

I ordered a Zooz USB stick today, but it sure would be nice to not require it for firmware updates.