Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Apr 2000 21:44:35 -0600
From:      Chris Wasser <cwasser@v-wave.com>
To:        stable@FreeBSD.ORG
Cc:        questions@FreeBSD.ORG
Subject:   NIC problems under 4.0
Message-ID:  <20000412214435.A2699@area51.v-wave.com>

next in thread | raw e-mail | index | archive | help
This was previously a AMD-K7 machine (4.0-STABLE) but has been moved over
to a Intel based machine for the time being while I get a new motherboard
(the K7 motherboard is shot -- the other K7 box runs like a charm.)

Running 4.0-STABLE from Wednesday, April 12th. There are two Macronix PNIC
II's in the machine, one at 10Mbps/Half-Duplex(dc0) and the other at
100Mbps/Full-Duplex(dc1) (both NICs use the dc? driver). On the 100Base-TX
side of things, during any sort of heavy network load I get:

Apr 12 13:00:45 cmdmicro /kernel: dc1: TX underrun -- increasing TX
threshold
Apr 12 13:29:17 cmdmicro /kernel: dc1: TX underrun -- increasing TX
threshold
Apr 12 17:25:50 cmdmicro /kernel: dc1: TX underrun -- increasing TX
threshold
Apr 12 17:25:50 cmdmicro /kernel: dc1: TX underrun -- using store and
forward mode
Apr 12 17:25:50 cmdmicro /kernel: dc1: TX underrun -- using store and
forward mode

Now from what I was reading on the older archives, these messages aren't
all that big a deal if appearing in sparse amounts, however I have a
3.3-STABLE machine with the same make/model of network cards on the same
machine with no such messages popping up (slower speed processor as
well).

