Trouble with 5.1-RELEASE and Broadcom BCM5704C
Bill Paul
wpaul at FreeBSD.ORG
Mon Aug 11 09:56:18 PDT 2003
> Hi,
>
> I have a problem with the Broadcom BCM5704C (Dual Gigabit Ethernet) which
> is used by one of our servers (newsfeeder with 5.1-RELEASE and diablo).
> The interfaces go down frequently if they have traffic (diablo started)
> and I see the following kernel messages:
>
> kernel: bge0: watchdog timeout -- resetting
> kernel: bge1: watchdog timeout -- resetting
[...]
The BCM5704 has a smaller memory buffer space than earlier NICs,
and the bge(4) driver up to 5.1-RELEASE failed to take this into
account. I checked in a fix for this to 5-CURRENT and 4-STABLE
yesterday. You can apply the following workaround on your 5.1-RELEASE
systems to fix this (same workaround will work on 4.8-RELEASE as well):
- Bring up /sys/dev/bge/if_bge.c in your favorite editor.
- Search for the following line of code:
CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_LEN, 0x18000);
It should appear twice in the bge_blockinit() function.
- Change 0x18000 to 0x10000 in both places.
- Recompile your kernel and/or if_bge.ko module.
The fix I made to 4-STABLE and 5-CURRENT does basically the same
thing, but only applies the different value for the 5704 ASIC.
-Bill
--
=============================================================================
-Bill Paul (510) 749-2329 | Senior Engineer, Master of Unix-Fu
wpaul at windriver.com | Wind River Systems
=============================================================================
"If stupidity were a handicap, you'd have the best parking spot."
=============================================================================
More information about the freebsd-net
mailing list