RTS threshold low -> hang

Vaclav Dvorak vdvo at vdvo.net
Thu Nov 13 23:53:45 EST 2003


Vaclav Dvorak wrote:
> Because of the hidden-node problem and congestion, I tried setting the 
> RTS threshold to various low values (<100 bytes). This makes the 
> computer hang after a few hours.

Okay, I finally took the time to do at least some research on this - 
sorry that it took so long.

First of all, I tried without jbohac's patch, just to be sure. Didn't help.

Now, it turns out my description wasn't quite accurate. In today's 
testing, setting the rts threshold to any value makes the client 
de-associate instantly, and re-associate nearly immediately with a 
certain probability. That probability seems to depend on the rts 
threshold value (lower rts -> lower chance of re-association), but that 
may be just a coincidence. I assume that the hangs that I experienced 
occured only after some time of the client's trying to re-associate. The 
strange thing is, however, that the last time I tried, I didn't seem to 
have any problem until after a few hours from setting the rts threshold. 
Now, the client either immediately re-associates, or immediately loses 
association.

I tried setting lower and lower values of rts. Log snippets follow 
(interspersed with my commands at the appropriate times). Note that at 
05:30:01, iwconfig failed.

...
Nov 14 05:23:58 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:23:58 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a
iwconfig wlan0 rts 300
Nov 14 05:24:07 server kernel: wlan0: LinkStatus=2 (Disconnected)
Nov 14 05:24:07 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:24:08 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:24:08 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
iwconfig wlan0 rts 320
Nov 14 05:24:29 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:24:29 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:24:29 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:24:31 server kernel: wlan0: hfa384x_cmd: entry still in list? 
(entry=c14496e0, type=0, res=0)
Nov 14 05:24:31 server kernel: wlan0: hfa384x_cmd: command was not 
completed (res=0, entry=c14496e0, type=0, cmd=0x0002, param0=0x0000, 
EVSTAT=0000 INTEN=e09f)
Nov 14 05:24:31 server kernel: wlan0: reset port failed to disable port
Nov 14 05:24:32 server kernel: NETDEV WATCHDOG: wlan0: transmit timed out
Nov 14 05:24:32 server kernel: wlan0: CMD=0002 EVSTAT=0000 OFFSET0=0000 
OFFSET1=0000 SWSUPPORT0=8a32
Nov 14 05:24:32 server kernel: wlan0: scheduled card reset
Nov 14 05:24:32 server kernel: wlan0: removed pending cmd_queue entry 
(type=1, cmd=0x010b, param0=0x0152)
Nov 14 05:24:32 server kernel: prism2_hw_init: initialized in 200 ms
Nov 14 05:24:32 server kernel: wlan0: trying to read PDA from 0x007f0000: OK
Nov 14 05:24:32 server kernel: prism2_tx_timeout: wake up queue
Nov 14 05:24:32 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:24:32 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:24:32 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:24:33 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:24:33 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:24:33 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:24:35 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:24:35 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a


...
Nov 14 05:27:03 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:27:03 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a
iwconfig wlan0 rts 200
Nov 14 05:27:13 server kernel: wlan0: LinkStatus=2 (Disconnected)
Nov 14 05:27:13 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:17 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:27:17 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a
iwconfig wlan0 rts 100
Nov 14 05:27:26 server kernel: wlan0: LinkStatus=2 (Disconnected)
Nov 14 05:27:26 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:28 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:27:28 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:33 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:27:33 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:39 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:27:39 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:40 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:27:40 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:42 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:27:42 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:27:42 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:27:43 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:27:43 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:27:43 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:27:44 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:27:44 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:45 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:27:45 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:27:45 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:27:46 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:27:46 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:48 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:27:48 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:27:48 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
iwconfig wlan0 rts 200
Nov 14 05:27:49 server kernel: wlan0: LinkStatus=2 (Disconnected)
Nov 14 05:27:49 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:27:53 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:27:53 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a


...
Nov 14 05:29:32 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:29:32 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a
iwconfig wlan0 rts 50
Nov 14 05:29:47 server kernel: wlan0: LinkStatus=2 (Disconnected)
Nov 14 05:29:47 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:29:49 server kernel: wlan0: LinkStatus=6 (Association failed)
Nov 14 05:29:49 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:29:54 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:29:54 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:29:54 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:29:59 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:29:59 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:29:59 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
iwconfig wlan0 rts 100
Error for wireless request "Set RTS Threshold" (8B22) :
     SET failed on device wlan0 ; Invalid argument.
