diff --git a/src/net/sf/briar/plugins/modem/ModemPlugin.java b/src/net/sf/briar/plugins/modem/ModemPlugin.java index f2ea8473901cab58ed17e9ecd43701106a44218e..435f10a4a199cd5cc954328e154a6dbdfd637360 100644 --- a/src/net/sf/briar/plugins/modem/ModemPlugin.java +++ b/src/net/sf/briar/plugins/modem/ModemPlugin.java @@ -88,14 +88,17 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { // Synchronized to avoid a race condition with stop() private synchronized boolean resetModem() { if(!running) return false; - try { - modem.init(); - return true; - } catch(IOException e) { - if(LOG.isLoggable(WARNING)) LOG.warning(e.toString()); - running = false; - return false; + for(String portName : SerialPortList.getPortNames()) { + modem = modemFactory.createModem(this, portName); + try { + modem.init(); + return true; + } catch(IOException e) { + if(LOG.isLoggable(WARNING)) LOG.warning(e.toString()); + } } + running = false; + return false; } public boolean shouldPoll() {