after
if ( currentMillis - lastResetAtMs > 1000 ) { // v2
wdt_reset(); // v2 - reset wdt every 1 second until startupPeriod expires
lastResetAtMs += 1000 ; // v2
could we do that again before it starts the while loop again?
I think the problem is everytime we start at the top of the While loop the GSM module reinitialises so if we could do two of the above with 8 seconds and a third one for 4 seconds then that would give the module 20 seconds to get a signal would it now?