*BSD News Article 6678


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!ariel!werple.apana.org.au!news
From: andrew@werple.apana.org.au (Andrew Herbert)
Newsgroups: comp.unix.bsd
Subject: Re: Hardware handshake (RTS/CTS) on serial line with 386BSD
Message-ID: <1bqh7dINN8ae@werple.apana.org.au>
Date: 18 Oct 92 02:13:01 GMT
References: <BWZ7ZIV@obh.in-berlin.de>
Organization: werple public-access UNIX, Melbourne
Lines: 24
NNTP-Posting-Host: werple.apana.org.au

ob@obh.in-berlin.de (Oliver Brandmueller) writes:

>how can I use the hardware handshake (RTS/CTS) with 386BSD on
>com1? Without RTS/CTS handshake it is impossible to have a high
>speed modem connected.

This can be done using the standard com driver with a few mods and a bug fix:

* comment out the line "comsoftCAR |= 1 << unit;        /* XXX */" to enable
  CD and CTS handling on the serial ports (line 148)

* uncomment the IER_EMSC in:
  outb(com+com_ier, IER_ERXRDY | IER_ETXRDY | IER_ERLS /*| IER_EMSC*/);
  (line 403)

* replace the expression "(tp->t_flags & CRTSCTS)" with
  "(tp->t_cflag & CRTSCTS)" (line 489)

The line numbers are for a pl3 version of i386/isa/com.c.  Once you've done
these things, you just need to do a "stty crtscts" or equivalent to get
hardware flow-control.

hope this helps,
Andrew