FAQ === This is actually a quiet lousy FAQ with not many questions answered. But the truth is that only one question is asked frequently. The first here in this FAQ. Please read it, please, please, pretty please. :) Q: Your serial tool seems to block my application. What am I doing wrong? A: First the bad news: It's impossible for two GNU/Linux processes to open the same serial port at the same time. Doing so results in undefined behaviour like you just experienced. Jpnevulator was never built to sit in between the kernel and your application. I'm sorry. The way I have used Jpnevulator over and over again, was with a special self (not entirely myself, but a colleague of mine) made device that sort of sits in between a serial cable. Out of the device comes another serial cable that mirrors everything that is sent over the original serial cable. A sort of man in the middle. Now with a little bit of luck some good news: A little while ago Eric Shattow suggested to use pseudo-terminal devices to sit in between the kernel and your application. Unfortunately it's still impossible to work with speed changes that way and hence Eric never replied when I asked him what he did think of the solution I provided to him. So this pseudo-terminal device support is not tested very well, only in a limited way by me. It works and I think it's even relatively easy to use stty to detect speed changes and act upon it. I leave that as an exercise to the reader, but I would love to hear from anyone having done it. Q: The --write mode or the --pass option is not working. A: When the first "bug report" arrived I was surprised by this myself and thought indeed this was a bug. Monday July 25th I even wrote a 'bug introduced in version 2.2.1' news item. But when I investigated the problem seriously it of course was not. Silly me! The problem was not a bug in the software, but incorrect terminal settings. Please see the stty(1) manual page for all possible settings, but if you set your terminal settings like output below, all should nicely work: $ stty -a < /dev/ttyUSB0 speed 115200 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke $ This of course if you want a speed of 115200 and no parity settings. Again, please see the stty(1) manual for all possible settings if you want things to behave differently.