recurring network freeze using dc(4) with Netgear FA310TX

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

recurring network freeze using dc(4) with Netgear FA310TX

Gabriel M. Wachman
Hello misc,
I recently installed 3.8 on a system using two FA310TX NICs (dmesg to
follow with more information on the system). Every 2-3 hours, the system
stops responding over the network. It is headless, so I'm not sure if
the whole system is hanging, or just the network. At any rate, the last
few lines of /var/log/messages before the system hangs are:

Nov 18 23:59:37 Ozzie /bsd: dc0: failed to force tx and rx to idle state
Nov 18 23:59:37 Ozzie /bsd: dc1: failed to force tx and rx to idle state
Nov 19 00:30:13 Ozzie /bsd: dc0: failed to force tx and rx to idle state
Nov 19 00:30:13 Ozzie /bsd: dc1: failed to force tx and rx to idle state
Nov 19 00:59:50 Ozzie syslogd: restart

I've read several messages from the past few years on Usenet and the
archives indicating that the "dc0: failed to force tx and rx to idle
state" message is the result of a known, but harmless, bug in dc(4). I
haven't found any documentation of this problem manifesting itself as it
is on this machine, although at this point I can't say for sure that the
problem has anything to do with dc(4), it just seems likely.

I have tried 'ifconfig dc0 down && ifconfig dc0 up` as some previous
messages suggested. I have also tried setting the media type
specifically in hostname.[dc0|dc1] versus using autoselect. Neither of
these actions has had any effect.

Has anyone else had a similar issue? What other steps can I take to
debug this and find out exactly what's happening prior to the network
going down?

Thank you.

dmesg follows (looks like things are about to go down soon...):

