Read trigger meaning
ITEM: RTA000088327
In the smit panel for hardware characteristics of a tty, I have a
question about the read trigger parameter. The default is 'waiting for
14 chracters in the FIFO' before signalling data have been received.
First, is this signal for the system, and allows the transfer of data
from the hardware adapter to kernel buffer, or from the kernel buffer
to the user read?
If I receive only ten characters when will this FIFO be flushed? Is
there a timeout that allows this signal to take place? What is its
value?
My problem is I have to aknowledge (by software) packets received in
a certain amount of time and it happens some miss in this. I was
wondering if this parameter in smit could explain this problem. For
example the number of characters used is 14 (the default); what
happens if there are only 10 characters in the hardware buffer?
Will this queue be flushed after a certain time? What is this time?
We already check the points: only one
programs reading the tty vmin already set to 1 raw mode with no
processing at all. So for the UNIX/tty point of view, I think every
points are corrects the only place I do not know ( that's why I have
this QA)is what happens in raw mode if only 10 characters arrive on
the hardware buffer when will this characters been transfered in the
memory and available for reading. Am I correct if I say the read
trigger qualify the transfer from hardware adapter to tty driver and
not from tty driver to user space? Is there a timeout after which if
there are characters in the hardware bu buffer they are automatically
transfered to memory. This problem only appears time to
time and didn't appear since a while so may be it's the read trigger
who works.
ANSWER
The Read Trigger (rtrig) in AIX is used to make the Standard,
8-Port and 16-Port Async Adapters more efficient. The value
of the Read Trigger determines how much data the Adapter will
read before interrupting AIX.
If you believe the Read Trigger is causing the problem, then
change to Read Trigger to 0 (/usr/lbin/tty/stty-rs rtrig 0
< /dev/tty#). This will interrupt AIX for every character.
There are several other things to check also.
Make sure there is only ONE process (program) running on the
tty port. If there are multiple process running on the same
tty port (like a getty and your program), then the input data
would be split for the different process.
If you are in line mode (-icanon with the 'stty -a /dev/tty#'
command) then a New Line Character will be needed to read any
of the data.
If you are in raw mode (icanon), then the Vmin Value determines
how many characters will need to be available to AIX before
your process will read them (tty POSIX structure). The default
for Vmin is FOUR and can be changed to ONE with the 'stty eof .A
/dev/tty#' command (Control A = 1, Control B = 2, Control C = 3,
Control D = 4, etc).
Have you set the Read Trigger to 0? Please set the Read
Trigger to 0 (/usr/lbin/tty/stty-rs rtrig 0
WWQA: ITEM: RTA000088327 ITEM: RTA000088327
Dated: 01/1996 Category: ITSAI6000HW
This HTML file was generated 99/06/24~12:43:29
Comments or suggestions?
Contact us