Sorry for the delay on this reply; I was going over some old email and
came across this only a week late.

Jonathan Chen wrote:
> 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. ;)

According to the docs, this "Fake IRQ must be 3" is legitimate.  The IRQ
programmed into the resource config register in window 0 _must_ be 3:
"any other value will disable the IRQ line drivers."  (Quoted from the
doc.

> 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 can state pretty categorically that, at least in my case, we're _not_
getting here.

As I said in an earlier email, I'm still having interrupt problems with
the 589 (I have a 3C589D) and the 574BT.  I haven't tracked it down yet,
but I'm hunting.  I do know, at least, that I'm not receiving _any_
interrupts from either card.  So far I don't know why.
-- 
Frank Mayhar [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to