diff --git a/client/flasher.c b/client/flasher.c index 6019a6b93..3ed438452 100644 --- a/client/flasher.c +++ b/client/flasher.c @@ -72,7 +72,7 @@ void CloseProxmark() { int OpenProxmark(size_t i) { sp = uart_open(serial_port_name); - if (sp == INVALID_SERIAL_PORT) { + if (sp == INVALID_SERIAL_PORT || sp == CLAIMED_SERIAL_PORT) { //poll once a second return 0; } diff --git a/client/proxmark3.c b/client/proxmark3.c index 81f2c18a0..78bc1fe47 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -221,11 +221,16 @@ int main(int argc, char* argv[]) { offline = 0; } */ + sp = uart_open(argv[1]); if (sp == INVALID_SERIAL_PORT) { printf("ERROR: invalid serial port\n"); marg.usb_present = 0; offline = 1; + } else if (sp == CLAIMED_SERIAL_PORT) { + printf("ERROR: serial port is claimed by another process\n"); + marg.usb_present = 0; + offline = 1; } else { marg.usb_present = 1; offline = 0;