Return to BSD News archive
Xref: sserve comp.os.386bsd.questions:12323 comp.os.386bsd.misc:3185 Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!frmug.fr.net!renux.frmug.fr.net!keltia.frmug.fr.net!not-for-mail From: roberto@keltia.frmug.fr.net (Ollivier Robert) Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc Subject: Re: FreeBSD 1.1.5.1: Serial port problems [LONG] Date: 12 Aug 1994 21:31:21 +0200 Organization: A Happy FreeBSD 1.1.5 Usenet Site Lines: 300 Message-ID: <32gimn$1r7@keltia.frmug.fr.net> References: <32c0kr$94d@Mercury.mcs.com> <ASAMI.94Aug10210427@forgery.cs.berkeley.edu> Reply-To: roberto@hsc.fr.net (Ollivier Robert) NNTP-Posting-Host: keltia.frmug.fr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Summary: PPP & SLIP setup [LONG] In article <ASAMI.94Aug10210427@forgery.cs.berkeley.edu>, Satoshi ASAMI <asami@cs.berkeley.edu> wrote: > * PS> Anyone know of a document that describes, step by step, how to get > * PPP running under FreeBSD 1.1.5.1? Sorry if this is a FAQ... > > I hope someone writes it.... Here is what I did for my system to get PPP and SLIP working. A bit long but I hope useful. I've sent it to a few people but never here. Beware that all device names are for 1.1.5.1 and the new convention (initial and locked devices). ------------------------------------------------------------ For all the IP address used here, I replaced the real one by the officially never-routed ones (RFC 1597) because my official C-class network is not connected and not announced. So replace the addresses below by the one you have. =============================== PPP ================================== OK, here is my current setup for both dialin and dialout PPP. dialout ======= The device is a SupraFAXModem V.32bis on COM1. /sys/i386/conf/kernel_definition_file ------------------------------------------------------------ #For high speed serial lines. device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr ------------------------------------------------------------ /etc/rc.local (haven't converted to rc.serial yet) ------------------------------------------------------------ echo -n 'Local comm ports setup: ' if [ -x /bin/stty ]; then /bin/stty -f /dev/ttyi00 38400 crtscts hupcl /bin/stty -f /dev/ttyl00 38400 crtscts hupcl echo 'tty00: RTS/CTS enabled' fi ------------------------------------------------------------ /etc/ttys ------------------------------------------------------------ tty00 "/usr/libexec/getty supra.38400" vt100 on ------------------------------------------------------------ /etc/gettytab relevant entries ------------------------------------------------------------ S|supra.38400|supra-38400:\ :sp#38400:ap:cs#8:xa:np:hw:\ :if=/etc/issue.modem:\ :im=\r\n\r\n*** Welcome to Keltia ***\ \r\nFreeBSD unix, dialup access\r\n:lm=\r\n%h login\72 : ------------------------------------------------------------ ps ax | grep getty ------------------------------------------------------------ PID TT STAT TIME COMMAND 4485 ?? I 0:00.06 /usr/libexec/getty supra.38400 tty00 ------------------------------------------------------------ /dev entries: ------------------------------------------------------------ crw-rw---- 1 uucp dialer 28, 128 Jun 9 00:36 /dev/cua00 crw------- 1 root wheel 28, 0 Jun 8 22:28 /dev/tty00 ------------------------------------------------------------ Here is the following script I call to initiate the PPP connection. It uses an Annex terminal server without authentification. Modify the chat script to suit your site's configuration. /usr/local/sbin/pppup ------------------------------------------------------------ #!/bin/sh LOCKDIR=/var/spool/lock DEVICE=cua00 if [ -f $LOCKDIR/LCK..$DEVICE ] then echo "PPP device is locked" exit 1 fi /usr/libexec/pppd -vj defaultroute crtscts -d connect 'chat -v -l LCK..cua00 ABORT "NO CARRIER" ABORT BUSY "" ATZ1 OK ATDTnnnnnnnn CONNECT "" annex: ppp' netmask 255.255.255.0 /dev/$DEVICE 38400 ------------------------------------------------------------ after that I do POP (in), SMTP (out), and so on. To close cleanly the connection, I call the following script : ------------------------------------------------------------ kill -1 `cat /var/run/ppp0.pid` ------------------------------------------------------------ if you have both address known and fixed (between you and a friend for example) you can add both addresses at the end of the pppd command line as below: /usr/local/sbin/pppup.known ------------------------------------------------------------ #!/bin/sh LOCKDIR=/var/spool/lock DEVICE=cua00 if [ -f $LOCKDIR/LCK..$DEVICE ] then echo "PPP device is locked" exit 1 fi /usr/libexec/pppd -vj defaultroute crtscts -d connect 'chat -v -l LCK..cua00 ABORT "NO CARRIER" ABORT BUSY "" ATZ1 OK ATDTnnnnnnnn CONNECT "" annex: ppp' netmask 255.255.255.0 /dev/$DEVICE 38400 keltia-ppp.frmug.fr.net:renux-ppp.frmug.fr.net ------------------------------------------------------------ (renux is a Linux site of a friend of mine, I get a lot of News and E-mail from him). Or you may also omit one of the end addresses if you want ot pick the other's default. dialin ====== The getty process sleeps as chown before. I have a special without password Ptest PPP account : /etc/master.passwd ------------------------------------------------------------ Ptest:*:700:14:Test PPP:/:/etc/ppp/ppp-login-test ------------------------------------------------------------ In /etc/ppp I have several shell scripts named ppp-login-<site> and the test one is : /etc/ppp/ppp-login-test ------------------------------------------------------------ #!/bin/sh trap 1 2 3 echo "connexion PPP, salut testeur." exec /usr/libexec/pppd -d crtscts -detach modem netmask 255.255.255.0 keltia-ppp:keltia-guest ------------------------------------------------------------ I have the following DNS entries for keltia-ppp and keltia-guest : Name: keltia-ppp.frmug.fr.net Address: 192.168.0.1 Name: keltia-guest.frmug.fr.net Address: 192.168.0.254 With that, I have no problem using Mosaic, NFS, POP and all other TCP/IP services. And UUCP of course, which give me all the News I want. If anyone has questions, just ask. ==================================== SLIP ============================ For SLIP: ======== The kernel definition file, the /etc/rc.local, /etc/gettytab, /etc/ttys and /dev entries are as above of course. Dialout ======= SLIP dialout is less easier and I have not yet found a way to automate it entirely (I got Linux's dip and should probably look into expect) as I got my PPP setup running faster :-) Two cases: 1. the adresses are fixed, easy setup. The chat script connects you and after that, you launch slattach and establishe the route properly (your mileage and setup may vary of course). ------------------------------------------------------------ #!/bin/sh # LOCKDIR=/var/spool/lock DEVICE=cua00 PHONE=nnnnnnnn USER=Skeltia PASSWORD=something_secret OUR_IP_ADDR=192.168.0.1 OTHER_IP_ADDR=192.168.0.2 if [ -f $LOCKDIR/LCK..$DEVICE ] then echo "PPP device is locked" exit 1 fi ( if chat -v -l LCK..$DEVICE ABORT "NO CARRIER" ABORT BUSY "" ATZ1 OK ATDT$PHONE CONNECT "" ogin: $USER ssword: \\q$PASSWORD then /sbin/slattach -a -h -s 38400 /dev/$DEVICE /sbin/ifconfig sl0 inet $OUR_IP_ADDR $OTHER_IP_ADDR netmask 255.255.255.0 -trailers /sbin/route add default $OUR_IP_ADDR exit 0 fi ) < /dev/$DEVICE > /dev/$DEVICE ------------------------------------------------------------ 2. your address is not fixed (remember the terminal server Annex I told you before ?). You have to have a way to dial and ask (generally by issuing a special command like "slip" to enable SL/IP on the router. When you have the last digit of your assigned address e.g. 22, you run the following script with 22 as argument: # connect-slip 22 connect-slip ------------------------------------------------------------ #!/bin/sh DEVICE=cua00 # fake class-B address just for show PHONE=nnnnnnnn OUR_IP_ADDR=172.16.0.$1 ANNEX=172.16.0.130 OTHER_NET=172.17 ANNEX_NET=172.16 /sbin/slattach -a -h -s 38400 /dev/$DEVICE /sbin/ifconfig sl0 inet $OUR_IP_ADDR $ANNEX netmask 255.255.255.128 -trailers /sbin/route add default $OUR_IP_ADDR #/sbin/route add -net $OTHER_NET $OUR_IP_ADDR #/sbin/route add -net $ANNEX_NET $OUR_IP_ADDR ------------------------------------------------------------ I generally used cu to connect on the other end (it was when PPP was not available due to changes in sio long ago) and I don't have ready-to-use scripts for that. Jordan, you have some scripts if I remember well ? Dialin: ======= Dialin is easier than dialout. I have an entry in my password file for each of the site. ------------------------------------------------------------ Srenux:*:82:12:renux SLIP:/:/usr/sbin/sliplogin Sgwynedd:*:83:12:gwynedd SLIP:/:/usr/sbin/sliplogin ------------------------------------------------------------ I have in /etc three files (described in the manual of slattach): /etc/slip.hosts which describe each hosts with the netmask, both address and the options (compress, no compress and auto-recognition of compression) ------------------------------------------------------------ Sgwynedd keltia-slip gwynedd-slip 0xffffff00 compress Srenux keltia-slip renux-slip 0xffffff00 autocomp ------------------------------------------------------------ /etc/slip.login which is the script run by sliplogin at log-in ------------------------------------------------------------ #!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 -trailers /sbin/route add $5 $4 exit ------------------------------------------------------------ and of course /etc/slip.logout ------------------------------------------------------------ # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # # slattach /dev/tty02 $2 /sbin/ifconfig sl$1 down /sbin/route delete $5 $4 exit ------------------------------------------------------------ I know my PPP entry is more complete that the SLIP one but I hope it will help people to get their setup running. ------------------------------------------------------------ -- Ollivier ROBERT roberto@hsc.fr.net Hervé Schauer Consultants Ollivier.Robert@keltia.frmug.fr.net PERL / MIME / PGP / 4.4BSD FreeBSD keltia 1.1.5(RELEASE) RELEASE#0 i386