[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

High-speed serial link problems



Hello,

(If you find this mail rather long, I have given a summary at the bottom
which you might skip to.)

I have been following the recent discussion regarding high speed serial
ports under MiNT, but none of it seems to relate exactly to a problem that
I am having.

I have my TT030 running MiNT connected via a null modem cable a IBM
compatible (with DOS). The IBM compatible is intended to act as a terminal
for the TT. In order to transfer data quickly, I want to have the link
operating at 115k2.

Here's what I did (note that some of the time I was not entirely sure
of the correct way to do something, so I guessed a bit):

I added a "std.115200" entry into /etc/gettytab, and set the serial2 entry
in /etc/ttytab apropriately. I then started a normal "terminal program" on
the DOS machine, and set the speed to 115k2. Unfortunately, this did not
work, and I discovered that the serial2 port was in fact being set to
300BPS, not 115k2. I experimented with the std.115200 entry in
/etc/gettytab, and strangely, I found that by setting the speed parameter
to 38400, getty would simply leave the port speed alone, so by modifying
gettytab in this way and then setting the port speed by hand, I was able
to get the link working, at least to some extent. (I could have just left
the speed parameter out, and getty would also have left the speed the
same, but I was experimenting with the values to see why getty interpreted
115200 as 300, and since I hit upon something that worked I simply left it
that way.)

Data would transfer across the link without any noticable problems at
115k2, but soon I discovered that things went wrong when large amounts of
data were being transferred. Also, the link did not seem to operate as
fast as it should. For example: transfering data from the TT to the DOS
machine via zmodem (using sz) I got 2199CPS, which is clearly too low.
Transferring from the DOS machine to the TT was better however, with
9230CPS - much closer to what you would expect. I then started N.AES on
the TT, and was surprised to find that TT->IBM transfers dropped to
1944CPS and transfers IBM->TT went wrong badly, with many errors
appearing. It seems that at this speed the TT just could not keep up, when
N.AES was running. But surely the TT should be able to handle transfers 10
times faster, or more, than the ones I am attempting. How could the AES,
using (according to top) under 4% processor time, cause the TT to become
unable to handle 9000CPS throughput? Also, when doing this transfer, I
found that the TT responded extremely slow, as though the transfer was
taking up all the processor time.

At that point my null modem cable had no handshake lines connected, so I
added these lines to the cable, and switched no flow control on the DOS
machine. However, I was unable to figure out how to switch on flow control
on the TT.

So, to summarise:

* I have a connection from the TT to a DOS machine (the fact that it is a
DOS machine is really irrelevant) operating at 115200BPS on the serial2
port of the TT.

Questions:

* Why do I get only 2200CPS throughput sending from the TT? (While I get a
better, but not perfect, 9200CPS receiving.)

* Why does the TT seem to struggle to cope with 9200CPS, and fail
altogether when I have a simple thing like N.AES using only 4% or so CPU
time?

* Why does getty not set the port to 115200 even though I set the speed to
that value in gettytab?

* How can I fix the above problems?

* How can I enable RTS/CTS flow control for the serial 2 port on the T#T?

Any help would be much appreciated.

-- 
Mario Becroft                        Auckland, New Zealand
mb@tos.pl.net                 http://www.pl.net/user/mario      |\__/,|   (`\
Tariland, Atari Support in New Zealand                        _.|o o  |_   ) )
tariland@tos.pl.net  http://www.pl.net/user/mario/tariland --(((---(((--------