Skip site navigation (1)Skip section navigation (2)
Date:      Sat,  8 Feb 2003 21:46:30 -0800 (PST)
From:      crawford@nob.cs.ucdavis.edu (Rick Crawford)
To:        questions@FreeBSD.org
Subject:   Bug help- HDLC/FCS errors!
Message-ID:  <20030209054630.6F2A455BF@nob.cs.ucdavis.edu>

next in thread | raw e-mail | index | archive | help
Hi, I *desperately* need either a fix for the problem below,
or hardware specs for a new system (under $1,000)
that you can *guarantee* will work properly.
(Yes, I'm so desperate I'm willing to spend big bucks to make this disappear!)

The problem is, I'm getting killed by HDLC errors, e.g:

        ppp[200]: tun0: Phase: deflink: HDLC errors -> FCS: 4,
                                        ADDR: 0, COMD: 0, PROTO: 0

is a typical ppp.log error under FreeBSD 4.5.

Sometimes I can gracefully kill (-TERM) and successfully restart ppp.
But often, I get complete system hang, and must powercycle.
(Every time I search freebsd.org "bug" archives, my
system hangs when I try to read the first matching search item!)

Under Windows98, it just hangs occasionally with no error msgs.
(Hence unclear if that's merely normal Microsoft "quality",
or if the same underlying hardware problem is troubling both OS.)

These errors occur *frequently* with my preferred ISPs --
access4less and SBC/Yahoo, but almost never occurred using Earthlink/Mindspring
(which was slow as molasses, so I had to switch ISPs).

Often (but not always), HDLC errs in ppp.log are preceded by:
	tun0: Warning: Packet too large (4102), discarding.

I'm using standard hardware flow control.

In my ppp.conf ...
I've tried reducing my mru and speed, to no avail:
	set mru max 1500
        set speed 57600
I also tried killing compression, again to no avail:
        disable pred1 deflate
        deny pred1 deflate
(I have a Zoom modem, and ZoomSupport suggested trying the above.)

I'm including below various contents/output to provide context.
(I comment my config file changes with my initials, "RC".)

-rick
	crawford@cs.ucdavis.edu

================================================================================
				uname -a

FreeBSD localhost.my.domain 4.5-RELEASE FreeBSD 4.5-RELEASE #0: Sun Mar 24 15:36:30 PST 2002     me@localhost.my.domain:/usr/src/sys/compile/MYKERNEL  i386

================================================================================
	diff /usr/src/sys/i386/conf/GENERIC /root/kernels/MYKERNEL

19a20,22
> ## RC 3/24/02:  created symlink to this in  /sys/i386/conf
> ## RC:	MYKERNEL adds support for Creative SoundBlaster AudioPCI 64D
>
65a69,71
> 
> ## RC::
> device		pcm

