Subject: Modem performance on 1.5_Alpha
To: None <current-users@netbsd.org>
From: David Forbes <david@flossy.u-net.com>
List: current-users
Date: 08/12/2000 11:10:59
Since upgrading to 1.5_Alpha, my modem performance has become appalling.

To be specific, I've got a 56k USR Sportster external attached to tty00 on
a ChalTech CATS box (this is /arm32, but I don't know whether it's and
arm32 problem or a more general one).  Previously, I've had smooth
operation with the line 

tty00 57600

in the ppp config file.  However, now I find that this generates lots of
silo overflows to the extent that just about any TCP connection doesn't
get past the first couple of bytes.  I've reduced this back to

tty00 38400

but still I'm getting plenty of 

Aug 12 10:39:55 crowley /netbsd: com0: 13 silo overflows, 0 ibuf floods

and connections stop and start in a fairly haphazard manner.

Unfortunately, I was previously running 1.4 on this and have not been
following -current on this machine, so I don't know at what point this
began to be a problem.

Anyone got any ideas as to what has caused this or where I might start
looking for a solution?

Thanks,

David.

PS - My new kernel config is:

#	$NetBSD: CATS,v 1.35 2000/06/14 22:02:20 veego Exp $
#
#	CATS -- CHALTECH CATS Development kernel
#

include	"arch/arm32/conf/std.arm32"

# estimated number of users

maxusers	32

# Standard system options

options 	UCONSOLE	# users can use TIOCCONS (for xconsole)
options 	INSECURE	# disable kernel securelevel

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
#options 	NTP		# NTP phase/frequency locked loop

# CPU options

# For standard RiscPC's
#options 	CPU_SA110	# Support the SA110 core
#options 	CPU_ARM6	# Support the ARM6 core
#options 	CPU_ARM7	# Support the ARM7 core
#options 	CPU_ARM8	# Support the ARM8 core
#options 	ARM6_LATE_ABORT	# ARM6XX late abort support

# For A7000, Stork and other ARM7500 machines
#options 	CPU_ARM7	# Support the ARM7 core
#options 	CPU_ARM7500	# We are actually an ARM7500

# For StrongARM systems
options 	CPU_SA110	# Support the SA110 core

# Architecture options
#options 	IOMD		# We have an IOMD
#options 	RISCPC		# We are a RiscPC
#options 	RC7500		# We are a RC7500
options 	FOOTBRIDGE	# We have DC21285 'Footbridge' core logic
options 	EBSA285		# We are an EBSA285

# FPA options

#options 	ARMFPE		# ARM Ltd FPE

# File systems

file-system	FFS		# UFS
#file-system	LFS		# log-structured file system
#file-system	MFS		# memory file system
file-system	NFS		# Network file system
#file-system 	ADOSFS		# AmigaDOS-compatible file system
#file-system 	EXT2FS		# second extended file system (linux)
file-system	CD9660		# ISO 9660 + Rock Ridge file system
file-system	MSDOSFS		# MS-DOS file system
#file-system	FDESC		# /dev/fd
file-system	KERNFS		# /kern
#file-system	NULLFS		# loopback file system
#file-system 	OVERLAY		# overlay filesystem
#file-system	PORTAL		# portal filesystem (still experimental)
file-system	PROCFS		# /proc
#file-system	UMAPFS		# NULLFS + uid and gid remapping
#file-system	UNION		# union file system
#file-system	CODA		# Coda File System; also needs vcode (below)

# File system options
#options 	QUOTA		# UFS quotas
#options 	FFS_EI		# FFS Endian Independant support
options 	NFSSERVER
#options 	SOFTDEP         # FFS soft updates support

# Networking options

options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
#options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_ESP	# IP security (encryption part; define w/ IPSEC)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	NS		# XNS
#options 	NSIP		# XNS tunneling over IP
#options 	ISO,TPIP	# OSI
#options 	EON		# OSI tunneling over IP
#options 	CCITT,LLC,HDLC	# X.25
#options 	NETATALK	# AppleTalk networking
options 	PFIL_HOOKS	# pfil(9) packet filter hooks
options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
options 	PPP_DEFLATE	# Deflate compression support for PPP
options 	PPP_FILTER	# Active filter support for PPP (requires bpf)

