Subject: kern/24902: fxp on i82550 doesn't work on evbarm (at least)
To: None <>
From: None <>
List: netbsd-bugs
Date: 03/24/2004 16:10:20
>Number:         24902
>Category:       kern
>Synopsis:       fxp on i82550 doesn't work on evbarm (at least)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 24 16:11:00 UTC 2004
>Originator:     Allen Briggs
>Release:        NetBSD 1.6ZK (20040324 sources, i82557.c rev. 1.81)
                  Wasabi Systems, Inc.
NetBSD  1.6ZK NetBSD 1.6ZK (ADI_BRH) #0: Wed Mar 24 10:28:47 EST 2004
Architecture: arm
Machine: evbarm
	Use of the extended features on the i82550 (and I'm guessing
	the i82551) is not functioning properly on multiple XScale
	(evbarm) platforms.  I doubt that the failure is limited to
	those, but the driver does work fine with the same PCI card
	in an x86 box running NetBSD 1.6.2.  Looking at 1.6.2., though,
	it appears that the extended features are not enabled there.

	With the driver as-is, the card is properly detected and
	ifconfigs with no errors, but ping from a remote host shows
	erratic behavior.  If I just enable FXPF_EXT_RFA, I see the
	same behavior.  If I don't enable FXPF_EXT_RFA | FXPF_IPCB,
	and use FXP_CB_COMMAND_XMIT, things work fine.
	Put an Intel Pro/100 S (or presumably a newer Pro/100) with
	i82550 (or presumably i82551) into an evbarm and configure
	it up (with or without link0, tcp4csum, udp4csum), and ping
	it from another host.  It will reply erratically.  Sometimes
	batching up a string of replies.  I.e., I've seen up to 40
	seconds pass, after which I get the 40 replies all together.
	One workaround is to not use the more modern features and use
	set FXPF_EXT_RFA | FXPF_IPCB in sc->sc_flags).  That's not
	pretty, though, because it disables some useful features.