Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 09 Oct 2005 20:58:20 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        avatar@mmlab.cse.yzu.edu.tw
Cc:        freebsd-current@FreeBSD.org, nork@FreeBSD.org
Subject:   Re: dhclient with if_wi&wep
Message-ID:  <20051009.205820.129710153.imp@bsdimp.com>
In-Reply-To: <0510091447540.81426@www.mmlab.cse.yzu.edu.tw>
References:  <200510081630.j98GU1Sf021682@sakura.ninth-nine.com> <0510091447540.81426@www.mmlab.cse.yzu.edu.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <0510091447540.81426@www.mmlab.cse.yzu.edu.tw>
            Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw> writes:
: On Sun, 9 Oct 2005, Norikatsu Shigemura wrote:
: > 	dhclient with if_wi&WEP will freeze on 7-current.
: >
: > 	I am using following if_wi and WEP.
: [...]
: > Oct  8 22:01:08 pelsia kernel: <wi0: timeout in wi_cmd 0x0002; event status 0x8008
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_cmd 0x0000; event status 0x8008
: > Oct  8 22:01:08 pelsia kernel: wi0: wi_cmd: busy bit won't clear.
: > Oct  8 22:01:08 pelsia kernel: wi0: init failed
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_seek to fc00/0
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_seek to fc81/0
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_seek to fc85/0
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_seek to fc2a/0
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_seek to fc28/0
: > Oct  8 22:01:08 pelsia kernel: wi0: timeout in wi_seek to fc80/0
: > Oct  8 22:01:08 pelsia kernel: wi0: failed to allocate 2372 bytes on NIC
: > Oct  8 22:01:08 pelsia kernel: wi0: tx buffer allocation failed (error 12)
: > Oct  8 22:01:08 pelsia kernel: wi0: interface not running
: [...]
: 
:    Sometimes I run into this whilst running "ifconfig wi0 up" w/o if_wi.ko
: loaded; that is, the "busy bit won't clear, init failed" happens to my
: R40(builtin wi miniPCI) regardless of whether or not the WEP is enabled.
: 
:    It looks to me that the firmware doesn't ack. properly at that moment
: (unfortunately I have no idea about how to fix this); however, the second
: retry("kldunload if_wi" then "ifconfig wi0 up" again) works for me.

ifconfig wi0 down; ifconfig wi0 up causes wi_stop and wi_init to be
called, which does a pretty good job at resetting the card.  It does
everything except a COR reset to the card, which is rarely (but
sometimes) needed to unwedge the card.

Warner




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