[comp.sys.ibm.pc.rt] SLIP functional under ACIS/AOS 4.3 ?

dyer@spdcc.COM (Steve Dyer) (01/08/89)

In article <7129@batcomputer.tn.cornell.edu> feigin@tcgould.tn.cornell.edu
	(Adam Feigin) writes:
>I can't seem to get SLIP working under the Sept 30. '88 release of AOS.
>When I try to attach an interface (using one of the planar serial ports
>on the RT), I get the following error:
>ioctl(TIOCSETD): No such device

I'm using SLIP at 19.2kb on the buffered 4-port card and it works like
a champ.  I tried using an older non-buffered 4-port card with "tip"
and its tendency to give UART overflows at the slightest provocation,
even at 9.6kb convinced me not even to try it for SLIP.  I don't know
about the planar ports--conceivably, they'd have a CPU advantage due to
DMA on output, but I don't think they have an input silo, so you might
have a lot of character loss.  AOS seems to have a lot of trouble in
this regard.  Running with the old 032 CPU and the buffered card, I get
silo overflows very rarely, just a few times a day when the machine is
VERY busy, and which are really unnoticeable except for the console
messages.  The character-by-character input noticably slows the machine
when there's a lot of SLIP traffic, but it's still quite usable and
when I finally get an APC upgrade, I doubt I'll notice it.

>I know I have to build SLIP support into the kernel, but I don't see any
>ifdef's for it anywhere in the code. Looking at a makefile for one of my
>kernels, there's no reference to /usr/sys/net/if_sl.c, which is the slip
>support routine......

The default GENERIC kernel includes SLIP support.  In your customized
config file in /usr/sys/conf/FOO, you need to include the line:

pseudo-device	sl

The Makefile produced in the build directory /usr/sys/FOO is
constructed by /etc/config from your config file using the generic
/usr/sys/conf/Makefile.ca and the files "files", "files.ca" and
"files.vfs".  If you look for if_sl.c, you'll find it in the file
/usr/sys/conf/files:

net/if_sl.c		optional sl

Of course, you also need the following lines to build a
fully-functional kernel supporting TCP/IP and its applications:

options	INET
pseudo-device	inet
pseudo-device	loop
pseudo-device	pty
and maybe
pseudo-device	ether
if you have a local ethernet card, for ARP support.

I modified /etc/rc.local, to have the following lines:

	if [ "${network}" = "sl0" ]; then
	/etc/slattach tty00 19200 
        fi
	ifconfig ${network} inet ${hostname} ${net_flags}
	ifconfig lo0 localhost

${network}, ${hostname} and ${net_flags} are set in /etc/rc.config
${net_flags} contains the hostname which resolves to the address of
the other end of the SLIP line (found in /etc/hosts) and my netmask
assignment.  You would use ttys0 or ttys1 for the planar ports.

If you already have an ethernet, you'd probably do this for $(network_2),
not ${network}.

By the way, NFS does indeed work with SLIP at 19.2kb (I set the read
and write sizes to 1K).  It's more an exercise in amazement that
anything truly useful.  However, I make sure that I set the kernel
variable 'udpcksum' to 1 if I'm using NFS over SLIP.  The RPC packets
sent via UDP by the NFS layer have checksums disabled by default, a
scary feature if you're using NFS over anything but a local ethernet.

-- 
Steve Dyer
dyer@ursa-major.spdcc.com aka {ima,harvard,rayssd,linus,m2c}!spdcc!dyer
dyer@arktouros.mit.edu