kern/163759: [at] ath(4) "stops working" in hostap mode
adrian at freebsd.org
Mon Jan 2 06:20:13 UTC 2012
The following reply was made to PR kern/163759; it has been noted by GNATS.
From: Adrian Chadd <adrian at freebsd.org>
To: bug-followup at FreeBSD.org
Subject: Re: kern/163759: [at] ath(4) "stops working" in hostap mode
Date: Sun, 1 Jan 2012 22:16:21 -0800
A little more digging has shown at least one source of these: software
retries are sneaking onto the list.
* force 11n aggregation up - do a whole bunch of traffic;
* enabled debugging - sysctl dev.ath.1.debug=0x7c002000 - that's the
SW TX handling bits and the TX_PROC debugging;
* ping -i 0.3 <ip> in one screen
* scan in the other (ifconfig wlan1 scan)
* notice the tid_drain things being logged.
What I've seen:
* frame is queued via ath_start() or ath_raw_xmit()
* .. it makes it out to the hardware
* ath_tx_processq() is called in the flush routine, with dosched=0
* .. and it requires a retry, for reasons I haven't yet figured out.
Since aggregation is up, the frame is retried in software.
* .. so the frame is replaced on the software queue, but sched isn't
called for it, so it sits on the software queue.
* .. then drain is called, with a software-queued frame in the queue.
So now, what should I do here? Hum.
More information about the freebsd-wireless