diff --git a/ublox-cellular/src/client.rs b/ublox-cellular/src/client.rs index c10b615..b296965 100644 --- a/ublox-cellular/src/client.rs +++ b/ublox-cellular/src/client.rs @@ -208,7 +208,10 @@ where // At this point, if is_alive fails, the configured Baud rate is probably wrong if let Err(e) = self.is_alive(5).map_err(|_| Error::BaudDetection) { - self.hard_reset()?; + if self.hard_reset().is_err() { + self.hard_power_off()?; + BlockingTimer::after(Duration::from_secs(1)).wait(); + } return Err(e); }