Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Oct 2002 04:22:07 -0700 (PDT)
From:      Dirk-Willem van Gulik <dirkx@webweaving.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/43625: Wi(4) driver hangs after long data transfers
Message-ID:  <200210031122.g93BM7sb069950@www.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         43625
>Category:       kern
>Synopsis:       Wi(4) driver hangs after long data transfers
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 03 04:30:04 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Dirk-Willem van Gulik
>Release:        4.6.2, RELENG_4
>Organization:
WebWeaving
>Environment:
FreeBSD cnodecope.wleiden.net 4.7-RC FreeBSD 4.7-RC #3: Fri Sep 27 15:26:28 CEST 2002     root@cnodecope.wleiden.net:/usr/src/sys/compile/COPE
as well as stock 4.6.2
>Description:
On a machine with 2 or 3 wi(4) cards:

wi0: <Intersil Prism2.5> mem 0xfedfa000-0xfedfafff irq 9 at device 17.0 on pci0
wi0: 802.11 address: 00:06:25:a7:a8:82
wi0: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi0: Intersil Firmware: Primary 1.00.05, Station 1.03.04
wi1: <Intersil Prism2.5> mem 0xfedf9000-0xfedf9fff irq 10 at device 18.0 on pci0
wi1: 802.11 address: 00:06:25:a7:a8:ba
wi1: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi1: Intersil Firmware: Primary 1.00.05, Station 1.03.04
wi2: <Intersil Prism2.5> mem 0xfedf8000-0xfedf8fff irq 11 at device 19.0 on pci0
wi2: 802.11 address: 00:06:25:a7:a7:2a
wi2: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi2: Intersil Firmware: Primary 1.00.05, Station 1.03.04

When transfering a big file using TCP in hostap mode to an identical machine (either direction) then one, or both machines, will at some point start emitting the errors listed below; and the TCP stack on all ports, including wired, will freeze for 10-500 second periods. A reboot is the only reliable fix - though there are indications that long periods of no traffic allow the situation to subside.

Host addresses are allocated using DHCP (i.e. there is a BPF filter in the channel).

The fetch is a simple 'fetch http://otherbox/big.file; where the latter is a 10 to 100 Gbyte file of all zero's.

