From owner-freebsd-net@FreeBSD.ORG Sat Jan 10 06:11:14 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4642C16A4CE; Sat, 10 Jan 2004 06:11:14 -0800 (PST) Received: from xaqua.tel.fer.hr (xaqua.tel.fer.hr [161.53.19.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id D8FEC43D2D; Sat, 10 Jan 2004 06:11:11 -0800 (PST) (envelope-from zec@tel.fer.hr) Received: by xaqua.tel.fer.hr (Postfix, from userid 20006) id AC95C9B64A; Sat, 10 Jan 2004 15:11:09 +0100 (CET) Received: from marko-tp.zavod.tel.fer.hr (marko-tp.zavod.tel.fer.hr [161.53.19.14]) by xaqua.tel.fer.hr (Postfix) with ESMTP id BC9C19B647; Sat, 10 Jan 2004 15:11:05 +0100 (CET) From: Marko Zec To: Lorenzo Vicisano , freebsd-mobile@freebsd.org Date: Sat, 10 Jan 2004 15:11:04 +0100 User-Agent: KMail/1.5.4 References: <20040109184349.A12711@cisco.com> In-Reply-To: <20040109184349.A12711@cisco.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_4fAAAunGWPP68/U" Message-Id: <200401101511.04672.zec@tel.fer.hr> X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on xaqua.tel.fer.hr X-Spam-Level: X-Spam-Status: No, hits=-0.5 required=5.0 tests=AWL autolearn=no version=2.61 X-Sanitizer: Advosys mail filter cc: freebsd-net@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jan 2004 14:11:14 -0000 --Boundary-00=_4fAAAunGWPP68/U Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi Lorenzo, can you try the attached patch, it does seem to help on my ThinkPad X30, which has an internal mini-PCI Prism2.5 card with the same firmware. Cheers, Marko On Saturday 10 January 2004 03:43, Lorenzo Vicisano wrote: > Hi, > > This is the context: > > - Stable as of Jan 9 (FreeBSD 4.9-STABLE #14: Fri Jan 9 15:04:16 > PST 2004) The problem was present since Dec 22.. at least. > > - Linksys PCI WMP11/Prism: > > wi0: mem 0xf8a02000-0xf8a02fff irq 5 at device > 11.0 on pci2 wi0: 802.11 address: 00:06:25:09:a7:8f > wi0: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI) > wi0: Intersil Firmware: Primary 1.01.00, Station 1.04.02 > > acting as a client. The AP is a DLink 614+ (I've tried various > versions of the firmware). > > - High volume of transmitted traffic (ftp-ed a few MBs within the > WLAN). Either towards the AP or towards other clients (E.g. > AN350). > > And this is the symptom: > > wi0: timeout in wi_cmd 0x010b; event status 0x0000 > wi0: xmit failed > > after this the NIC is dead. > Sometimes the box freezes for a few seconds, sometimes it doesn't. > Most of the times the NIC doesn't resume unless it brought up/down > (ifconfig down/up). > > More messages (after the NIC stops working): > > wi0: watchdog timeout > wi0: timeout in wi_cmd 0x0002; event status 0x0000 > wi0: wi_cmd: busy bit won't clear. > wi0: wi_cmd: busy bit won't clear. > wi0: wi_cmd: busy bit won't clear. > wi0: init failed > wi0: watchdog timeout > > Complete log attached. I'm able to reproduce this consistently ;( > I can do some debugging and provide more info, if needed. > > thanks, > Lorenzo --Boundary-00=_4fAAAunGWPP68/U Content-Type: text/x-diff; charset="iso-8859-2"; name="wi.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="wi.diff" --- if_wi.c.orig Wed Jan 7 15:55:18 2004 +++ if_wi.c Wed Jan 7 16:38:37 2004 @@ -1016,9 +1016,11 @@ wi_cmd(sc, cmd, val0, val1, val2) * set in the event status register. */ s = CSR_READ_2(sc, WI_EVENT_STAT); + DELAY(1); if (s & WI_EV_CMD) { /* Ack the event and read result code. */ s = CSR_READ_2(sc, WI_STATUS); + DELAY(1); CSR_WRITE_2(sc, WI_EVENT_ACK, WI_EV_CMD); #ifdef foo if ((s & WI_CMD_CODE_MASK) != (cmd & WI_CMD_CODE_MASK)) --Boundary-00=_4fAAAunGWPP68/U--