Nic problems

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Nic problems

L. V. Lammert
Had a NIC fail last Monday at a remote site, after a local storm. We have
had problems with this site before - apparently the building was built on
the 'cheap' and they didn't do a lot of nice electrical stuff like
grounding the structure!

When I got there and looked at the server, I found this type of message at
the start:

Nov 25 16:57:07 Mainserver /bsd: WARNING: mclpool limit reached; increase
kern.m
axclusters
Nov 25 16:57:07 Mainserver /bsd: dc0: no memory for tx list
Nov 25 16:57:07 Mainserver /bsd: dc0: no memory for tx listdc0:

and finally:

Nov 25 16:59:07 Mainserver /bsd: WARNING: mclpool limit reached; increase
kern.maxclusters

[Yeah, I know it's a cheap NIC, but we've been using them for years and had
no problems.]

 > Since swapping the NIC fixed the problem, does it make sense this was a
hardware problem?

 > If so, can anyone recommend a NIC available here in the states that
might be opto-isolated?

        Thanks!

        Lee

DMESG
======
-bash-3.00$ cat dmesg.boot
OpenBSD 3.6 (SITE-Mainserver) #0: Thu Dec  9 10:10:48 CST 2004
     [hidden email]:/usr/src/sys/arch/i386/compile/SITE-Mainserver
cpu0: AMD Athlon(tm) MP 2100+ ("AuthenticAMD" 686-class) 1.75 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE
real mem  = 535666688 (523112K)
avail mem = 481300480 (470020K)
using 4278 buffers containing 26886144 bytes (26256K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 05/07/04, BIOS32 rev. 0 @ 0xf0010
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf47b0/224 (12 entries)
pcibios0: no compatible PCI ICU found: ICU vendor 0x1106 product 0x3227
pcibios0: Warning, unable to fix up PCI interrupt routing
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0xc000 0xcc000/0x4400!
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 vendor "VIA", unknown product 0x269 rev 0x80
pchb1 at pci0 dev 0 function 1 vendor "VIA", unknown product 0x1269 rev 0x00
pchb2 at pci0 dev 0 function 2 vendor "VIA", unknown product 0x2269 rev 0x00
pchb3 at pci0 dev 0 function 3 vendor "VIA", unknown product 0x3269 rev 0x00
pchb4 at pci0 dev 0 function 4 vendor "VIA", unknown product 0x4269 rev 0x00
pchb5 at pci0 dev 0 function 7 vendor "VIA", unknown product 0x7269 rev 0x00
ppb0 at pci0 dev 1 function 0 "VIA VT8377 AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Radeon VE QY" rev 0x00
wsdisplay0 at vga1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
dc0 at pci0 dev 14 function 0 "Davicom DM9102" rev 0x40: irq 3, address
00:08:a1:75:83:74
amphy0 at dc0 phy 1: Am79C873 10/100 media interface, rev. 1
pciide0 at pci0 dev 15 function 0 "VIA VT8237 SATA" rev 0x80: DMA
pciide0: using irq 10 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <ST380013AS>
wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
wd1 at pciide0 channel 1 drive 0: <ST380013AS>
wd1: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
wd1(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 5
pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133,
channel 0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide1 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <ATAPI, DVD DUAL 8X4X12, B3BC> SCSI0 5/cdrom
removable
cd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide1: channel 1 disabled (no drives)
uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: irq 11
usb0 at uhci0: USB revision 1.0
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
uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: irq 3
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: irq 3
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB 2.0" rev 0x86: irq 10
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00
auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: irq 10
ac97: codec id 0x41445368 (Analog Devices <68>)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auvia0
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
biomask ff6d netmask ff6d ttymask ffef
pctr: user-level cycle counter enabled
mtrr: Pentium Pro MTRR support
Kernelized RAIDframe activated
cd0(atapiscsi0:0:0): Check Condition (error 0x70) on opcode 0x0
     SENSE KEY: Not Ready
      ASC/ASCQ: Medium Not Present
raid0 (root): (RAID Level 1) total number of sectors is 143712384 (70172 MB)
dkcsum: wd0 matched BIOS disk 80
dkcsum: wd1 had no matching BIOS disk
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302

Reply | Threaded
Open this post in threaded view
|

Re: Nic problems

Nick Holland
L. V. Lammert wrote:
> Had a NIC fail last Monday at a remote site, after a local storm. We have
> had problems with this site before - apparently the building was built on
> the 'cheap' and they didn't do a lot of nice electrical stuff like
> grounding the structure!

there are other things that can do it, too...
Had a client who was in the electrical business, their building was
pretty well assembled, from all I could see.  However, they were under
the intersection of several big power lines, and they seemed to collect
near-by lightning strikes.

Replaced MANY NICs and hubs in their building on at least two
occassions.  They had all kinds of protection devices on
everything..except the network cables.  Well...running through the
ceiling 50 ft. under a lightning strike picked up enough juice to blow
out NICs.

> When I got there and looked at the server, I found this type of message at
> the start:
>
> Nov 25 16:57:07 Mainserver /bsd: WARNING: mclpool limit reached; increase
> kern.m
> axclusters
> Nov 25 16:57:07 Mainserver /bsd: dc0: no memory for tx list
> Nov 25 16:57:07 Mainserver /bsd: dc0: no memory for tx listdc0:
>
> and finally:
>
> Nov 25 16:59:07 Mainserver /bsd: WARNING: mclpool limit reached; increase
> kern.maxclusters
>
> [Yeah, I know it's a cheap NIC, but we've been using them for years and had
> no problems.]
>
>  > Since swapping the NIC fixed the problem, does it make sense this was a
> hardware problem?

did swapping the NIC fix the probem, or did rebooting the machine fix
the problem?

Sounds more like two separate problems:
  1) Chatty NIC (Davicom chips aren't the greatest of the dc(4)
compatable devices)
  2) kern.maxclusters problem

I think both of these have got better since 3.6.  I'd *highly* suggest
starting with an upgrade.  Hmmm...bit of googling indicates that there
was a big improvement here for 3.6, but I think there was more since
then.  My comments on this are HIGHLY unauthoritative, btw.

>  > If so, can anyone recommend a NIC available here in the states that
> might be opto-isolated?

Even if it could be done (I don't think it could be, practically), it
wouldn't help, as it would just blow out the isolation parts (which will
be soldered on the NIC).

Ethernet NICs are already basically DC isolated through a transformer.
'course, transformers do a good job of passing high voltage, high
frequency spikes, but low frequency and DC is pretty well blocked.

If you want to see how this is done, I think the Realtek website had
some interesting reference designs for the download.  Ok, *I* thought
they were interesting, but then, I consider solder a valid programming
language and debugging tool. :)

Nick.


> DMESG
> ======
> -bash-3.00$ cat dmesg.boot
> OpenBSD 3.6 (SITE-Mainserver) #0: Thu Dec  9 10:10:48 CST 2004
>      [hidden email]:/usr/src/sys/arch/i386/compile/SITE-Mainserver
...
> dc0 at pci0 dev 14 function 0 "Davicom DM9102" rev 0x40: irq 3, address
> 00:08:a1:75:83:74
> amphy0 at dc0 phy 1: Am79C873 10/100 media interface, rev. 1
> pciide0 at pci0 dev 15 function 0 "VIA VT8237 SATA" rev 0x80: DMA
> pciide0: using irq 10 for native-PCI interrupt
...