X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/ca4714cd23338a762c45839d1b3010988b7612a7..c48211f7ed175c91d92044e7e08b921e06f8ff3f:/client/uart.c diff --git a/client/uart.c b/client/uart.c index 4b2fee99..5870ebae 100644 --- a/client/uart.c +++ b/client/uart.c @@ -119,7 +119,12 @@ void uart_close(const serial_port sp) { fl.l_start = 0; fl.l_len = 0; fl.l_pid = getpid(); - fcntl(spu->fd, F_SETLK, &fl); + + // Does the system allows us to place a lock on this file descriptor + int err = fcntl(spu->fd, F_SETLK, &fl); + if ( err == -1) { + //perror("fcntl"); + } close(spu->fd); free(sp); } @@ -369,10 +374,10 @@ serial_port uart_open(const char* pcPortName) { // Prepare the device control memset(&sp->dcb, 0, sizeof(DCB)); sp->dcb.DCBlength = sizeof(DCB); - if(!BuildCommDCBA("baud=9600 data=8 parity=N stop=1",&sp->dcb)) { - uart_close(sp); - return INVALID_SERIAL_PORT; - } + if(!BuildCommDCBA("baud=115200 parity=N data=8 stop=1",&sp->dcb)) { + uart_close(sp); + return INVALID_SERIAL_PORT; + } // Update the active serial port if(!SetCommState(sp->hPort,&sp->dcb)) { @@ -380,10 +385,10 @@ serial_port uart_open(const char* pcPortName) { return INVALID_SERIAL_PORT; } - sp->ct.ReadIntervalTimeout = 0; - sp->ct.ReadTotalTimeoutMultiplier = 0; + sp->ct.ReadIntervalTimeout = 1; + sp->ct.ReadTotalTimeoutMultiplier = 1; sp->ct.ReadTotalTimeoutConstant = 30; - sp->ct.WriteTotalTimeoutMultiplier = 0; + sp->ct.WriteTotalTimeoutMultiplier = 1; sp->ct.WriteTotalTimeoutConstant = 30; if(!SetCommTimeouts(sp->hPort,&sp->ct)) {