#options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP
#options 	NFS_BOOT_BOOTPARAM

# Compatibility options

#options 	COMPAT_43	# 4.3BSD compatibility.
options 	COMPAT_14	# NetBSD 1.4 compatibility.
options 	COMPAT_13	# NetBSD 1.3 compatibility.
#options 	COMPAT_12	# NetBSD 1.2 compatibility.
#options 	COMPAT_11	# NetBSD 1.1 compatibility.
#options 	COMPAT_10	# NetBSD 1.0 compatibility.
#options 	COMPAT_09	# NetBSD 0.9 compatibility.
#options 	TCP_COMPAT_42   # TCP bug compatibility with 4.2BSD

# Shared memory options

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing
#options 	SHMMAXPGS=1024	# 1024 pages is the default

# Device options

#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
#options 	MEMORY_DISK_SIZE=0	# Size in blocks
#options 	MINIROOTSIZE=3400	# Size in blocks
#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root

# Miscellaneous kernel options
options 	KTRACE		# system call tracing, a la ktrace(1)
options 	IRQSTATS	# manage IRQ statistics
#options 	LKM		# loadable kernel modules
#options 	KMEMSTATS	# kernel memory statistics
#options 	SCSIVERBOSE	# Verbose SCSI errors
options 	PCIVERBOSE	# Verbose PCI descriptions
#options 	MIIVERBOSE	# verbose PHY autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
#options 	USBVERBOSE	# verbose USB device autoconfig messages
options 	DDB_KEYCODE=0x40
options		PMAP_STATIC_L1S=128

# wscons options
#options 	WSEMUL_SUN		# sun terminal emulation
options 	WSEMUL_VT100		# VT100 / VT220 emulation
# different kernel output - see dev/wscons/wsdisplayvar.h
options 	WS_KERNEL_FG=WSCOL_MAGENTA
options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# VT handling
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
# see dev/wscons/wskbdmap_mfii.h for implemented layouts
#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
options 	PCKBD_LAYOUT="KB_UK"

# Development and Debugging options

#options 	ARM700BUGTRACK	# track the ARM700 swi bug
#options 	PORTMASTER	# Enable PortMaster only options
#options 	DIAGNOSTIC	# internally consistency checks
#options  	PMAP_DEBUG	# Enable pmap_debug_level code
#options 	IPKDB		# remote kernel debugging
options 	DDB		# in-kernel debugger
options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
#makeoptions	DEBUG="-g"	# compile full symbol table

config		netbsd	root on ? type ?

# The main bus device
mainbus0 at root

# The boot cpu
cpu0 at mainbus?

# Core logic
footbridge0	at mainbus?

# footbridge uart
fcom0	at footbridge?

# system clock via footbridge
#clock*	at footbridge?

# time-of-day device via footbridge or RTC
todclock0	at todservice?

# PCI bus support
# PCI bus via footbridge
pci0	at footbridge?			# PCI bus

#pci*	at ppb? bus ?

# PCI bridges
#ppb*	at pci? dev ? function ?	# PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
#puc*	at pci? dev ? function ?	# PCI "universal" comm. cards

# PCI serial interfaces
#com*	at puc? port ?			# 16x50s on "universal" comm boards
#cy*	at pci? dev ? function ?	# Cyclades Cyclom-Y serial boards

# PCI parallel printer interfaces
#lpt*	at puc? port ?			# || ports on "universal" comm boards

# PCI SCSI Controllers and Buses
#adv*	at pci? dev ? function ?	# AdvanSys 1200[A,B], ULTRA SCSI
#scsibus* at adv?
#adw*	at pci? dev ? function ?	# AdvanSys 9xxUW SCSI
#scsibus* at adw?
#ahc*	at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI controllers
#scsibus* at ahc?
#bha*	at pci? dev ? function ?	# BusLogic 9xx SCSI
#scsibus* at bha?
#isp*	at pci? dev ? function ?	# Qlogic ISP 10x0 SCSI controllers
#scsibus* at isp?
#pcscp*	at pci? dev ? function ?	# AMD 53c974 PCscsi-PCI SCSI
#scsibus* at pcscp?
#siop*	at pci? dev ? function ?	# NCR 53c8xx SCSI
#scsibus* at siop?

