-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathFAQ
56 lines (45 loc) · 2.91 KB
/
FAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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 = <undef>; eol2 = <undef>; swtch = <undef>; 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.