Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

what causes tx underruns on PNIC cards

0 views
Skip to first unread message

Scott Michel

unread,
Jan 7, 2000, 3:00:00 AM1/7/00
to
I've got a NetGear FA-310tx card, which claims to be a 82c169 PNIC.

The problem I'm running into is consistent tx underruns -- I ended up
putting a couple of extra printf's into the code to verify the type
of error I'm seeing (the "factory" code just bumps the output error
count.) Of course, this wreaks real havoc on NFS and productivity in
general.

The tx underrun occurs with various amounts of data queued or ready
to be queued to the card. There is no one set amount of data.

Yes, I know, I could try -current and the "combined" if_dc driver, but
I just don't have the time to do frob -current. The kernel is a 3.4
cvsup-ed from last night.

Anyone else seen this problem?


-scooter

---- reported configuration ----
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.4-STABLE #10: Thu Jan 6 17:25:05 PST 2000
ro...@mordred.cs.ucla.edu:/usr/src/sys/compile/MORDRED
Timecounter "i8254" frequency 1193242 Hz
Timecounter "TSC" frequency 233875263 Hz
CPU: AMD-K6tm w/ multimedia extensions (233.88-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x562 Stepping = 2
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x400<<b10>>
real memory = 67108864 (65536K bytes)
avail memory = 62763008 (61292K bytes)
Preloaded elf kernel "kernel" at 0xc02b9000.
Probing for devices on PCI bus 0:
chip0: <VIA 82C597 (Apollo VP3) system controller> rev 0x01 on pci0.0.0
chip1: <PCI to PCI bridge (vendor=1106 device=8597)> rev 0x00 on pci0.1.0
chip2: <VIA 82C586 PCI-ISA bridge> rev 0x41 on pci0.7.0
uhci0: <VIA 83C572 USB Host Controller> rev 0x02 int d irq 11 on pci0.7.2
chip3: <VIA 82C586B ACPI interface> rev 0x10 on pci0.7.3
ncr0: <ncr 53c875 fast20 wide scsi> rev 0x03 int a irq 9 on pci0.8.0
pn0: <82c169 PNIC 10/100BaseTX> rev 0x20 int a irq 11 on pci0.9.0
pn0: Ethernet address: 00:a0:cc:56:bc:7a
pn0: autoneg complete, link status good (full-duplex, 100Mbps)
Probing for devices on PCI bus 1:
vga0: <VGA-compatible display device> rev 0x04 int a irq 9 on pci1.5.0
Probing for PnP devices:
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color <6 virtual consoles, flags=0x0>
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 irq 12 on isa
psm0: model Generic PS/2 mouse, device ID 0
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 flags 0x10 on isa
sio1: type 16550A
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
usb0: <VIA 83C572 USB Host Controller>
uhub0 at usb0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
IP packet filtering initialized, divert disabled, rule-based forwarding disabled, logging limited to 100 packets/entry by default
Waiting 8 seconds for SCSI devices to settle
da0 at ncr0 bus 0 target 0 lun 0
da0: <QUANTUM VIKING 4.5 NSE 880R> Fixed Direct Access SCSI-2 device
da0: 20.000MB/s transfers (20.000MHz, offset 16), Tagged Queueing Enabled
da0: 4345MB (8899737 512 byte sectors: 255H 63S/T 553C)
cd0 at ncr0 bus 0 target 4 lun 0
cd0: <PIONEER CD-ROM DR-U12X 1.06> Removable CD-ROM SCSI-2 device
cd0: 10.000MB/s transfers (10.000MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Logical unit not ready, manual intervention required

---- kernel config ----
machine "i386"
ident MORDRED
maxusers 32
makeoptions DEBUG="-g"

options PQ_HUGECACHE # color for 1024k/16k cache

#
# This directive defines a number of things:
# - The compiled kernel is to be called `kernel'
# - The root filesystem might be on partition wd0a
# - Crash dumps will be written to wd0b, if possible. Specifying the
# dump device here is not recommended. Use dumpon(8).
#
config kernel root on da0s2a

cpu "I586_CPU" # aka Pentium(tm)

options "CPU_WT_ALLOC"
options "NO_F00F_HACK"
options "COMPAT_43"
options USER_LDT
options SYSVSHM
options SYSVSEM
options SYSVMSG
options "MD5"
options "VM86"
options DDB
options KTRACE
options PERFMON
options UCONSOLE
options USERCONFIG
options VISUAL_USERCONFIG

# This is good for 100Mb Ethernet, makes timing resolution decent:
options HZ=1000

options INET
options "TCP_COMPAT_42" #emulate 4.2BSD TCP bugs
options IPFIREWALL
options IPFIREWALL_VERBOSE
options "IPFIREWALL_VERBOSE_LIMIT=100" #limit verbosity
options "ICMP_BANDLIM"

pseudo-device ether
pseudo-device loop
pseudo-device bpfilter 4
pseudo-device disc

options FFS #Fast filesystem
options MFS #Memory File System
options NFS #Network File System
options NFS_NOSERVER
options "CD9660" #ISO 9660 filesystem
options MSDOSFS #MS DOS File System
options FFS_ROOT #FFS usable as root device
options SOFTUPDATES
options NSWAPDEV=2

# NFS options:
options "NFS_MINATTRTIMO=3" # VREG attrib cache timeout in sec
options "NFS_MAXATTRTIMO=60"
options "NFS_MINDIRATTRTIMO=30" # VDIR attrib cache timeout in sec
options "NFS_MAXDIRATTRTIMO=60"
options "NFS_GATHERDELAY=10" # Default write gather delay (msec)
options "NFS_UIDHASHSIZ=29" # Tune the size of nfssvc_sock with this
options "NFS_WDELAYHASHSIZ=16" # and with this
options "NFS_MUIDHASHSIZ=63" # Tune the size of nfsmount with this

options "P1003_1B"
options "_KPOSIX_PRIORITY_SCHEDULING"
options "_KPOSIX_VERSION=199309L"

controller scbus0 #base SCSI code
device da0 #SCSI direct access devices (aka disks)
device cd0 #SCSI CD-ROMs
device pass0 #CAM passthrough driver

# The previous devices (ch, da, st, cd) are recognized by config.
# config doesn't (and shouldn't) know about these newer ones,
# so we have to specify that they are on a SCSI bus with the "at scbus?"
# clause.

device pt0 at scbus? # SCSI processor type
device sctarg0 at scbus? # SCSI target

options SCSI_DELAY=8000

pseudo-device pty 16
pseudo-device speaker
pseudo-device gzip

options "MSGBUF_SIZE=40960"

controller isa0
controller pnp0

#options "AUTO_EOI_1"
#options "AUTO_EOI_2"

#options "NTIMECOUNTER=20"

controller atkbdc0 at isa? port IO_KBD tty
device atkbd0 at isa? tty irq 1
device psm0 at isa? tty irq 12
device vga0 at isa? port ? conflicts

options VGA_ALT_SEQACCESS
options VESA

pseudo-device splash

device sc0 at isa? tty
options MAXCONS=6 # number of virtual consoles
options SC_HISTORY_SIZE=200 # number of history buffer lines

device npx0 at isa? port IO_NPX iosiz 0x0 flags 0x0 irq 13

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

device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4
device sio1 at isa? port "IO_COM2" tty flags 0x10 irq 3

## Sound:
#device pcm0 at isa? port ? irq 5 drq 3 flags 0x0f

#controller snd0
#device sb0 at isa? port 0x220 irq 5 drq 3
#device sbxvi0 at isa? drq 5
#device sbmidi0 at isa? port 0x330
#device opl0 at isa? port 0x388

controller pci0
controller ncr0
device de0
device pn0

controller ppbus0
device lpt0 at ppbus?
device ppc0 at isa? disable port? tty irq 7

options CLK_CALIBRATION_LOOP
options "CLK_USE_I8254_CALIBRATION"
options CLK_USE_TSC_CALIBRATION
options CLUSTERDEBUG
options NBUF=512
options NMBCLUSTERS=1024
options PANIC_REBOOT_WAIT_TIME=16
options SHOW_BUSYBUFS # List buffers that prevent root unmount

controller uhci0
controller usb0
device ugen0
device ukbd0


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

Dan Yergeau

unread,
Jan 7, 2000, 3:00:00 AM1/7/00
to

>I've got a NetGear FA-310tx card, which claims to be a 82c169 PNIC.

>The problem I'm running into is consistent tx underruns

>The tx underrun occurs with various amounts of data queued or ready


>to be queued to the card. There is no one set amount of data.

>Anyone else seen this problem?

Yep. Same card, same PNIC, same problem.

(http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=1746307+1750654+/usr/local/www/db/text/1999/freebsd-questions/19990801.freebsd-questions)

I gave up and went with a 82C115 (PNIC-II) based Linksys LNE100TX
(v2.0). 'course, that also wasn't perfect. An older version of the
driver had negotiation problems that panic'd the kernel on boot.
Even with the "remove the T4 code" fix, the card experienced FIFO
overlows on "slow" hardware (a P6/200 on a Performance/AU
motherboard). In more current hardware (PIII/500 on a 440BX-based
Tyan motherboard), the Linksys NIC worked flawlessly at 100Mbps FD.

With the time wasted on the problems, it probably would have been
better to buy a 3COM or Intel NIC (though, at the time there were
rumors of problems with the "updated" Intel chipset).


Dan

0 new messages