block on write call to ttyACM device
I have a write call to a ttyACM serial device that blocks after several hundreds bytes are written. I'm writing in ~25 byte chunks, so I have 5-8 successful writes, then the next write blocks forever. I can bypass the blocked call using select, but I can never call write again without closing and re-opening the port.
The serial port is opened correctly because I can read from it just fine. Write permissions are correct, and it's opened RW. The code is likely correct because I tested the same code using the same device on a pure RS-232 serial port, and it worked fine - no block.
Is there anything to know about the linux ACM module? It's my understanding that write calls basically shouldn't block. They're supposed to return -1 if there's an error.
|