diff --git a/src/fw_images.c b/src/fw_images.c index 4ee0c76..c88f90d 100644 --- a/src/fw_images.c +++ b/src/fw_images.c @@ -214,13 +214,16 @@ static void _exec_reboot(const void *arg1, void *arg2) sleep(3); dmubus_call_blocking("system", "reboot", UBUS_ARGS{0}, 0, NULL); sleep(15); // Wait for reboot - BBFDM_ERR("Reboot call failed with system, trying again with reboot rpc-sys..."); + BBFDM_INFO("Reboot call failed with system, trying again with reboot rpc-sys..."); dmubus_call_blocking("rpc-sys", "reboot", UBUS_ARGS{0}, 0, NULL); sleep(15); // Wait for reboot to happen - BBFDM_ERR("Reboot call failed with rpc-sys, trying again with reboot cmd ..."); + BBFDM_WARN("Reboot call failed with rpc-sys, trying again with reboot cmd ..."); run_cmd("reboot", NULL, 0); sleep(15); // Wait for reboot - BBFDM_ERR("Reboot call failed!!!"); + BBFDM_ERR("Reboot calls failed, trying hard reboot!!!"); + run_cmd("reboot -f", NULL, 0); + sleep(15); // Wait for reboot + BBFDM_ERR("### Tried all reboot methods, nothing worked ....."); // Set last_reboot_cause to empty because there is a problem in the system reboot dmuci_set_value(config_name, "reboots", "last_reboot_cause", "");