Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Feb 2001 22:25:38 +0100
From:      Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
To:        Dan Debertin <airboss@bitstream.net>
Cc:        "net@freebsd.org" <net@freebsd.org>, mdodd@freebsd.org, wpaul@freebsd.org
Subject:   Re: buffer problems with ep
Message-ID:  <20010218222538.D67327@daemon.ninth-circle.org>
In-Reply-To: <Pine.GSO.4.21.0102181429240.21137-100000@chicka.bitstream.net>; from airboss@bitstream.net on Sun, Feb 18, 2001 at 02:33:22PM -0600
References:  <20010218182344.B67327@daemon.ninth-circle.org> <Pine.GSO.4.21.0102181429240.21137-100000@chicka.bitstream.net>

next in thread | previous in thread | raw e-mail | index | archive | help
[Bill Paul and Matthew Dodd cc:'d.
 Sorry for this intrusion guys, but I just want you opinions on some of
 the blabbering I exclaim]

-On [20010218 21:37], Dan Debertin (airboss@bitstream.net) wrote:
>On Sun, 18 Feb 2001, Jeroen Ruigrok/Asmodai wrote:
>
>> -On [20010216 16:00], Dan Debertin (airboss@bitstream.net) wrote:
>> >flags=8c43<UP,BROADCAST,RUNNING,OACTIVE,SIMPLEX,MULTICAST> mtu 1500
>> 
>> OK, so it is setting the output active flag and quite possibly never
>> returns from that state.
>
>Quite so.

Matthew Dodd said that NetBSD might've a workaround/solution for this.
His guess was that the hardware wedges for some reason.

>> Hmmm, if you don't do an ifconfig down/up or just up it won't come back,
>> right?  I mean, you can sit it there for days if you want, you have to
>> up it to get it back?
>
>Yes, and have done so. I've left it hung for as long as 2 days; it doesn't
>pick back up until I ifconfig down/up.

During this time the OACTIVE flag stays there all the time?

Which FreeBSD version?

What is the dmesg line for the ep card you have? [grep ep0
/var/run/dmesg.boot]

>Strangely, this only way I can reproduce the problem is by installing
>Solaris patch-clusters on my diskless workstation via NFS. Every other
>network activity, no matter how strenuous, won't trigger it.

Try nmap scans.  I got an ep here too:

ep0: <3Com 3C509-TP EtherLink III> at port 0x300-0x30f irq 10 on isa0

which I can have `hanging' too after I did some nmap scans.  I haven't
checked for the OACTIVE flag yet.  I'll try to reproduce this during the
week.

I have been looking if I could find a solution for the problem.

When you do the ifconfig ep0 up you will trigger the ep_if_init(sc) line
in if_ep.c:

        case SIOCSIFFLAGS:
                if (((ifp->if_flags & IFF_UP) == 0) &&
                    (ifp->if_flags & IFF_RUNNING)) {
                        ifp->if_flags &= ~IFF_RUNNING;
                        epstop(sc);
                } else {
                        /* reinitialize card on any parameter change */
                        ep_if_init(sc);
                }
                break;

Since your card is already in RUNNING and UP status and those bits are
set in the ifp.if_flags.

in ep_if_init() we find:

    ifp->if_flags |= IFF_RUNNING;
    ifp->if_flags &= ~IFF_OACTIVE;      /* just in case */

Which effectively sets RUNNING and clears OACTIVE and then proceeds to
ep_if_start().

I need to look further, but I have had other things to do as well...
Ideas/thoughts welcome.

-- 
Jeroen Ruigrok vd Werven/Asmodai    asmodai@[wxs.nl|bart.nl|freebsd.org]
Documentation nutter/C-rated Coder BSD: Technical excellence at its best  
	  D78D D0AD 244D 1D12 C9CA  7152 035C 1138 546A B867
I'm a child of the air, I'm a witch of the wind...


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010218222538.D67327>