Hi Jonathan,
JDBP> I suspect that it's as simple as unbuffered UARTs. Remember that OS/2
is
JDBP> a multitasking operating system, where a program does not have
exclusive
JDBP> use of the CPU at all times. The problem that you have encountered
s,
JDBP> essentially, that LapLink is receiving a corrupted data stream over a
JDBP> serial device.
Unless you set COM_DIRECT_ACCESS in the setting notebook the DOS session
will emulate 16450s to the program. Tested on my system with 16550
present using COM.SYS, with default COM_DIRECT_ACCESS off LapLink 4.0a
reports a 16450 and fails self test, if I set COM_DIRECT_ACCESS on it
reports a 16550A and tests OK.
When I was with Richard recently we tried to use LapLink on one of his
machines with SIO installed with no success, so I suspect SIO may
provide some problems if installed. Just a minute...
I've just swapped to SIO, and indeed LapLink can't determine the UART
type and fails self test with it installed.
JDBP> This is easily explained if you happen to have a 16450, or other
JDBP> unbuffered UART, for your serial hardware. On DOS, LapLink just sits
in
JDBP> a dedicated loop waiting for characters. However, OS/2 is
multitasking,
JDBP> and it is possible for a second character to be received by the UART
JDBP> before its predecessor has been read from the 1-character UART receive
JDBP> buffer, because OS/2 may be doing something else at the time that the
JDBP> character receive interrupt occurs. This results in character loss,
and
JDBP> protocol errors in programs such as LapLink.
My experience of using LapLink is that it requires the serial interrupt
and uses it, so I don't believe this criticism is valid and in my
experience is not a problem.
JDBP> A buffered UART, such as a 16550, has an 8-character receive buffer,
o
JDBP> RX buffer overruns like the above are much less likely on multitasking
JDBP> operating systems.
Agreed.
JDBP> The solution if this is the case ? Fix your hardware.
Should not be needed. I've run LapLink under OS/2 using 16450 UARTS
sucessfully in the past.
George
* SLMR 2.1a * Desk: A very large wastebasket with drawers.
--- Maximus/2 3.01
---------------
* Origin: DoNoR/2,Woking UK (44-1483-725167) (2:440/4)
|