Difference between ESP.restart and hardware reset (ESP32)

rziegaus
Posts: 8
Joined: Sun Jun 03, 2018 10:01 pm

Difference between ESP.restart and hardware reset (ESP32)

Postby rziegaus » Tue Mar 08, 2022 3:13 pm

Hello,

I have a problem with self-developped and self-built devices based on a NodeMCU 32s.
My devices contain a cryptochip (ATECC608A) that I use for signing and verifying signatures.
Most of the time everything works with problems. However sometimes the ATECC608A will not produce any signatures due to circumstances I have not discovered yet. Sometimes means the devices will run for a month or even several months and then stops working.
I have tried to restart the device via ESP.restart, but unfortunately the crypto chip still does not function properly, it is still unable to sign messages. However if I switch the device off (by cutting the device from power) and on again then everythings working without problems.

But I prefer to solve this issue by software. Can anybody tell me what could go wrong here? What is the difference between a ESP.restart and a hardware reset? How could I solve my problem?

The code is written in C++ using the PlatformIO platform. I am still running version 3.0.0 of the espressif-framework, since I had problems in switching to 3.1.0 and have not bothered to update since then.


Hope you can shed some light on this problem.

Thanks for reading/commenting,

Rudi

PS: Since I cannot reproduce this issue and it arises so seldom I'd prefer not to update any libraries/frameworks unless somebody tells me that my problem will certainly fixed by updating - otherwise I will just spend a lot of time for nothing.

ESP_Sprite
Posts: 9582
Joined: Thu Nov 26, 2015 4:08 am

Re: Difference between ESP.restart and hardware reset (ESP32)

Postby ESP_Sprite » Wed Mar 09, 2022 2:16 am

Well, if any, power-off and power-on will presumably also reset your crypto chip, while an ESP32 restart will not.

rziegaus
Posts: 8
Joined: Sun Jun 03, 2018 10:01 pm

Re: Difference between ESP.restart and hardware reset (ESP32)

Postby rziegaus » Wed Mar 09, 2022 10:52 pm

You may be right, however when resetting the ESP32 it also initializes the connection to the crypto chip. Since it is attached via I2C the I2C connection is also established.
If there would be a problem in initializing the I2C connection the ESP32 would hang - since it continues to work I assume that the I2C connection is correctly established. I was hoping that this procedure would also reset the crypto chip.

So I'll have to dig a bit deeper if there is a way to reset the crypto chip... the roblem is that it may take a month or so to see if the fix would be successful.

Who is online

Users browsing this forum: Bing [Bot] and 70 guests