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