*BSD News Article 41629


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!news.hawaii.edu!ames!haven.umd.edu!news.umbc.edu!eff!news.duke.edu!godot.cc.duq.edu!newsfeed.pitt.edu!gatech!howland.reston.ans.net!vixen.cso.uiuc.edu!milo.mcs.anl.gov!xray!winans
From: winans@xray.aps.anl.gov (John R. Winans)
Newsgroups: comp.os.386bsd.questions
Subject: Re: FreeBSD/NetBSD as terminalserver
Date: 18 Jan 1995 17:29:34 GMT
Organization: Argonne National Laboratory, Chicago Illinois
Lines: 53
Message-ID: <3fjj5u$b7h@milo.mcs.anl.gov>
References: <3f9khg$4s5@lxki.neutron.com>
NNTP-Posting-Host: xray.aps.anl.gov

In article <3f9khg$4s5@lxki.neutron.com> laux@neutron.com (Thorsten Laux) writes:
>I am thinking about using NetBSD/FreeBSD as a terminalserver. Is BSD
>serial io stable enough to handle one or two 4-port cards using 16550s
>at 38400 bps? Is full hardware handshaking (rts/cts/cdc) availible
>(the faq says this is not so)? How much cpu power would be necessary?
>
>Could a 486/40 Mhz for example handle a AST 4-Port card at 38400 baud?

Please summarize, I am posting this instead of email because it includes
an additional question about the flow control.

I am planning on using NetBSD 1.0 Patch 5 as a multi-port PPP/SLIP server.  I 
have 4 16550s and a WD8003 ethernet board on a 33MHz 386sx box.  Each serial 
port puts a load (as seen by uptime) of about 20% of the CPU when running 
constantly at a real 38400.  The rtscts flow hardware flow control works fine 
as long as you don't have ixany left on.  I run "-ixoff -ixon -ixany crtscts"
and can see the modem throttleing the PC when I run a while(1) printf();
from a 14.4 modem running at 38400.

For those that are planning on doing this kind of thing, make sure you have
the GATEWAY option set in the kernel config and have a clue about how to set
up proxy arp if the slip IP numbers are part of the same subnet as the 
ethernet cable that your box is on.

I configure mine like this:

ed0 128.0.0.1 netmask 255.255.255.0
sl0 128.0.0.1 128.0.0.100 netmask 255.255.255.0
sl1 128.0.0.1 128.0.0.101 netmask 255.255.255.0
sl2 128.0.0.1 128.0.0.102 netmask 255.255.255.0
sl3 128.0.0.1 128.0.0.103 netmask 255.255.255.0

add a proxy arp for 128.0.0.100, 128.0.0.101, 128.0.0.102, and 128.0.0.103
as a perminant published entry for the same ether number as the ed0 interface
has.  Then add a route add -host 128.0.0.100 128.0.0.100 and so on (not totaly
sure I HAVE to do that, but...)

Then on the slipping in guys you need to "route add default 128.0.0.1".
that should do it.


My question for the day is... is the ixany behaviour a misfeature?  What
seems to be happening is that when the modem de-asserts cts, the PC stopps and
waits until it comes back on... UNLESS I fire off a character from the 'other
side' which will start it up again as well.  IMHO, cts off means no data no
matter what.  With ixany off, I get what I expect from rtscts flow control.

--John
-- 
! John Winans                     Advanced Photon Source  (Controls)    !
! winans@aps.anl.gov              Argonne National Laboratory, Illinois !
!                                                                       !
!"The large print giveth, and the small print taketh away." - Tom Waits !