Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Apr 95 17:12:05 -0400
From:      crtb@helix.nih.gov (Chuck Bacon)
To:        bugs@FreeBSD.org
Cc:        crtb@helix.nih.gov
Subject:   pppd on FreeBSD2.0R
Message-ID:  <9504302112.AA11124@helix.nih.gov>

next in thread | raw e-mail | index | archive | help
I've run SLIP absolutely without trouble since installing 2.0R.  Last
week I tried to replace SLIP with PPP.  But I can't keep the connection
up.  The symptom is consistent:  The connection is established, and I
can do rlogin or rsh or telnet, with X up, but after about five
minutes, the system wedges.  Once I got a good symptom:
	-------------
Fatal Trap 12: page fault while in kernel mode
fault virtual address 0xf0550000
fault code: supervisor read, page not present
instruction pointer 0x8: 0xf0138d92	(<--not perfectly sure about 0x8)
process: pppd
Stopped at _pppfcs+0x16 xorb  0(%ebx),%dl
	-------------
Here's pppfcs, in if_ppp.c:
	-------------
/*
 * Calculate a new FCS given the current FCS and the new data.
 */
static u_short
pppfcs(fcs, cp, len)
    register u_short fcs;
    register u_char *cp;
    register int len;
{
    while (len--)
        fcs = PPP_FCS(fcs, *cp++);
    return (fcs);
}
	-------------
Plainly, the xorb appears in the PPP_FCS macro, defined in if_ppp.h:
	-------------
#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
	-------------

Here's the relevant
part of /etc/rc.local:
	-------------
# Added 1/23/95, changed to pppgo 4/21/95 -- wouldn't it be neat if it works!
rm -f /var/spool/uucp/LCK..cua00
/usr/local/bin/pppgo &
	-------------
And here's pppgo:
	-------------
#!/bin/csh
#       pppgo [ -d ]
# Usage as shown to get started
set LOCK = /var/spool/uucp/LCK..cua00
if ( -f $LOCK ) then
  echo "cua00 is locked.  Sorry"
  exit 1
endif
set debug = ''
if ("x$1" == 'x-d') then;
  set debug = echo
  shift
endif
echo Debug is .$debug.
echo '$1' is $1
if (`whoami` != 'root') then
  echo Sorry, you must be root
  exit 1
endif
$debug stty -f /dev/cua00 crtscts hupcl 38400
$debug /usr/sbin/pppd modem crtscts defaultroute connect /usr/local/bin/chat83\
        netmask 0xfffffe00 /dev/cua00 38400
$debug netstat -nr
##  echo Remember to use pppstop when done.
	------------
Finally, here's my config, DAISY (comments not entirely appropriate):
	------------
#
# DAISY -- Generic machine with WD/AHx/NCR/BTx family disks
#
#	DAISY,v 1.20 1994/11/18 19:10:25 jkh Exp
#

machine		"i386"
cpu		"I486_CPU"
ident		DAISY
maxusers	10

options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		NFS			#Network Filesystem
options		MFS			#Memory Filesystem
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3
options		USER_LDT		#Let users write descriptor tables
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG
options		DODUMP
options		DDB
options		KTRACE
options		"SYMTAB_SPACE=90000"
options		UCONSOLE		#X Console support
options		"FAT_CURSOR"		#block cursor in syscons or pccons
options		"SCSI_DELAY=15"		#Be pessimistic about Joe SCSI device
options		"NCONS=8"		#4 virtual consoles

config		kernel	root on wd0 swap on wd0 and wd1 dumps on wd0

controller	isa0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
disk		fd1	at fdc0 drive 1

controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc0 drive 1

controller	aha0	at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
controller	scbus0

device		sd0
device		sd1
device		sd2
device		sd3

device		cd0	#Only need one of these, the code dynamically grows

device		wt0	at isa? port 0x300 bio irq 5 drq 1 vector wtintr

device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr

device		lpt0	at isa? port? tty irq 7 vector lptintr

device		pca0	at isa? tty

## device ed0 at isa? port 0x280 net irq  5 iomem 0xd8000 vector edintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	log
pseudo-device	sl	2
pseudo-device	ppp	2
pseudo-device	pty	16
pseudo-device	speaker
pseudo-device	gzip		# Exec gzipped a.out's
	-------------
I don't know if the above is any use, but I'd be tickled if it sheds
some light.

	Chuck Bacon - crtb@helix.nih.gov
		ABHOR SECRECY	-   DEFEND PRIVACY




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9504302112.AA11124>