[PATCH] nl80211: Add support to disable CCK rate for p2p probe and frames

Rajkumar Manoharan rmanohar
Mon Oct 3 05:51:37 PDT 2011


On Mon, Oct 03, 2011 at 10:13:29AM +0200, Guy Eilam wrote:
> Rajkumar hello,
> 
> Isn't this patch should be an addition to your older patch that moves
> the disable_11b_rates from the wpas_p2p_init() function to the
> creation of a p2p interface?
> 
> This attribute isn't enough if the CCK rates are blindly disabled at
> the initialization of the supplicant.
>
Hi Guy,

In order to remove disable_11b_rates from wpas_p2p_init, there are some
prerequisities. The p2p frames can be exchanged even before p2p interface
got created. So in order to send those frames at non-CCK rates, new NL
attribute was added for scan trigger and mgmt tx commands. This patch
ask the kernel to send probe req/resp/action at not cck rate. And also
for drivers like ath9k_htc who has rate control at firmware needs to be
taken care. Still working on it :). Till that we can't apply my first patch :(

--
Rajkumar
> 
> On Sun, Oct 2, 2011 at 2:19 PM, Rajkumar Manoharan
> <rmanohar at qca.qualcomm.com> wrote:
> > Add a new attribute to specify whether to use CCK rate or not during
> > scan and sending management frames. This helps to send p2p probes
> > at non-CCK rate. This ensures that P2P probe request/response/action
> > frames are awlays sent at non CCK rates.
> >
> > Signed-off-by: Rajkumar Manoharan <rmanohar at qca.qualcomm.com>
> > ---
> > ?src/drivers/driver_nl80211.c | ? ?4 ++++
> > ?1 files changed, 4 insertions(+), 0 deletions(-)
> >
> > diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> > index ec384c9..21047db 100644
> > --- a/src/drivers/driver_nl80211.c
> > +++ b/src/drivers/driver_nl80211.c
> > @@ -2554,6 +2554,8 @@ static int wpa_driver_nl80211_scan(void *priv,
> > ? ? ? ? ? ? ? ?NLA_PUT(rates, NL80211_BAND_2GHZ, 8,
> > ? ? ? ? ? ? ? ? ? ? ? ?"\x0c\x12\x18\x24\x30\x48\x60\x6c");
> > ? ? ? ? ? ? ? ?nla_put_nested(msg, NL80211_ATTR_SCAN_SUPP_RATES, rates);
> > +
> > + ? ? ? ? ? ? ? NLA_PUT_FLAG(msg, NL80211_ATTR_TX_NO_CCK_RATE);
> > ? ? ? ?}
> >
> > ? ? ? ?ret = send_and_recv_msgs(drv, msg, NULL, NULL);
> > @@ -6564,6 +6566,8 @@ static int nl80211_send_frame_cmd(struct wpa_driver_nl80211_data *drv,
> > ? ? ? ?if (wait)
> > ? ? ? ? ? ? ? ?NLA_PUT_U32(msg, NL80211_ATTR_DURATION, wait);
> > ? ? ? ?NLA_PUT_FLAG(msg, NL80211_ATTR_OFFCHANNEL_TX_OK);
> > + ? ? ? NLA_PUT_FLAG(msg, NL80211_ATTR_TX_NO_CCK_RATE);
> > +
> > ? ? ? ?NLA_PUT(msg, NL80211_ATTR_FRAME, buf_len, buf);
> >
> > ? ? ? ?cookie = 0;
> > --
> > 1.7.6.4
> >
> > _______________________________________________
> > HostAP mailing list
> > HostAP at lists.shmoo.com
> > http://lists.shmoo.com/mailman/listinfo/hostap
> >



More information about the Hostap mailing list