Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Jan 2000 01:02:40 -0500
From:      Jonathan Chen <jon@spock.org>
To:        Warner Losh <imp@village.org>
Cc:        Greg Lehey <grog@lemis.com>, current@FreeBSD.ORG
Subject:   Re: 3C589 problems (was: 4.0 code freeze scheduled for Jan 15th)
Message-ID:  <A7D0177343GZ7J8374.A1728B0F840@msidl.d0.localhost>
In-Reply-To: <200001100426.VAA03237@harmony.village.org>; from imp@village.org on Sun, Jan 09, 2000 at 09:26:45PM -0700
References:  <20000109163314.A515@mojave.worldwide.lemis.com> <200001071246.XAA05593@avalon.reed.wattle.id.au> <200001072052.MAA01482@mass.cdrom.com> <200001062246.PAA80310@harmony.village.org> <200001071246.XAA05593@avalon.reed.wattle.id.au> <20000109163314.A515@mojave.worldwide.lemis.com> <200001100426.VAA03237@harmony.village.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 09, 2000 at 09:26:45PM -0700, Warner Losh wrote:
> [[ Moved to just current ]]
> 
> In message <20000109163314.A515@mojave.worldwide.lemis.com> Greg Lehey writes:
> : That may be the answer for Darren's problem.  It's definitely not the
> : case for the ones we have been discussing on -mobile.
> 
> There are definitely known issues with the ep0 driver.  Right now it
> doesn't interrupt quite right on Rx packets.  That's the majority of
> the problems in current driver, at least with the 3c589D that I have.
> I see only about 150kBps from the card.  I've not had time to deal
> with looking for this problem.

With what little pccard/ethernet programming experiences I've had, this
problem seems to be caused by the interrupt for the card getting lost
somewhere before getting processed by the handler.  The reason you still
get traffic is because of the watchdog.  (Try uncommenting the commented
out lines in sys/dev/ep/if_ep.c in the function ep_if_watchdog(), you
should start seeing lots of kernel messages saying "ep: watchdog".) After
looking briefly at the ep files, I saw something that doesn't seem right.  
In sys/dev/ep/if_ep_pccard.c around line 176, there's a comment that says
"Fake IRQ must be 3".  Now maybe the card requires it, or maybe the
original author just didn't have anything on IRQ 3, I don't know.  So, I'd
suggest turning off com2 or whatever you have on irq3, -or- change the
"fake irq" to something else you do have free on the next line (ie, 
0x3000-> 0xa000 if you have IRQ10 free).  If this works, great... if not, I
hope Warner gets some more free time. ;)

As for the other problem with collisions, I did a search on the word
collision on sys/dev/ep/if_ep.c, and found only one mention at around line
620.  The comment says "TXS_MAX_COLLISION - we shouldn't get here".  I
suspect it does get there, so I suggest putting a printf there to find out.
I also suspect that the card may require a reset or some other stuff if and
when it "gets there".  If that's the case, someone else with the specs on
the 589 cards can look that up and do it.

(I'll have to admit, I looked only briefly, and know virtually nothing
about how the pccard stuff works on freebsd, have no ep card, nor ever
looked at the documentation for it, so what just said may be completely
wrong -- don't be surprised if it doesn't work.)

-- 
    (o_ 1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2 _o)
 \\\_\            Jonathan Chen              jon@spock.org           /_///
 <____) The surest protection against temptation is cowardice. --MT (____>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


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




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