Nov 14 05:30:01 server kernel: wlan0: hfa384x_cmd: entry still in list? 
(entry=c1449960, type=0, res=0)
Nov 14 05:30:01 server kernel: wlan0: hfa384x_cmd: command was not 
completed (res=0, entry=c1449960, type=0, cmd=0x0002, param0=0x0000, 
EVSTAT=0000 INTEN=e09f)
Nov 14 05:30:01 server kernel: wlan0: reset port failed to disable port
Nov 14 05:30:02 server kernel: wlan0: Command completion event, but no 
pending commands
Nov 14 05:30:02 server kernel: wlan0: LinkStatus=2 (Disconnected)
Nov 14 05:30:02 server kernel: wlan0: LinkStatus: BSSID=44:44:44:44:44:44
Nov 14 05:30:02 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:02 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:02 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:03 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:03 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:03 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:07 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:07 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:07 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:08 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:08 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:08 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:10 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:10 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:10 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:12 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:12 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:12 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:13 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:13 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:13 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:13 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:13 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:13 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:14 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:14 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:14 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=00:60:b3:6a:dc:0a A4=00:00:00:00:00:00
Nov 14 05:30:15 server kernel: wlan0: TXEXC - status=0x0004 ([Discon]) 
tx_control=002c
Nov 14 05:30:15 server kernel:    retry_count=0 tx_rate=0 fc=0x0108 
(Data::0 ToDS)
Nov 14 05:30:15 server kernel:    A1=44:44:44:44:44:44 
A2=00:60:b3:6b:d1:4c A3=ff:ff:ff:ff:ff:ff A4=00:00:00:00:00:00
iwconfig wlan0 rts 1000
Nov 14 05:30:16 server kernel: wlan0: LinkStatus=1 (Connected)
Nov 14 05:30:16 server kernel: wlan0: LinkStatus: BSSID=00:60:b3:6a:dc:0a


Jouni Malinen wrote:
> Which station firmware version are you using? How actively is the
> network being used? Can you easily reproduce this (i.e., if you do not
> change RTS threshold, it never hangs, and if you set it, it always
> hangs)? How did you verify that the box hung? It did not work in
> wireless side? It did not work on wired side? Did you verify whether
> only networking was down?

The firmware:
Nov 14 05:20:09 server kernel: wlan0: NIC: id=0x8013 v1.0.0
Nov 14 05:20:09 server kernel: wlan0: PRI: id=0x15 v1.0.7
Nov 14 05:20:09 server kernel: wlan0: STA: id=0x1f v1.3.6
Nov 14 05:20:09 server kernel: wlan0: Intersil Prism2.5 PCI: 
mem=0xfedfe000, irq=9

The network was pretty quiet on my side during the testing now, but 
there was plenty of other traffic on the AP I associate with.

The disassociation described above seems to be easily reproducible now. 
The hang appeared three times, and it was within a few hours after 
setting the RTS threshold. In retrospect, I think the hangs must have 
been caused be the infinitely failing attempts at re-association.

When hung, the box didn't respond by UTP cable, and no disk activity was 
occuring when I would have expected. I believe the whole box was hung, 
though I admit, I can't be completely sure.

>>> I'm using hostap 0.1.2 with jbohac's psrrr patch 
>>> (http://www.jikos.cz/~jbohac/hostap/) for enabling txpower control and 
>>> keeping txpower after card reset. There is one X-Com XI-626 card in 
>>> managed mode.
> Do you mean that the host that hung was in Master mode and it had one
> STA associated with it or that the hang happened on a host that was in
> Managed mode?

Sorry, I guess I was a bit unclear. The box that hung has one wireless 
NIC, and it's in Managed mode. It's associated to an AP that is driver 
also by hostap, with the same wireless NIC in Master mode. I didn't try 
setting rts on the Master, though.

>>> netfilter patches. The computer is a Cyrix 6x86MX 150MHz. There are a 
>>> few messages in the logs some time before the crash:
>>> 
>>> Nov  8 02:17:44 server kernel: NETDEV WATCHDOG: wlan0: transmit timed out
> Some time before? As in, just before or some random (may be long) time
> before?

About an hour before the crash, IIRC.

-- 
Vaclav Dvorak  <vdvo at vdvo.net>
http://www.vdvo.net/



More information about the HostAP mailing list