#Zooz ZST10-700 - Unable to flash, acts like its not using bootloader

1 messages · Page 1 of 1 (latest)

zinc violet
#

My ZST10-700 is currently on 7.19.2
I'm been trying to get it out of the unstable range but keep getting blocked by Bootloader.

Steps taken:
I have removed the USB controller and tried attaching it to various machines. Via Simplicity Studio I get errors that the upload fails which I understood will happen if the controller is not in bootloader mode.

I also had attempted to serial connect to it from both Windows and Linux machines. From my Windows machine it would connect but just display gibberish. No menu options were displayed. From Linux machine I didn't get any text when connecting over Serial.

I came across a post: https://medium.com/@sam_14662/fun-with-z-wave-firmware-and-home-assistant-68b340b4f5b9

and attempted to follow the steps. I loaded z-wave JS UI into Home Assistant. I grabbed my security keys and stopped the normal z-wve js service. This allowed me to connect. I'm able to see the nodes and was able to enable the bootloader option in settings. Even after restarting the add-on it doesn't seem to want to flash.

Using the steps provided, the first attempt gives me the error:
Z-WAVE: Error while updating firmware: The controller is not in bootloader mode! (ZW0103) firmwareUpdateOTW undefined

If I attempt to update it again, I get an error:
Z-WAVE: Error while updating firmware: Failed to start the update: The controller is currently being updated! (ZW0380) firmwareUpdateOTW undefined

Any suggestions?
-Should there be anything in the zwave logs that confirm the controller is in bootloader mode when it starts up?
-Is there any way in the zw-core-js ui to enable bootloader?

signal zinc
#

What firmware file are you trying to install, since Zooz doesn't provide it?

#

Z-Wave JS (and PC Controller) handl the bootloader mode for you, the only reason it would be necessary to do that manually would be because of a failed upgrade. Failures can be for various reasons, that does not usually include not being in bootloader mode.

zinc violet
#

zwave_ncp_serial_api_controller_BRD4202A.gbl from the last Gecko zWave SDK

#

Looking now here is the full log:
2026-01-19 14:34:43.250 INFO Z-WAVE: Calling api firmwareUpdateOTW with args: [ { name: 'zwave_ncp_serial_api_controller_BRD4202A.gbl', data: <Buffer eb 17 a6 03 08 00 00 00 00 00 00 03 01 01 00 00 fa 06 06 fa 10 00 00 00 1c b4 02 00 75 7e 3e 62 47 73 76 5e 58 16 0b 94 f9 07 07 f9 24 00 00 00 c1 39 ... 177270 more bytes> }, [length]: 1 ] 2026-01-19 14:34:43.258 CNTRLR Entering bootloader... 2026-01-19 14:34:43.265 CNTRLR [Node 041] Error during node interview: The controller instance is being destr oyed (ZW0111) 2026-01-19 14:34:43.267 CNTRLR [Node 045] Error during node interview: The controller instance is being destr oyed (ZW0111) 2026-01-19 14:34:43.268 CNTRLR [Node 051] Error during node interview: The controller instance is being destr oyed (ZW0111) 2026-01-19 14:34:43.269 CNTRLR [Node 052] Error during node interview: The controller instance is being destr oyed (ZW0111) 2026-01-19 14:34:48.324 CNTRLR Leaving bootloader... 2026-01-19 14:34:48.328 INFO Z-WAVE: Error while updating firmware: The controller is not in bootloader mode! (ZW0103) firmwareUpdateOTW undefined

signal zinc
#

You'd probably have to look at the driver debug logs

#

Just updated mine from 7.21.6 to 7.21.7

zinc violet
#

Where would I look to see those? I'm able to adjust log level for z-wave JS but not sure about driver logs.

signal zinc
#

You could try the command line instead, it sometimes works better for some reason. Needs nodejs.

npx -y @zwave-js/flash /dev/ttyUSB0 /path/to/fw/fw.gbl --verbose