# SCSI devices
#sd*	at scsibus? target ? lun ?	# SCSI disk drives
#st*	at scsibus? target ? lun ?	# SCSI tape drives
#cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
#ch*	at scsibus? target ? lun ?	# SCSI auto-changers
#uk*	at scsibus? target ? lun ?	# SCSI unknown device
#ss*	at scsibus? target ? lun ?	# SCSI scanner

# PCI IDE Controllers and Devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide* at pci? dev ? function ? flags 0x0000

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*	at pciide? channel ? drive ? flags 0x0000	# the drives themselves

# ATAPI bus support
atapibus* at pciide? channel ?

# ATAPI devices
cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown

# PCI network interfaces
de*	at pci? dev ? function ?	# DC21X4X-based ethernet cards
#en*	at pci? dev ? function ?	# ENI/Adaptec ATM
#ep*	at pci? dev ? function ?	# 3C590 ethernet cards
#ex*	at pci? dev ? function ?	# 3Com 90x[B]
#epic*	at pci? dev ? function ?	# SMC EPIC/100 Ethernet
#esh*	at pci? dev ? function ?	# Essential HIPPI card
#fpa*	at pci? dev ? function ?	# DEC DEFPA FDDI
#fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
#le*	at pci? dev ? function ?	# PCnet-PCI Ethernet
#ne*	at pci? dev ? function ?	# NE2000 compat ethernet
#ntwoc*	at pci? dev ? function ?	# Riscom/N2 PCI Sync Serial
#sip*	at pci? dev ? function ?	# SiS 900 Ethernet
#tl*	at pci? dev ? function ?	# ThunderLAN-based Ethernet
#tlp*	at pci? dev ? function ?	# DECchip 21x4x (and clones) Ethernet
#options 	TLP_MATCH_21040
#options 	TLP_MATCH_21041
#options 	TLP_MATCH_21140
#options 	TLP_MATCH_21142
#vr*	at pci? dev ? function ?	# VIA Rhine Fast Ethernet
#lmc*	at pci? dev ? function ?	# Lan Media Corp SSI/HSSI/DS3
#rtk*	at pci? dev ? function ?	# Realtek 8129/8139

# MII/PHY support
#exphy*	at mii? phy ?			# 3Com internal PHYs
#icsphy* at mii? phy ?			# Integrated Circuit Systems ICS1890
#inphy*	at mii? phy ?			# Intel 82555 PHYs
#iophy*	at mii? phy ?			# Intel 82553 PHYs
#lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
#nsphy*	at mii? phy ?			# NS83840 PHYs
#nsphyter* at mii? phy ?		# NS83843 PHYs
#qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
#sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
#tlphy*	at mii? phy ?			# ThunderLAN PHYs
#tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
#ukphy*	at mii? phy ?			# generic unknown PHYs

# USB Controller and Devices

# PCI USB controllers
#uhci*	at pci?				# Universal Host Controller (Intel)
#ohci*	at pci?				# Open Host Controller

# USB bus support
#usb*	at uhci?
#usb*	at ohci?

# USB Hubs
#uhub*	at usb?
#uhub*	at uhub? port ? configuration ? interface ?

# USB Mice
#ums*	at uhub? port ? configuration ? interface ?
#wsmouse*	at ums?

# USB Keyboards
#ukbd*	at uhub? port ? configuration ? interface ?
#wskbd*	at ukbd? console ?

# USB Generic HID devices
#uhid*	at uhub? port ? configuration ? interface ?

# USB Printer
#ulpt*	at uhub? port ? configuration ? interface ?

# USB Modem
#umodem*	at uhub? port ? configuration ?
#ucom*	at umodem?

