All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] wlcore: send EAPOLs with basic rate policy
@ 2012-06-12  9:39 Eyal Shapira
  2012-06-13 19:04 ` Luciano Coelho
  0 siblings, 1 reply; 2+ messages in thread
From: Eyal Shapira @ 2012-06-12  9:39 UTC (permalink / raw)
  To: Luciano Coelho; +Cc: linux-wireless

EAPOLs are sent at high rates as they are considered
data packets. Some APs like Motorola Symbol AP7131 and AP650
don't respond well to these rates and don't respond with
EAPOL 3/4 consistently. When sending EAPOL 2/4 at 54Mbps
we've seen approx 30% success rate in getting EAPOL 3/4 response
while using 11Mbps we got 100% success.
To increase the chances of successful 4-Way handshake with
such APs, send EAPOLs with basic rate policy in order to avoid
high rates.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
---
v2: added info about the APs and problem (Thanks Johannes!)
Aside from that I'll send a separate patch for mac80211 so non HW rate
control drivers will do the same.

 drivers/net/wireless/ti/wlcore/tx.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/tx.c b/drivers/net/wireless/ti/wlcore/tx.c
index 6983e7a..8ee82b9 100644
--- a/drivers/net/wireless/ti/wlcore/tx.c
+++ b/drivers/net/wireless/ti/wlcore/tx.c
@@ -305,11 +305,15 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
 	if (is_dummy || !wlvif)
 		rate_idx = 0;
 	else if (wlvif->bss_type != BSS_TYPE_AP_BSS) {
-		/* if the packets are destined for AP (have a STA entry)
-		   send them with AP rate policies, otherwise use default
-		   basic rates */
+		/*
+		 * if the packets are destined for AP (have a STA entry)
+		 * send them with AP rate policies (EAPOLs are an exception),
+		 * otherwise use default basic rates
+		 */
 		if (control->flags & IEEE80211_TX_CTL_NO_CCK_RATE)
 			rate_idx = wlvif->sta.p2p_rate_idx;
+		else if (skb->protocol == cpu_to_be16(ETH_P_PAE))
+			rate_idx = wlvif->sta.basic_rate_idx;
 		else if (control->control.sta)
 			rate_idx = wlvif->sta.ap_rate_idx;
 		else
-- 
1.7.4.1


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

* Re: [PATCH v2] wlcore: send EAPOLs with basic rate policy
  2012-06-12  9:39 [PATCH v2] wlcore: send EAPOLs with basic rate policy Eyal Shapira
@ 2012-06-13 19:04 ` Luciano Coelho
  0 siblings, 0 replies; 2+ messages in thread
From: Luciano Coelho @ 2012-06-13 19:04 UTC (permalink / raw)
  To: Eyal Shapira; +Cc: linux-wireless

On Tue, 2012-06-12 at 12:39 +0300, Eyal Shapira wrote:
> EAPOLs are sent at high rates as they are considered
> data packets. Some APs like Motorola Symbol AP7131 and AP650
> don't respond well to these rates and don't respond with
> EAPOL 3/4 consistently. When sending EAPOL 2/4 at 54Mbps
> we've seen approx 30% success rate in getting EAPOL 3/4 response
> while using 11Mbps we got 100% success.
> To increase the chances of successful 4-Way handshake with
> such APs, send EAPOLs with basic rate policy in order to avoid
> high rates.
> 
> Signed-off-by: Eyal Shapira <eyal@wizery.com>
> ---
> v2: added info about the APs and problem (Thanks Johannes!)
> Aside from that I'll send a separate patch for mac80211 so non HW rate
> control drivers will do the same.

Applied, thanks!

--
Luca.


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

end of thread, other threads:[~2012-06-13 19:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-12  9:39 [PATCH v2] wlcore: send EAPOLs with basic rate policy Eyal Shapira
2012-06-13 19:04 ` Luciano Coelho

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.