Project

General

Profile

Actions

Bug #1171

closed

4) watchdog timeouts after a short time

Added by josepht over 15 years ago. Updated about 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

I upgraded my 2.1-DEVELOPMENT box from 2.1-DEVELOPMENT from several
months ago and my re(4) a RTL8101E card only works for a few seconds
after boot. After which I get watchdog timeouts and am unable to ping
a remote host. I was unable to get any information from tcpdump.
Here is the relevant verbose dmesg output and sysctl output. I have
tried disabling rx/tx csum and vlan{mtu,hwtagging} all to no avail. Let
me know what further info is needed.

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet6 fe80::2a0:d1ff:fe60:25a3%re0 prefixlen 64 scopeid 0x1
inet x.x.x.x netmask 0xffffffc0 broadcast x.x.x.x
ether 00:a0:d1:60:25:a3
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

Joe


Files

re_dmesg_verbose.txt (773 Bytes) re_dmesg_verbose.txt josepht, 12/02/2008 11:03 PM
re_sysctl.txt (90 Bytes) re_sysctl.txt josepht, 12/02/2008 11:03 PM
re.diff (380 Bytes) re.diff sepherosa, 12/03/2008 03:36 AM
Actions #1

Updated by sepherosa over 15 years ago

Does sysctl hw.re0.imtype=0 help?

Best Regards,
sephe

Actions #2

Updated by josepht over 15 years ago

I failed to mention I tried that as well. It did not work.

Thanks,
Joe

Actions #3

Updated by sepherosa over 15 years ago

Try the attached patch.

Best Regards,
sephe

Actions #4

Updated by josepht over 15 years ago

That works. I'm not sure if that needs be removed for all cards to I
made this patch. Also I'm not sure if the 8102 cards need this or
not. Thanks for your help on this.

Joe

diff --git a/sys/dev/netif/re/if_re.c b/sys/dev/netif/re/if_re.c
index 5f29074..3f65cee 100644
--- a/sys/dev/netif/re/if_re.c
++ b/sys/dev/netif/re/if_re.c
@ -2639,8 +2639,11 @ re_init(void *xsc)
pcie_set_max_readrq(sc->re_dev,
PCIEM_DEVCTL_MAX_READRQ_512);
} else {
- pcie_set_max_readrq(sc->re_dev,
- PCIEM_DEVCTL_MAX_READRQ_4096);
if (sc->re_hwrev != RE_HWREV_8101E1 &&
+ sc->re_hwrev != RE_HWREV_8101E2) {
+ pcie_set_max_readrq(sc->re_dev,
+ PCIEM_DEVCTL_MAX_READRQ_4096);
+ }
}
}

Actions #5

Updated by sepherosa over 15 years ago

Thank you for testing. I think we should not set max read request
size on all 10/100 only NICs. Please test following patch:
http://leaf.dragonflybsd.org/~sephe/re.diff

Best Regards,
sephe

Actions #6

Updated by josepht over 15 years ago

That works.

Thanks,
Joe

Actions #7

Updated by sepherosa about 15 years ago

committed:
0fa7d7f4db40050e3665ef7072cde53c2fc32847

Actions

Also available in: Atom PDF