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>