OpenBSD 3.8 (GENERIC) #138: Sat Sep 10 15:41:37 MDT 2005
    [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD-K7(tm) Processor ("AuthenticAMD" 686-class, 512KB L2 cache)
599 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,MMX
real mem  = 133734400 (130600K)
avail mem = 115408896 (112704K)
using 1658 buffers containing 6791168 bytes (6632K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 08/20/99, BIOS32 rev. 0 @ 0xfdae0
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf83f0/144 (7 entries)
pcibios0: PCI Interrupt Router at 000:07:0 ("VIA VT82C586 ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0xbc00
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "AMD 751 System" rev 0x23
ppb0 at pci0 dev 1 function 0 "AMD 751 PCI-PCI" rev 0x01
pci1 at ppb0 bus 1
vga1 at pci1 dev 5 function 0 "Nvidia GeForce2 GTS" rev 0xa4
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
dc0 at pci0 dev 4 function 0 "Lite-On PNIC" rev 0x20: irq 10, address
00:a0:cc:56:1d:22
bmtphy0 at dc0 phy 1: BCM5201 10/100 PHY, rev. 2
pcib0 at pci0 dev 7 function 0 "VIA VT82C686 ISA" rev 0x14
pciide0 at pci0 dev 7 function 1 "VIA VT82C571 IDE" rev 0x06: ATA66,
channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <IBM-DPTA-372050>
wd0: 16-sector PIO, LBA, 19574MB, 40088160 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <ATAPI, CD-ROM DRIVE-32X, 322P> SCSI0
5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
uhci0 at pci0 dev 7 function 2 "VIA VT83C572 USB" rev 0x06: irq 9
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
viaenv0 at pci0 dev 7 function 4 "VIA VT82C686 SMBus" rev 0x10
dc1 at pci0 dev 9 function 0 "Lite-On PNIC" rev 0x20: irq 11, address
00:a0:cc:56:1d:20
bmtphy1 at dc1 phy 1: BCM5201 10/100 PHY, rev. 2
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>
spkr0 at pcppi0
sysbeep0 at pcppi0
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
biomask f3ed netmask ffed ttymask ffef
pctr: user-level cycle counter enabled
mtrr: Pentium Pro MTRR support
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
WARNING: / was not properly unmounted
dc0: failed to force tx and rx to idle state
dc0: failed to force tx and rx to idle state
dc1: failed to force tx and rx to idle state
dc1: failed to force tx and rx to idle state


here is the ifconfig output:

# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
        groups: lo
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:a0:cc:56:1d:22
        groups: egress
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet6 fe80::2a0:ccff:fe56:1d22%dc0 prefixlen 64 scopeid 0x1
        inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast 255.255.255.255
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:a0:cc:56:1d:20
        media: Ethernet 100baseTX
        status: active
        inet 192.168.1.254 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::2a0:ccff:fe56:1d20%dc1 prefixlen 64 scopeid 0x2
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33224
pfsync0: flags=0<> mtu 1348
enc0: flags=0<> mtu 1536

Reply | Threaded
Open this post in threaded view
|

Re: recurring network freeze using dc(4) with Netgear FA310TX

Gabriel M. Wachman
Replying to my own message from 20051120.... :

> Hello misc,
> I recently installed 3.8 on a system using two FA310TX NICs (dmesg to
> follow with more information on the system). Every 2-3 hours, the
> system stops responding over the network. It is headless, so I'm not
> sure if the whole system is hanging, or just the network. At any rate,
> the last few lines of /var/log/messages before the system hangs are:
>
> Nov 18 23:59:37 Ozzie /bsd: dc0: failed to force tx and rx to idle state
> Nov 18 23:59:37 Ozzie /bsd: dc1: failed to force tx and rx to idle state
> Nov 19 00:30:13 Ozzie /bsd: dc0: failed to force tx and rx to idle state
> Nov 19 00:30:13 Ozzie /bsd: dc1: failed to force tx and rx to idle state
> Nov 19 00:59:50 Ozzie syslogd: restart
>
> I've read several messages from the past few years on Usenet and the
> archives indicating that the "dc0: failed to force tx and rx to idle
> state" message is the result of a known, but harmless, bug in dc(4). I
> haven't found any documentation of this problem manifesting itself as
> it is on this machine, although at this point I can't say for sure
> that the problem has anything to do with dc(4), it just seems likely.
>
> I have tried 'ifconfig dc0 down && ifconfig dc0 up` as some previous
> messages suggested. I have also tried setting the media type
> specifically in hostname.[dc0|dc1] versus using autoselect. Neither of
> these actions has had any effect.
>
> Has anyone else had a similar issue? What other steps can I take to
> debug this and find out exactly what's happening prior to the network
> going down?
>
> Thank you.
>
> dmesg follows (looks like things are about to go down soon...):
>
<snip>

In the process of trying to figure this out, I wanted to see what was
going over the network right before the system stopped responding, so I
ran tcpdump on the dc1 interface, writing all packets to a file.
Interestingly, the system does not go down when tcpdump is running.
Perhaps setting dc1 into promiscuous mode is the key, but why? Any
thoughts about what else I can do to track down the problem?

Just in case, below is the output from 'pfctl -sr' (dc0 is external if,
dc1 is internal if) :

scrub in on dc0 all fragment reassemble
block drop all
block drop out log on dc0 proto tcp from any to any port = smtp
block drop out log quick on dc0 from ! (dc0:0) to any
block drop in quick on dc0 inet from any to 255.255.255.255
block drop in quick on dc0 inet from 10.0.0.0/8 to any
block drop in quick on dc0 inet from 172.16.0.0/12 to any
block drop in quick on dc0 inet from 192.168.0.0/16 to any
block drop in quick on dc0 inet from 255.255.255.255 to any
pass in on dc1 inet proto tcp from 192.168.1.0/24 to any port != smtp
flags S/SA keep state
pass in on dc1 inet proto udp from 192.168.1.0/24 to any port != 25 keep
state
pass out on dc0 proto tcp from (dc0) to any port != smtp flags S/SA
modulate state
pass out on dc0 proto udp from (dc0) to any port != 25 keep state
pass in on dc0 inet proto tcp from any port = ftp-data to (dc0) user =
71 flagsS/SA keep state
block drop in on dc1 inet proto tcp from any to any port = netbios-ns
block drop in on dc1 inet proto tcp from any to any port = netbios-dgm
block drop in on dc1 inet proto tcp from any to any port = netbios-ssn
block drop in on dc1 inet proto tcp from any to any port = smtp
block drop in on dc1 inet proto udp from any to any port = netbios-ns
block drop in on dc1 inet proto udp from any to any port = netbios-dgm
block drop in on dc1 inet proto udp from any to any port = netbios-ssn

and from `pfctl -sn`:

nat on dc0 inet from 192.168.1.0/24 to ! 192.168.1.0/24 -> (dc0) round-robin
rdr on dc1 inet proto tcp from any to any port = ftp -> 127.0.0.1 port 8021

Thank you.

Reply | Threaded
Open this post in threaded view
|

Re: recurring network freeze using dc(4) with Netgear FA310TX

Gabriel M. Wachman
In reply to this post by Gabriel M. Wachman
Replying to my own message from 20051126:

In case anyone is interested, the problem seems to be related to the APM
settings in the BIOS. Disabling APM altogether seems to have fixed the
problem.