On the 3.3-S machine I'm able to sustain 11MB/s transfer rates to and from
the network (it's switched) with no problems, however the 4.0-S machine
barely breaks 8.0MB/s on the same test. I originally had 3c905C-TX's in
the 4.0 box but they ended up shitting oatmeal under heavy network loads
(no big surprise there)

The 4.0-STABLE machine has only been up a few hours now:

 8:33PM  up  7:43, 3 users, load averages: 0.00, 0.00, 0.00

It should be noted that net.inet.tcp.delayed_ack is at 1 on the 4.0-STABLE
machine and 0 on the 3.3-STABLE (I've recently just set it to 0 to see if
it's made any difference)

Machine specs:
--------------
3.3-STABLE (1999/09/16)
P3-450 / 128MB
1 x LNE100TX v2.0 Macronix PNIC II (mx? driver) @ 10Mbps
1 x LNE100TX v2.0 Macronix PNIC II (mx? driver) @ 100Mbps Full-Duplex

4.0-STABLE (2000/04/12)
P3-550 / 256MB
1 x LNE100TX v2.0 Macronix PNIC II (dc? driver) @ 10Mbps
1 x LNE100TX v2.0 Macronix PNIC II (dc? driver) @ 100Mbps Full-Duplex

100Mbps side of the network is switched (LAN). The "test" was conducted by
xferring a 7GB tarball between the two machines via ftp (see ftp notes
below) Except for processor and ram, these two machines are identical
hardware-wise including BIOS setup/version# (and I do mean identical, all
the hardware except processor and ram are identical make & model right
down to the motherboard revision)

One of the first things I checked was if there was shared PCI irqs, this
is not the case, each device has it's own IRQ. USB is disabled.

* FTP NOTES: tests were conducted with stock ftp client in 4.0-STABLE in
active/PORT mode (not PASSIVE). There seems to be a problem with the stock
ftp client with large file sizes. It reported the 7GB tarball as -11TB
(when I did a ls of the file) and ofcourse messes up the bar graph
display. It also stalls for a second when it reaches the end of the bar
graph, but continues without error. It also doesn't show the correct file
size during transfer (as in total bytes to xfer) but it does xfer the file
properly nevertheless, I tested the tarball afterwards. I checked my own
4.0-STABLE machine at home, the stock ftp client exhibits the same
behavior.

I appriciate _any_ response (good or bad) as I need to get this worked out
as soon as possible (I'd like to replace our 3.3-STABLE machine)

4.0-STABLE information (space-adjusted for word-wrap purposes):

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-STABLE #0: Wed Apr 12 12:38:04 MDT 2000
    root@:/usr/src/sys/compile/DEEPTHOUGHT
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 551252571 Hz
CPU: Pentium III/Pentium III Xeon (551.25-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x673  Stepping = 3
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR
                     ,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,XMM>
real memory  = 268435456 (262144K bytes)
config> q
avail memory = 258334720 (252280K bytes)
Preloaded elf kernel "kernel" at 0xc0296000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc029609c.
VESA: v2.0, 8192k memory, flags:0x1, mode table:0xc0249ba2 (1000022)
VESA: ATI RAGE128
Pentium Pro MTRR support enabled
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: <ATI Rage128-RL graphics accelerator> at 0.0 irq 5
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xf000-0xf00f at device 7.1
on pci0
ata0: at 0x1f0 irq 14 on atapci0
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2
chip1: <Intel 82371AB Power management controller> port 0x5000-0x500f
at device 7.3 on pci0
dc0: <LC82C115 PNIC II 10/100BaseTX> port 0xa400-0xa4ff
mem 0xe5000000-0xe50000ff irq 10 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:32:eb:7c
miibus0: <MII bus> on dc0
dcphy0: <Intel 21143 NWAY media interface> on miibus0
dcphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <LC82C115 PNIC II 10/100BaseTX> port 0xa800-0xa8ff
mem 0xe5001000-0xe50010ff irq 11 at device 15.0 on pci0
dc1: Ethernet address: 00:a0:cc:33:7b:ab
miibus1: <MII bus> on dc1
dcphy1: <Intel 21143 NWAY media interface> on miibus1
dcphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
atapci1: <HighPoint HPT366 ATA66 controller>
port 0xb400-0xb4ff,0xb000-0xb003,0xac00-0xac07 irq 15 at device 19.0 on pci0
ata2: at 0xac00 on atapci1
atapci2: <HighPoint HPT366 ATA66 controller>
port 0xc000-0xc0ff,0xbc00-0xbc03,0xb800-0xb807 irq 15 at device 19.1 on pci0
ata3: at 0xb800 on atapci2
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> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model MouseMan+, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: IEEE1284 device found /NIBBLE/PS2
Probing for PnP devices on ppbus0:
ppbus0: <Fujitsu PrintPartner 10> NPAP,PJL,PCL
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppc1: <Parallel port> at port 0x278-0x27f irq 5 on isa0
ppc1: Generic chipset (NIBBLE-only) in COMPATIBLE mode
lpt1: <Printer> on ppbus1
lpt1: Interrupt-driven port
IP Filter: initialized.  Default = pass all, Logging = enabled
IP Filter: v3.3.8
ad4: 19609MB <QUANTUM FIREBALLP KX20.5> [39842/16/63] at ata2-master
using UDMA66
ad6: 19609MB <QUANTUM FIREBALLP KX20.5> [39842/16/63] at ata3-master
using UDMA66
acd0: CDROM <ASUS CD-S500/A> at ata0-master using UDMA33

ifconfig -a (dc0 ip address blanked out)

dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	inet 24.108.x.x netmask 0xffffff00 broadcast 24.108.89.255
	ether 00:a0:cc:32:eb:7c 
	media: autoselect (10baseT/UTP) status: active
	supported media: autoselect 100baseTX <full-duplex> 100baseTX
        10baseT/UTP <full-duplex> 10baseT/UTP 100baseTX <hw-loopback> none
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
	ether 00:a0:cc:33:7b:ab 
	media: autoselect (100baseTX <full-duplex>) status: active
	supported media: autoselect 100baseTX <full-duplex> 100baseTX
        10baseT/UTP <full-duplex> 10baseT/UTP 100baseTX <hw-loopback> none
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	inet 127.0.0.1 netmask 0xff000000 

netstat -bi (again, formatted, I apologize if it's hard to read, I've
tried to make it easier)

Name Mtu   Network       Address          Ipkts Ierrs    Ibytes
dc0  1500  <Link#1>    00:a0:cc:32:eb:7c  39288     0   4923890
                                          Opkts Oerrs    Obytes   Coll
                                           4767     0    672170    549
Name Mtu   Network       Address          Ipkts Ierrs    Ibytes
dc0  1500  24.108.89/24  cmdmicro         39288     0   4923890
                                          Opkts Oerrs    Obytes   Coll
                                           4767     0    672170    549
Name Mtu   Network       Address          Ipkts Ierrs    Ibytes
dc1  1500  <Link#2>    00:a0:cc:33:7b:ab 180147     0 114224991
                                          Opkts Oerrs    Obytes   Coll
                                         178687     5 165873105      0
Name Mtu   Network       Address          Ipkts Ierrs    Ibytes
dc1  1500  192.168.1     cmdmicro        180147     0 114224991
                                          Opkts Oerrs    Obytes   Coll
                                         178687     5 165873105      0
Name Mtu   Network       Address          Ipkts Ierrs    Ibytes
lo0  16384 <Link#3>                        3217     0    191261
                                          Opkts Oerrs    Obytes   Coll
                                           3217     0    191261      0
Name Mtu   Network       Address          Ipkts Ierrs    Ibytes
lo0  16384 127           cmdmicro          3217     0    191261
                                          Opkts Oerrs    Obytes   Coll
                                           3217     0    191261      0

kernel config:

machine		i386
cpu		I686_CPU
ident		DEEPTHOUGHT	
maxusers	128

options 	INET			#InterNETworking
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	CD9660			#ISO 9660 Filesystem
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	P1003_1B		#Posix P1003_1B real-time extentions
options 	_KPOSIX_PRIORITY_SCHEDULING
options		_KPOSIX_VERSION=199309L
options		ICMP_BANDLIM		#Rate limit bad replies
options		IPFILTER                #ipfilter support
options		IPFILTER_LOG            #ipfilter logging
options		QUOTA
options		SOFTUPDATES
#options		NMBCLUSTERS=16384
#options		PQ_HUGECACHE
options		PANIC_REBOOT_WAIT_TIME=60
options		MD5
options		VESA
options		DDB
options		DDB_UNATTENDED
options		PMAP_SHPGPERPROC=400
options		MAXCONS=16
options		MAXDSIZ=(256*1024*1024)
options		DFLDSIZ=(256*1024*1024)
options 	SYSVSHM			#SYSV-style shared memory
options		SYSVMSG			#SYSV-style message queues
options		SYSVSEM			#SYSV-style semaphores

device		isa
device		pci

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0

# ATA and ATAPI devices
device		ata0	at isa? port IO_WD1 irq 14
device		ata1	at isa? port IO_WD2 irq 15
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
options 	ATA_STATIC_ID		#Static device numbering
options 	ATA_ENABLE_ATAPI_DMA	#Enable DMA on ATAPI devices

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1
device		psm0	at atkbdc? irq 12

device		vga0	at isa?

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa?

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
# device		apm0    at nexus? # Advanced Power Management

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
#device		sio1	at isa? port IO_COM2 irq 3

# Parallel port
device		ppc0	at isa? irq 7
device		ppc1	at isa? irq 5
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer

# PCI Ethernet NICs that use the common MII bus controller code.
device		miibus		# MII bus support
device		dc		# DEC/Intel 21143 and various workalikes

# Pseudo devices - the number indicates how many units to allocated.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	pty		# Pseudo-ttys (telnet etc)

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter

# pc speaker
pseudo-device	speaker


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




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