Experiences with 386i serial ports under DOS?

Paul Matz ppgbms!moe!paul at philabs.philips.com
Thu Feb 16 19:09:23 AEST 1989


We have been working with serial ports on 386i 150s, under 4.0.1, and have
had some interesting results.  Experimentation was done with both the
built-in ttya (com1) and with a multi-port card from Comtrol.  Both types
support both Unix and DOS operations (although not at the same time, or on
a sharable basis).  Here are some observations and questions:

o We have found that both the 386i serial port and ports on a multi- port
  card (Comtrol h550) operate fine under Unix, in both directions, upto 9600
  baud.  This was tested using C-Kermit, built on the 386i.  However, DOS
  based applications seem to have a problem going beyond 1200 baud reliably,
  mainly when receiving.  When trying to transmit files between two
  machines, 1200 baud is ok, but any higher causes dos window to evaporate
  on receive side of connection, with the following message shown:

	Possible software incompatibility.  Two-byte opcode. 

  (In this configuration, sun w/ h550 card is receiving 12k text file when
  it crashes.  When @1200, the effective rate is about 780 baud.  The
  version of mskermit is IBM-PC Kermit-MS version V2.27.  Version 2.3 gets a
  divide by zero error when doing anything).

  Both Mskermit and other serial I/O application seem to have problems,
  although it is very hard for us to isolate the problem and say for sure it
  is the 386i that is the problem.  Have there been any other reports of
  problems with serial ports under DOS?

o Why is there the "COM2" entry in /etc/dos/defaults/boards.pc in 4.0.1
  distribution?   In what situation would one use that entry?  Previously,
  in 4.0.0, adding a second COM2 port was done via the boards.pc file, in
  addition to setup.pc file, although there was the conspicuous absense of
  COM1.  In 4.0.1, with the COM2 entry in boards.pc, one gets the message: 

	Interrupt level 3 is used by dos to support COM2.
	It cannot be used for the COM2 board.

  We were told to remove the entry to eliminate the system error that was
  occuring.  Apparently, in 4.0.1, access to dos serial devices is emulated,
  whereas in 4.0.0 the dos application was allowed to "directly" access the
  serial port card.  boards.pc entries are restricted to those which expect
  direct access to the peripheral hardware.  Therefore, the COM2 entry
  should probably be removed from the distribution copy of boards.pc.

  Could the fact that emulation is occuring be responsible for the speed
  limitations?  Is there a piece of the DOS under Unix emulation code that
  can service the interrupts, or does that have to happen in a Unix  driver?

Any help or comments would be much appreciated.  I'll post a summary if
there is enough of a response.

	Regards,

	Paul Matz
	PPG Biomedical Systems
	Pleasantville, NY.
	914-741-4685
	ppgbms!paul or
	ppgbms!paul at philabs.Philips.COM



More information about the Comp.sys.sun mailing list