ESP32 + SIM800L - GSM module not registering on network after initial setup.

Hello,
I’ve finally got my ESP32 and SIM800L module talking via UART, and it registers to the network fine the first time I power it up. But if I reset the ESP32 without fully powering down the SIM800L, it fails to register. I have to cycle the SIM800L’s power to get it to connect again. Is there a specific AT command to “re-register” the module that I’m missing, or is this a common behavior for the SIM800L?
Thanks for any help!
Most people building ESP32 + SIM800L projects will:
Either tie the SIM800L’s PWRKEY pin to an ESP32 GPIO so they can “reboot” it in software when needed.
Or, in firmware, issue AT+CFUN=1,1 during initialization to ensure the SIM800L always starts from a clean state after the ESP32 reset. If you want fast recovery without fully power-cycling, I recommend adding AT+CFUN=1,1 in your ESP32’s init sequence. That’s the closest to a proper reset command.
You can see a tutorial using SIM800L here. https://www.theengineeringprojects.com/2022/10/interactive-voice-response-system-with-raspberry-pi-4-sim800l.html
