Serial driver locks up

bridged with qdn.public.qnxrtp.embedded
Post Reply
Murtaza

Serial driver locks up

Post by Murtaza » Wed Dec 10, 2003 11:42 pm

We are using an 8250 serial driver that seems to work OK most of the time
but sometimes, it locks up and does not permit inputs from the serial
terminal. On a broken serial connection, we tried couple of tests via a
telnet session into our target system. Note that all these tests pass on a
working serial connection.

Here are some simple commands we issue and their results:

echo Hello > /dev/ser1

I see Hello on the serial console.

if I issue

cat < /dev/ser1 and then type characters on the terminal console, I also see
the characters appear under the telnet session.

However, scripts redirected to the serial terminal fail to receive input
from the terminal. Here's a simple script which outputs a prompt and
requests an input.

---
echo "This is a test. Write something:"
echo -n ""
read answer

echo $answer
---

and I redirect the script to the serial terminal with the command "ksh
script > /dev/ser1". In this case, what I wrote on the terminal, the read
could not see it and therefore it did not appear under the telnet session.

We are using the 8250 driver as is that came with QNX Neutrino 6.1b. The
arguments we supply to the driver command line are:

devc-ser8250 -e -S -F -c 1843200 -b14400 <port>, <interrupt>

I wonder if there were any bug fixes or changes to this driver that we
should be aware of. Or are there any additional command line parameters we
need to supply. Would appreciate your input.

- Murtaza

Bill Caroselli

Re: Serial driver locks up

Post by Bill Caroselli » Thu Dec 11, 2003 2:47 pm

Murtaza <murti@yahoo.com> wrote:

M > and I redirect the script to the serial terminal with the command "ksh
M > script > /dev/ser1". In this case, what I wrote on the terminal, the read
M > could not see it and therefore it did not appear under the telnet session.

This only redirects standard out. Standard in is still the keyboard
that you launched the script from. Try either of these:

on -t /dev/ser1 ksh script
or more simply
on -t /dev/ser1 script if the script is marked as executable
Another option is to
key script < /dev/ser1 > /dev/ser1
you might also want to throw in
2> /dev/ser1

Post Reply

Return to “qdn.public.qnxrtp.embedded”