Cannot reset M66 using PowerKey

Hi,

I am trying to reset a M66 modem using the power key. It seems the modem is shutting down (as I do get a NORMAL POWER DOWN urc), but after that I cannot turn it back. Here the POWER KEY GPIO toggle timing.

Note: I am using STM HAL Library, but the code is pretty standard, its just toggling the PIN HIGH and low. Am I doing something wrong with the timings?

HAL_GPIO_WritePin(GSM_PWR_KEY_GPIO_Port, GSM_PWR_KEY_Pin, GPIO_PIN_SET);
//keep the power key down for 800ms
HAL_Delay(800);
HAL_GPIO_WritePin(GSM_PWR_KEY_GPIO_Port, GSM_PWR_KEY_Pin, GPIO_PIN_RESET);

// Note: I am getting the NORMAL POWER DOWN urc, here

//It may take 2 to 12 seconds to log out of network
for (uint32_t i = 0; i < 24; i++) {
	printf_(".");
	HAL_Delay(500);
}

HAL_GPIO_WritePin(GSM_PWR_KEY_GPIO_Port, GSM_PWR_KEY_Pin, GPIO_PIN_SET);
//Keep the power key down for 2 seconds
for (uint32_t i = 0; i < 20; i++) {
	printf_(".");
	HAL_Delay(100);
}
HAL_GPIO_WritePin(GSM_PWR_KEY_GPIO_Port, GSM_PWR_KEY_Pin, GPIO_PIN_RESET);

M66 does not support reset function. If reset is required, shut down through PWRKEY and wait for more than 500mS before restarting.