# USB Mass Storage
#umass*	at uhub? port ? configuration ? interface ?
#atapibus* at umass? channel ?
#scsibus* at umass? channel ?

# USB audio
#uaudio*	at uhub? port ? configuration ?
#audio*	at uaudio?

# USB Ethernet adapters
#aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
#cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
#kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters

# USB Generic driver
#ugen* at uhub? port ?

# Audio Devices

# PCI audio devices
#eap*	at pci? dev ? function ?	# Ensoniq AudioPCI
#sv*	at pci? dev ? function ?	# S3 SonicVibes

# Audio support
#audio*	at eap?
#audio*	at sv?

vga*		at pci?
wsdisplay*	at vga? console ?

# ISA bus bridging

pcib*	at pci? dev ? function ?	# PCI-ISA bridge
isa*	at pcib?			# ISA bus

# ISA Plug-and-Play bus support
isapnp0	at isa?

# wscons
pckbc0	at isa?			# pc keyboard controller
pckbd*	at pckbc?		# PC keyboard
pms*		at pckbc?		# PS/2 mouse for wsmouse
pmsi*		at pckbc?	# PS/2 "Intelli"mouse for wsmouse
wskbd*		at pckbd? console ?
wsmouse*	at pms?
wsmouse*	at pmsi?

pcppi0	at isa?
sysbeep0	at pcppi?

# ISA Plug-and-Play serial interfaces
#com*	at isapnp?			# Modems and serial boards

# ISA serial interfaces
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3
#com2	at isa? port 0x3e8 irq 9
#com3	at isa? port 0x2e8 irq 10

# ISA parallel printer interfaces
lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
#lpt1	at isa? port 0x278 irq 5
#lpt2	at isa? port 0x3bc

# ISA floppy
#fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
#fdc1	at isa? port 0x370 irq ? drq ?
#fd*	at fdc? drive ?			# the drives themselves

# ISA network interface
#ne0	at isa? port 0x280 irq 9
#ne1	at isa? port 0x300 irq 10

# The spkr driver provides a simple tone interface to the built in speaker.
spkr0	at pcppi?			# PC speaker

dsrtc0	at isa? port 0x72		# Dallas RTC

# ISA Plug-and-Play audio devices
#ess*	at isapnp?			# ESS Tech ES1887, ES1888, ES888 audio
#sb*	at isapnp?			# SoundBlaster-compatible audio
#wss*	at isapnp?			# Windows Sound System

# OPL[23] FM syntheziers
#opl*	at ess?
#opl*	at sb?

# Audio support
#audio*	at ess?
#audio*	at sb?
#audio*	at wss?

# MPU 401 UARTs
#mpu*	at sb?

# MIDI support
#midi*	at pcppi?		# MIDI interface to the PC speaker
#midi*	at sb?			# SB MPU401 port
#midi*	at opl?			# OPL FM synth
#midi*	at mpu?			# MPU 401

# Joysticks

# ISA Plug-and-Play joysticks
#joy*	at isapnp?			# Game ports (usually on audio cards)

# ISA joysticks. Probe is a little strange; add only if you have one.
#joy0	at isa? port 0x201

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device	ccd		2	# concatenated/striped disk devices
#pseudo-device	md		1	# memory disk device (ramdisk)
pseudo-device	vnd		4	# disk-like interface to files

# network pseudo-devices
pseudo-device	bpfilter	4	# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
pseudo-device	ppp		2	# Point-to-Point Protocol
#pseudo-device	sl		2	# Serial Line IP
#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
pseudo-device	tun		2	# network tunneling over tty

# miscellaneous pseudo-devices
pseudo-device	pty		64	# pseudo-terminals
#pseudo-device	tb		1	# tablet line discipline
#pseudo-device	sequencer	1	# MIDI sequencer
pseudo-device	rnd			# /dev/random and in-kernel generator
#options 	RND_COM			# use "com" randomness as well (BROKEN)
#pseudo-device	vcoda		4	# coda minicache <-> venus comm.

# mouse & keyboard multiplexor pseudo-devices
pseudo-device	wsmux		2

# for IPv6
#pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f