Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Aug 1998 20:04:45 -0400 (EDT)
From:      Mike Andrews <mandrews@termfrost.org>
To:        freebsd-hardware@FreeBSD.ORG
Subject:   DEC Tulip sluggishness on a 486
Message-ID:  <Pine.BSF.4.02.9808151922030.9468-100000@mindcrime.termfrost.org>

next in thread | raw e-mail | index | archive | help
Here's a weird one...

I've been using an old 386SX for a few years to route my home network,
using two SMC Ultras and a full-length Wavelan with no problems.  Today I
decided to add 100baseTX to the mix, so I pulled out an old 486 PCI board
(SiS 85c496 + 85c497 chipset), pulled all the guts out of the 386SX, added
a DEC Tulip 21140-AB card and fired it up.

I'm getting really *horrible* performance out of this.  Pinging between
machines on the same segment sometimes gives over 1000 ms ping times, 30%
packet loss, and sometimes doesn't talk at all -- ifconfig shows the
OACTIVE flag set, and it usually takes a few tries of "ifconfig de0 down;
ifconfig de0 up" to wake it up.  Sometimes plugging/unplugging the cable
helps too.

The two other machines on this segment can talk to each other fine --
they're both P200MMX's, Triton 2 motherboards (Asus P55T2P4), one with the
same version of FreeBSD and one with Windows 98.  File transfers, flood
pings, etc are fine between those two.  Cables have been swapped.  The
other two machines also have Tulip cards (21140-AB in the FreeBSD box,
21140-AF in the Win98 box).

I did some searches and came up with nothing specific, but a few bits and
pieces... which are leading me to believe that it's some sort of
interaction with the SiS chipset on the 486 board and the Tulip driver --
the source to the Linux Tulip driver has a special case for 486 boards.
Also the first rev of the SiS 85c496 chipset were said to have
cache-related problems (I've tried disabling L1 and L2 cache; didn't
help).

So...

Is there anything I can tweak (i.e. adding kernel options, BIOS settings,
or whatever)... short of using another motherboard, or (more likely) just
getting an Intel Etherexpress?

Also...  an even weirder problem:

I have another 486 board I would try, except with both PCI and VLB slots
and a UMC 8881F/8886F chipset.  When I plug the WaveLAN into it, the RAM
and floppy tests fail, and FreeBSD panics as soon as init comes up.  Remove
the WaveLAN and the machine boots fine.  I may try running this board with
the Tulip and without the WaveLAN and see if the Tulip is still unhappy...
just for grins.  But the WaveLAN problem with it puzzles me.


Full dmesg of the SiS 486 follows:


FreeBSD 2.2.7-STABLE #0: Sun Jul 26 00:22:33 EDT 1998
    mandrews@mindcrime.termfrost.org:/usr/src/sys/compile/ESCAPE
CPU: AMD Enhanced Am486DX4 Write-Back (486-class CPU)
  Origin = "AuthenticAMD"  Id = 0x494  Stepping=4
  Features=0x1<FPU>
real memory  = 33554432 (32768K bytes)
avail memory = 31154176 (30424K bytes)
Probing for devices on PCI bus 0:
chip0 <SiS 85c496> rev 49 on pci0:5:0
de0 <Digital 21140 Fast Ethernet> rev 18 int a irq 9 on pci0:11:0
de0: 21140 [10-100Mb/s] pass 1.2
de0: address 00:40:f6:84:00:8d
vga0 <VGA-compatible display device> rev 20 int a irq 12 on pci0:13:0
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <2 virtual consoles, flags=0x0>
ed0 at 0x280-0x29f irq 5 maddr 0xd8000 msize 16384 on isa
ed0: address 00:00:c0:74:ab:9f, type SMC8216T (16 bit)
ed1 at 0x300-0x31f irq 10 maddr 0xd0000 msize 16384 on isa
ed1: address 00:00:c0:71:ab:9f, type SMC8216T (16 bit)
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <Kalok KL-3120>
wd0: 114MB (235440 sectors), 981 cyls, 6 heads, 40 S/T, 512 B/S
wl0 at 0x390-0x39f irq 11 on isa
wl0: address 08:00:0e:21:14:ba, NWID 0x1000
npx0 flags 0x1 on motherboard
npx0: INT 16 interface
IP packet filtering initialized, divert disabled, default to accept, unlimited logging
de0: enabling 100baseTX port
wd0: interrupt timeout:
wd0: status 50<rdy,seekdone> error 0
de0: link down: cable problem?
de0: abnormal interrupt: transmit underflow (raising TX threshold to 96|256)
de0: abnormal interrupt: transmit underflow (raising TX threshold to 8|512)
de0: abnormal interrupt: transmit underflow (raising TX threshold to 1024)

(I'm assuming the wd0 error is due to the fact that the drive is *very*
ancient... although it didn't give that error on the 386...)


Mike Andrews (MA12) icq 6602506  --------------  mandrews@dcr.net
Senior Systems/Network Administrator  ---  mandrews@termfrost.org
Digital Crescent, Frankfort, KY  -----  http://www.termfrost.org/
"If Barbie is so popular, why do you have to buy her friends?..."


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.02.9808151922030.9468-100000>