linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Richard Farina <sidhayn@gmail.com>
To: Christian Lamparter <chunkeey@googlemail.com>
Cc: linux-wireless@vger.kernel.org, scchen@qca.qualcomm.com,
	linville@tuxdriver.com, johannes@sipsolutions.net,
	marco@tampabay.rr.com, janusz.dziedzic@gmail.com
Subject: Re: [PATCH] carl9170: fix spurious transmissions in sniffer mode
Date: Tue, 11 Sep 2012 18:03:40 -0400	[thread overview]
Message-ID: <504FB53C.6050106@gmail.com> (raw)
In-Reply-To: <201209112318.35334.chunkeey@googlemail.com>

On 09/11/2012 05:18 PM, Christian Lamparter wrote:
> Several people have complained about an unusual
> and undocumented feature of the AR9170 hardware:
> 
> In siffer mode, the hardware generates spurious
> ACK frames for every received frame... even
> broadcasts.
> 
> The reason for this malfunction is unknown:
> <http://marc.info/?l=linux-wireless&m=134517238506033>
> But there's a workaround: Instead of the special
> sniffer mode, the hardware will be put into
> station mode and all rx filters are disabled.
I am by no means an expert here but wouldn't it be better to disable
ACK? Or is this not really an option?

Did you test to see if this actually does receive the same number of
packets as "special sniffer mode"? If so, that really should be in the
commit message imho. (I know you tested it, but since you didn't say it
the commit message reads like you didn't).

Thanks,
Zero
> 
> Reported-by: Johannes Berg <johannes@sipsolutions.net>
> Reported-by: Marco Fonseca <marco@tampabay.rr.com>
> Reported-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
> ---
>  drivers/net/wireless/ath/carl9170/mac.c |   21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/carl9170/mac.c b/drivers/net/wireless/ath/carl9170/mac.c
> index e3b1b6e..24d75ab 100644
> --- a/drivers/net/wireless/ath/carl9170/mac.c
> +++ b/drivers/net/wireless/ath/carl9170/mac.c
> @@ -343,7 +343,24 @@ int carl9170_set_operating_mode(struct ar9170 *ar)
>  			break;
>  		}
>  	} else {
> -		mac_addr = NULL;
> +		/*
> +		 * Enable monitor mode
> +		 *
> +		 * rx_ctrl |= AR9170_MAC_RX_CTRL_ACK_IN_SNIFFER;
> +		 * sniffer |= AR9170_MAC_SNIFFER_ENABLE_PROMISC;
> +		 *
> +		 * When the hardware is in SNIFFER_PROMISC mode,
> +		 * it generates spurious ACKs for every incoming
> +		 * frame. This confuses every peer in the
> +		 * vicinity and the network throughput will suffer
> +		 * badly.
> +		 *
> +		 * Hence, the hardware will be put into station
> +		 * mode and just the rx filters are disabled.
> +		 */
> +		cam_mode |= AR9170_MAC_CAM_STA;
> +		rx_ctrl |= AR9170_MAC_RX_CTRL_PASS_TO_HOST;
> +		mac_addr = common->macaddr;
>  		bssid = NULL;
>  	}
>  	rcu_read_unlock();
> @@ -355,8 +372,6 @@ int carl9170_set_operating_mode(struct ar9170 *ar)
>  		enc_mode |= AR9170_MAC_ENCRYPTION_RX_SOFTWARE;
>  
>  	if (ar->sniffer_enabled) {
> -		rx_ctrl |= AR9170_MAC_RX_CTRL_ACK_IN_SNIFFER;
> -		sniffer |= AR9170_MAC_SNIFFER_ENABLE_PROMISC;
>  		enc_mode |= AR9170_MAC_ENCRYPTION_RX_SOFTWARE;
>  	}
>  
> 


  reply	other threads:[~2012-09-11 22:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-11 21:18 [PATCH] carl9170: fix spurious transmissions in sniffer mode Christian Lamparter
2012-09-11 22:03 ` Richard Farina [this message]
2012-09-11 23:26   ` Christian Lamparter
2012-09-11 23:46     ` Richard Farina
2012-09-12  1:08       ` Christian Lamparter
2012-09-12  7:09         ` Johannes Berg
2012-10-13  8:59 ` Christian Lamparter
2012-10-26 18:07   ` Christian Lamparter
2012-10-26 21:03     ` John W. Linville

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=504FB53C.6050106@gmail.com \
    --to=sidhayn@gmail.com \
    --cc=chunkeey@googlemail.com \
    --cc=janusz.dziedzic@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=marco@tampabay.rr.com \
    --cc=scchen@qca.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).