diff --git a/lib/network.py b/lib/network.py index f1cd2bcc..2b40f48d 100644 --- a/lib/network.py +++ b/lib/network.py @@ -412,8 +412,17 @@ class Network(threading.Thread): if i == self.interface: self.set_status('disconnected') - if not self.interface.is_connected and self.config.get('auto_cycle'): - self.switch_to_random_interface() + if not self.interface.is_connected: + if self.config.get('auto_cycle'): + self.switch_to_random_interface() + else: + if self.default_server not in self.disconnected_servers: + print_error("restarting main interface") + if self.default_server in self.interfaces.keys(): + self.switch_to_interface(self.interfaces[self.default_server]) + else: + self.interface = self.start_interface(self.default_server) + print_error("Network: Stopping interfaces") for i in self.interfaces.values():