linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] ath5k: capture CCK and OFDM restarts
@ 2014-06-13 21:41 Mathy Vanhoef
  2014-06-13 22:07 ` Felix Fietkau
  0 siblings, 1 reply; 6+ messages in thread
From: Mathy Vanhoef @ 2014-06-13 21:41 UTC (permalink / raw)
  To: John W. Linville
  Cc: linux-wireless, Jiri Slaby, Nick Kossifidis, Luis R. Rodriguez,
	ath5k-devel

Hi all,

This patch allows users to see CCK and OFDM restarts when FIF_FCSFAIL is set.
Without this patch only the stronger frame (causing the restart) would be
visible.

The patch has been tested using our reactive jammer. The prefix of the weaker
frame is being correctly passed on as a frame with bad CRC!
--
From: "Mathy Vanhoef" <vanhoefm@gmail.com>

Treat frames that underwent a CCK or OFDM restart as frames with an invalid CRC.

Signed-off-by: Mathy Vanhoef <vanhoefm@gmail.com>
---
 drivers/net/wireless/ath/ath5k/base.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 39ba642..1bbc850 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -1462,7 +1462,19 @@ ath5k_receive_frame_ok(struct ath5k_hw *ah, struct ath5k_rx_status *rs)
 			ah->stats.rxerr_phy++;
 			if (rs->rs_phyerr > 0 && rs->rs_phyerr < 32)
 				ah->stats.rxerr_phy_code[rs->rs_phyerr]++;
-			return false;
+
+			/*
+			 * Threat packets that underwent a CCK of OFDM reset as having a bad CRC.
+			 * These restarts happen when the radio resynchronizes to a stronger frame
+			 * while receiving a weaker frame. Here we receive the prefix of the weak
+			 * frame. Since these are incomplete packets, mark their CRC as invalid.
+			 */
+			if (rs->rs_phyerr == AR5K_RX_PHY_ERROR_OFDM_RESTART ||
+			    rs->rs_phyerr == AR5K_RX_PHY_ERROR_CCK_RESTART) {
+				rs->rs_status |= AR5K_RXERR_CRC;
+				rs->rs_status &= (~AR5K_RXERR_PHY);
+			}
 		}
 		if (rs->rs_status & AR5K_RXERR_DECRYPT) {
 			/*
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-25 19:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-13 21:41 [PATCH 2/2] ath5k: capture CCK and OFDM restarts Mathy Vanhoef
2014-06-13 22:07 ` Felix Fietkau
2014-06-13 23:14   ` Mathy Vanhoef
2014-06-14  0:27     ` [ath5k-devel] " Gus Wirth
2014-06-23 21:20       ` Mathy Vanhoef
2014-06-25 19:09         ` John W. Linville

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).