SecureBoot and Encryption Issues - Unable to set efuses
-
I can successfully build new firmware images and upload them onto a connected Pycom using either the expansion board V3 or a Pysense (unencrypted). And I'm able to build encrypted firmware. However, I'm unable to set the efuses to upload pre-generated keys and enable the secureboot and flash encryption.
When I run the following command,
python $IDF_PATH/components/esptool_py/esptool/espefuse.py --port /dev/ttyUSB0 burn_key flash_encryption flash_encryption_key.bin
I get stuck with the following,
Connecting......................................_____
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
I'm using a FyPi with Pycom MicroPython 1.20.2.r4
I note the FiPy resets with each attempted connection (I've also tried a LoPy and LoPy4)
I don't know what I'm missing here, hopefully something really obvious :-)
Any help very much appreciated.
-
@peterp many thanks, this has solved the problem with both options working. Would it be possible to update the docs (https://docs.pycom.io/advance/encryption/) with this update?
-
esp32 must be in download mode for this, so
- either
./tools/fw_updater/pypic.py -p /dev/ttyACM0 --enter
- or connect P2 to GND and press reset
after (removing the jumper and) pressing reset you come out of download mode again
- either
-
I've also tried this on a different system under Windows 10 WSL, Debian, with no luck either...
-
@neil-jepsen Thanks. I've just tried this, along with other baud rates and no luck. I've also tried combinations of the --before option
I've tried doing a simple fuse dump with
python $IDF_PATH/components/esptool_py/esptool/espefuse.py --port /dev/ttyACM0 -- baud <tried all options> dump
And face the same connection issues.
I should have mentioned, I'm running this on an Ubuntu VM, but I guess this isn't a factor as everything else is working.
-
I solved this using 115200 speed.