================================================================================
				dmesg

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.5-RELEASE #0: Sun Mar 24 15:36:30 PST 2002
    me@localhost.my.domain:/usr/src/sys/compile/MYKERNEL
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (348.49-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x652  Stepping = 2
  Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 100597760 (98240K bytes)
config> di sn0
config> di lnc0
config> di ie0
config> di fe0
config> di ed0
config> di cs0
config> q
avail memory = 92819456 (90644K bytes)
Preloaded elf kernel "kernel" at 0xc04e3000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc04e309c.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 9 entries at 0xc00f7220
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <NVidia/SGS-Thomson Riva128 graphics accelerator> at 0.0 irq 11
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xffa0-0xffaf at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xef80-0xef9f irq 10 at device 7.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <Intel 82371AB Power management controller> port 0x440-0x44f at device 7.3 on pci0
pcm0: <AudioPCI ES1373-A> port 0xef00-0xef3f irq 9 at device 12.0 on pci0
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xec00-0xec7f mem 0xfebffc00-0xfebffc7f irq 9 at device 14.0 on pci0
xl0: Ethernet address: 00:10:5a:9f:77:d0
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
PnP device failed to report resource data
PnP device failed to report resource data
PnP device failed to report resource data
PnP device failed to report resource data
PnP device failed to report resource data
PnP device failed to report resource data
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ata1-slave: ata_command: timeout waiting for intr
ata1-slave: identify failed
ad0: 6149MB <QUANTUM FIREBALL EX6.4A> [13328/15/63] at ata0-master UDMA33
acd0: CD-RW <PHILIPS CDD3610 CD-R/RW> at ata1-master using PIO3
Mounting root from ufs:/dev/ad0s2a
WARNING: / was not properly dismounted

	# Yeah, that's because I had to powercycle after another HDLC error!!!

================================================================================
		I start user-ppp via (an alias for) the following:

/usr/sbin/ppp -background sbc

================================================================================
			cat /etc/ppp/ppp.conf

#################################################################
# PPP  Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.2.2.5 2001/07/13 10:55:23 brian Exp $
#################################################################

# RC ::  Must *indent* all commands below a given LABEL

default:
	set log Phase Chat Connect LCP IPCP CCP tun command
	ident user-ppp VERSION (built COMPILATIONDATE)

	# Ensure that "device" references the correct serial port
	# for your modem. (cuaa0 = COM1, cuaa1 = COM2)
	#
	set device /dev/cuaa0

	# RC 7/18/02:  hoping to avoid HDLC errors via access4less:
	set mru max 2048
	# set speed 115200	# RC 8/21/02:  slow speed to avoid HDLC Errors?
	set speed 57600

	# RC 12/31/02:  Lines below try to avoid HDLC errors @ SBC:
	#	see	www.geocrawler.com/archives/3/151/2002/1/250/7697127/
	#	RC:	I deleted a trailing "lqr" from both lines above.
	#	RC:	Nope, I still get HDLC errs, though I die slower.
	# disable pred1 deflate
	# deny pred1 deflate


	set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
		\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 60 CONNECT"

	enable dns	# request DNS info (for resolv.conf)
	# Must  'enable dns'  *before*  'add default HISADDR'

	# RC: so user 'me' can invoke user-ppp in any section of this file:
	allow users me
	# RC: never hangup from my side because I'm idle:
	set timeout 0
	# RC: redial (X,Y) up to Y times, with X second pauses:
	set redial 1 8
	# RC: if lost carrier wait X sec; reconnect Y tries:
	set reconnect 1 20

sbc:
	#
	set log Phase Chat Connect LCP IPCP CCP tun command
	# RC: if lost carrier wait X sec; reconnect Y tries:
	set reconnect 1 20
	#set phone "494 0194"
	set phone "494 0185"
	set authname XXXX
	set authkey YYYY

	set login "ABORT NO\\sCARRIER TIMEOUT 10 ogin:--ogin: \\U word: \\P"

	set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
	add default HISADDR			# Add a (sticky) default route
	# DNS:	151.164.1.8		206.13.28.12

access4less:
	#
	# RC: access4less uses PAP (not CHAP?)
	set log HDLC Phase Chat Connect LCP IPCP CCP tun command
	# RC: if lost carrier wait X sec; reconnect Y tries:
	set reconnect 30 20
	set phone "208 2041"
	set authname XXXX
	set authkey YYYY
	set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
		\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
	set login "ABORT NO\\sCARRIER TIMEOUT 10 ogin:--ogin: \\U word: \\P"

	set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
	add default HISADDR			# Add a (sticky) default route

#################################################################

mindspring:
	#
	# RC: Mindspring uses Unix-style LOGIN, not PAP or CHAP:
	set phone "494 0177"
	set authname XXXX
	set authkey YYYY
	# RC:  Always failed -- /var/log/ppp.log showing "Expect timeout",
	#      until I changed last TIMEOUT in dial string from 20 to 40:
	set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
		\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
	#
	#  login script expects "ogin:".  If you don't receive that,
	#  send a "\n" and expect "ogin:" again.  When it's received,
	#  send \\U (== authname), expect "word:" then send \\P (== authkey):
	set login "ABORT NO\\sCARRIER TIMEOUT 5 ogin:--ogin: \\U word: \\P"
	set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
	# Add a (sticky) default route;
	#	route all traffic to outside world thru PPP:
	add default HISADDR

================================================================================
				netstat -rn
				#	*before* starting ppp
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
127.0.0.1          127.0.0.1          UH          1        6    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     fe80::1%lo0                   Uc          lo0
fe80::1%lo0                       link#6                        UHL         lo0
ff01::/32                         ::1                           U           lo0
ff02::%lo0/32                     ::1                           UC          lo0

================================================================================
				netstat -rn
				#	*after* ppp is running
				#	but before any fatal HDLC error
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            209.247.23.162     UGSc        8        7   tun0
127.0.0.1          127.0.0.1          UH          1        6    lo0
209.247.23.162     65.56.41.169       UH          2        0   tun0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     fe80::1%lo0                   Uc          lo0
fe80::1%lo0                       link#6                        UHL         lo0
fe80::%tun0/64                    fe80::210:5aff:fe9f:77d0%tun0 Uc         tun0
fe80::210:5aff:fe9f:77d0%tun0     link#7                        UHL         lo0
ff01::/32                         ::1                           U           lo0
ff02::%lo0/32                     ::1                           UC          lo0
ff02::%tun0/32                    fe80::210:5aff:fe9f:77d0%tun0 UC         tun0

================================================================================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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