The errors seen are as below. Note that the 'wi_seek' is also seen under other circumstances and may, or may not, have to do anything with it. 
      
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc00/0; last status fc00
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc81/0; last status fc81
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc83/0; last status fc83
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc84/0; last status fc84
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc06/0; last status fc06
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc09/0; last status fc09
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc0c/0; last status fc0c
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc2d/0; last status fc2d
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc04/0; last status fc04
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc02/0; last status fc02
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc03/0; last status fc03
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc0e/0; last status fc0e
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc2a/0; last status fc2a
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc01/0; last status fc01
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc85/0; last status fc85
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc28/0; last status fc28
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc23/0; last status fc23
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc24/0; last status fc24
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to fc80/0; last status fc80
Sep 28 16:00:55 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:00:55 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:00:55 cnodecope /kernel: wi2: failed to allocate 1594 bytes on NIC
Sep 28 16:00:55 cnodecope /kernel: wi2: tx buffer allocation failed
Sep 28 16:00:55 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:00:55 cnodecope /kernel: wi2: failed to allocate 1594 bytes on NIC
Sep 28 16:00:55 cnodecope /kernel: wi2: mgmt. buffer allocation failed
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to 0/0; last status 8000
Sep 28 16:00:55 cnodecope /kernel: wi2: timeout in wi_seek to 0/44; last status 8000
Sep 28 16:00:55 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:00:55 cnodecope /kernel: wi2: xmit failed
Sep 28 16:01:53 cnodecope /kernel: wi2: watchdog timeout
Sep 28 16:01:53 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:01:53 cnodecope last message repeated 3 times
Sep 28 16:01:53 cnodecope /kernel: wi2: init failed
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc07/0; last status fc07
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc00/0; last status fc00
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc81/0; last status fc81
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc83/0; last status fc83
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc84/0; last status fc84
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc06/0; last status fc06
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc09/0; last status fc09
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc0c/0; last status fc0c
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc2d/0; last status fc2d
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc04/0; last status fc04
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc02/0; last status fc02
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc03/0; last status fc03
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc0e/0; last status fc0e
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc2a/0; last status fc2a
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc01/0; last status fc01
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc85/0; last status fc85
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc28/0; last status fc28
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc23/0; last status fc23
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc24/0; last status fc24
Sep 28 16:01:53 cnodecope /kernel: wi2: timeout in wi_seek to fc80/0; last status fc80
Sep 28 16:01:53 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:01:53 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:01:53 cnodecope /kernel: wi2: failed to allocate 1594 bytes on NIC
Sep 28 16:01:53 cnodecope /kernel: wi2: tx buffer allocation failed
Sep 28 16:01:53 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:01:54 cnodecope /kernel: wi2: failed to allocate 1594 bytes on NIC
Sep 28 16:01:54 cnodecope /kernel: wi2: mgmt. buffer allocation failed
Sep 28 16:02:58 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:03:29 cnodecope /kernel: wi2: timeout in wi_seek to 0/0; last status 8000
Sep 28 16:03:29 cnodecope /kernel: wi2: timeout in wi_seek to 0/44; last status 8000
Sep 28 16:03:29 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:03:29 cnodecope /kernel: wi2: xmit failed
Sep 28 16:04:27 cnodecope /kernel: wi2: watchdog timeout
Sep 28 16:04:27 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:04:27 cnodecope last message repeated 3 times
Sep 28 16:04:27 cnodecope /kernel: wi2: init failed
Sep 28 16:04:27 cnodecope /kernel: wi2: timeout in wi_seek to fc07/0; last status fc07
Sep 28 16:04:27 cnodecope /kernel: wi2: timeout in wi_seek to fc00/0; last status fc00
Sep 28 16:04:27 cnodecope /kernel: wi2: timeout in wi_seek to fc81/0; last status fc81
Sep 28 16:04:27 cnodecope /kernel: wi2: timeout in wi_seek to fc83/0; last status fc83
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc84/0; last status fc84
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc06/0; last status fc06
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc09/0; last status fc09
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc0c/0; last status fc0c
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc2d/0; last status fc2d
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc04/0; last status fc04
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc02/0; last status fc02
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc03/0; last status fc03
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc0e/0; last status fc0e
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc2a/0; last status fc2a
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc01/0; last status fc01
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc85/0; last status fc85
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc28/0; last status fc28
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc23/0; last status fc23
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc24/0; last status fc24
Sep 28 16:04:28 cnodecope /kernel: wi2: timeout in wi_seek to fc80/0; last status fc80
Sep 28 16:04:28 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:04:28 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:04:28 cnodecope /kernel: wi2: failed to allocate 1594 bytes on NIC
Sep 28 16:04:28 cnodecope /kernel: wi2: tx buffer allocation failed
Sep 28 16:04:28 cnodecope /kernel: wi2: wi_cmd: busy bit won't clear.
Sep 28 16:04:28 cnodecope /kernel: wi2: failed to allocate 1594 bytes on NIC
Sep 28 16:04:28 cnodecope /kernel: wi2: mgmt. buffer allocation failed
Sep 28 16:04:28 cnodecope /kernel: wi1: timeout in wi_cmd 0x010b; event status 0x8000
Sep 28 16:04:28 cnodecope /kernel: wi1: xmit failed
>How-To-Repeat:
Set up to 4.6.2 machines; configure one in hostap; let the other associate (dhcp was used). Install apache. Create a file on one machine and fetch it from the other.
>Fix:
Unknown. Linux RH8 and older versions with wlan-ng will do a 'hard hang' in this situation wihtout any output.
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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