Subject: Re: wi0: recap
To: None <current-users@netbsd.org, port-i386@netbsd.org>
From: Peter Seebach <seebs@plethora.net>
List: current-users
Date: 12/27/2000 14:19:58
In message <200012270030.eBR0Um300798@syn.hamachi.org>, Bill Sommerfeld writes:
>Of course, the correct thing is to figure out why the device is
>failing to accept the command and unbusy; however, there is a bandaid
>for underdocumented and/or buggy network hardware. Simply add a
>watchdog timer: if the hardware is handed a packet to transmit and
>fails to interrupt within a given time interval, hit it with a
>metaphoric 2x4 to reset it.

Actually, I can do better than that... except that I can't figure out
exactly which hooks in the driver duplicate the effect of
	ifconfig wi0 down; ifconfig wi0 up

But I would think the right thing to do would be to reset the card as
soon as a command times out... it's *always* a card failure, so far as I
can tell.

>Could be that the card's internal firmware crashed.

I have support for this; Intersil told me that I may need newer firmware
to use ad-hoc mode.

>If all else fails, you could have the driver reset the card in this
>case (doing a pcmcia_function_disable() followed by a
>pcmcia_function_enable() to cycle the power to the card, following by
>reinitializing the card).

I tried to do this, but screwed it up in some way.  I may try again
later.

-s