Subject: kern/24902: fxp on i82550 doesn't work on evbarm (at least)
To: None <firstname.lastname@example.org>
From: None <email@example.com>
Date: 03/24/2004 16:10:20
>Synopsis: fxp on i82550 doesn't work on evbarm (at least)
>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 firstname.lastname@example.org:/home/briggs/netbsd/current/clean/src/sys/arch/evbarm/compile/ADI_BRH
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
FXP_CB_COMMAND_XMIT instead of FXP_CB_COMMAND_IPCBXMIT (and not
set FXPF_EXT_RFA | FXPF_IPCB in sc->sc_flags). That's not
pretty, though, because it disables some useful features.