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

[MiNT] SCC.XDD, MFP.XDD and serial port problems



Hello everyone,

You may recall that I posted a while ago a message to this mailing list in
regard to problems with the new serial port drivers.

I have just looked at it again and I still don't understand what is going
on. I will write down what I have been able to observe and hopefully
someone more knowledgable about these issues may be able to recognise what
is going on.

I have tried all of this with both the 1.15.6 and 1.15.7 FreeMiNT kernels
and I am using mfp 0.10 and scc 0.11.

The MFP and SCC drivers both seems to exhibit similar problems although I
have not tested this absolutely thoroughly. They are running on a TT.

Once the said drivers are installed the serial ports do appear to work in
some degree. In particular I can use minicom to type messages to a remote
machine attached via a serial port, and I can use pppd to operate a ppp
connection over a serial port using these drivers. All of this works
perfectly.

However when I try to use any of the following programs with the new
serial port drivers things go all wrong: uucico (uucp), getty, mgetty and 
vgetty.

Uucico, mgetty and vgetty when used on a SCC port will talk to the modem
for a little bit, but very soon they just hang in a read. Even though the
modem must have sent data to the computer, read still blocks. I found that
it always happens when reading more than one byte of data with the read
system call. Reading data one byte at a time works fine, but reading more
than one byte doesn't work. (At least it doesn't work sometimes; I'm not
sure if it can work in some situations or not.)

On a MFP port it is even worse: as soon as uucico, mgetty or vgetty is
run on a MFP port, the program uses about 99% processor time for a while,
and then about a minute later the machine just freezes. The only way to
recover is to reboot.

getty (just the plain old getty from KGMD) fails in a different way - it
crashes with a bus error when trying to work on a port controlled by the
new serial port drivers. The info about the bus error is PC=12DC3F2,
address=D3990008 and PC=2236B00. The same getty works fine in every other
situation and with serial ports where the new drivers are not used.

Another strange thing occurs when trying to read data from a serial port
with cat. I am using the cat program from Julian Reschke dated Jan 5 1995.
I will try to read data from a serial port with a command such as "cat <
/dev/ttyS0." WHat happens is that data only gets read in groups of four
characters. In other words, if on another local machine attached via a
null modem cable I send a string like 123, nothing happens. But as soon as
I send one more character, say a 4, then all four characters appear, i.e.
1234. What I also observe is that this 4-character orientation relates to
when the device is opened and closed. If I type three letters, then exit
from cat and then run cat again, the three letters appear immediately.

I have examined the mfp and scc sources but not being familiar with how it
operates I was not able to figure out what is wrong. I notice that there
are two sets of read and write functions: writeb and readb, and then
twrite and tread. I do not entirely understand what the difference between
these functinos is. I see that the t* functions appear to be
longword-oriented, yet as far as I can see while those functions are
transferring longwords the IOREC points are only being moved by one byte.
I just don't follow how this works. However I am supposing that this has
something to do with the cat problem.

I am not sure whether the cat problem and all the other problems are
related or whether they are independent.

Also to do with serial ports, but not related to the new SCC.XDD and
MFP.XDD drivers, I have been trying the FreeMiNT version 1.15.7 kernel and
although it appears to operate ok in most respects, the serial ports don't
work properly, even without the new SCC.XDD And MFP.XDD drivers. In
particular, the SERIAL 2 port on my TT entirely fails to operate with MiNT
1.15.7, whereas with 1.15.6 and earlier versions it worked fine.

You can open the port without any trouble, but when sending or receiving
data on the port it is as if the port is not connected to anything. Also
the SERIAL 1 port does not appear to be available at all in version
1.15.7.

So there you have all the information about the problems which I am
experiencing. Am I the only one noticing all this? Any ideas as to what
might cause the problems?

Any advice would be appreciated.

-- 
+-----------------------------------------------------------------------+
| Mario Becroft           * Tariland, New Zealand Atari User Group      |
| mb@gem.win.co.nz        * Atari Hardware Developments:                |
| http://gem.win.co.nz/   * NEW: QWERTYX - PC AT Keyboard Interface     |
+-----------------------------------------------------------------------+