*BSD News Article 18463


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!sdd.hp.com!nigel.msen.com!math.fu-berlin.de!irz401!uriah!not-for-mail
From: j@bonnie.tcd-dresden.de (J Wunsch)
Newsgroups: comp.os.386bsd.questions
Subject: Re: instructions for connecting a modem to your system
Date: 9 Jul 1993 13:24:55 +0200
Organization: Textil Computer Design GmbH, Dresden, Germany
Lines: 58
Message-ID: <21jki7INN64c@bonnie.tcd-dresden.de>
References: <1993Jul7.152631.24557@pslu1.psl.wisc.edu>
NNTP-Posting-Host: bonnie.tcd-dresden.de

In article <1993Jul7.152631.24557@pslu1.psl.wisc.edu> RAM@EPIDAT.EPI.WISC.EDU (Ram Bhamidipaty) writes:
>>>From: SMTP%"cdsi@titan.tsd.arlut.utexas.edu"  1-JUL-1993 14:01:48.90
>>>
>>>Warning: hardware flow control is not really implemented.
>>>I get SILO overflows
>>>at 19200 quite often, but not often enough to look into it.
>
>I also get silo overflows at 9600 baud...
>
>-Ram
>
Bruce Evans told me, this has been fixed in his sio driver (which
must be superior to the com driver - didn't had the time to apply
0.2.4:-( ).  For those who wanna fix it in the traditional com
driver, here's the patch:

*** com.c.pl5	Wed Feb  3 20:13:52 1993
--- com.c	Wed Jun 16 13:34:07 1993
***************
*** 400,406 ****
  			outb(com+com_mcr,
  				inb(com+com_mcr) & ~(MCR_DTR | MCR_RTS) | MCR_IENABLE);
  	} else if ((stat & MSR_DCTS) && (tp->t_state & TS_ISOPEN) &&
! 		   (tp->t_flags & CRTSCTS)) {
  		/* the line is up and we want to do rts/cts flow control */
  		if (stat & MSR_CTS) {
  			tp->t_state &=~ TS_TTSTOP;
--- 400,406 ----
  			outb(com+com_mcr,
  				inb(com+com_mcr) & ~(MCR_DTR | MCR_RTS) | MCR_IENABLE);
  	} else if ((stat & MSR_DCTS) && (tp->t_state & TS_ISOPEN) &&
! 		   (tp->t_cflag & CRTSCTS)) { /* 16 Jun 93, use right flag */
  		/* the line is up and we want to do rts/cts flow control */
  		if (stat & MSR_CTS) {
  			tp->t_state &=~ TS_TTSTOP;
***************
*** 486,492 ****
          tp->t_cflag = cflag;
  
  	com = com_addr[unit];
! 	outb(com+com_ier, IER_ERXRDY | IER_ETXRDY | IER_ERLS /*| IER_EMSC*/);
  	if (ospeed == 0) {
  		(void) commctl(unit, 0, DMSET);	/* hang up line */
  		return(0);
--- 486,493 ----
          tp->t_cflag = cflag;
  
  	com = com_addr[unit];
! 	/* 16 Jun 93: re-include IER_EMSC */
! 	outb(com+com_ier, IER_ERXRDY | IER_ETXRDY | IER_ERLS | IER_EMSC);
  	if (ospeed == 0) {
  		(void) commctl(unit, 0, DMSET);	/* hang up line */
  		return(0);
-- 
in real life: J"org Wunsch |   )  o o  | primary: joerg_wunsch@tcd-dresden.de
above 1.8 MHz:   DL 8 DTL  |    )  |   | private: joerg_wunsch@uriah.sax.de
                           | . * ) ==  |
          ``An elephant is a mouse with an operating system.''