[Ns-developers] management of wifi association in infrastructure mode

Gustavo Carneiro gjcarneiro at gmail.com
Thu Nov 27 07:02:04 PST 2008


2008/11/27 Mathieu Lacage <mathieu.lacage at sophia.inria.fr>

> On Thu, 2008-11-27 at 13:29 +0000, Gustavo Carneiro wrote:
> >
> >
> > 2008/11/26 Mathieu Lacage <mathieu.lacage at sophia.inria.fr>
> >
> >         On Wed, 2008-11-26 at 15:55 +0000, Gustavo Carneiro wrote:
> >
> >         > 3) In the AP, if it doesn't receive an ACK for the
> >         > ASSOCIATION_RESPONSE, re-send the ASSOCIATION_RESPONSE when
> >         the ACK
> >         > timer expires or the ACK is received with error; repeat this
> >         until 7
> >         > times or until the ACK is received.
> >         >
> >         > I think this is the most logical solution.  We know that
> >         management
> >         > frames have to follow the same basic DCF transmission rules
> >         as normal
> >         > data frames.  And for both management and data frames it
> >         makes perfect
> >         > sense to treat a unreadable ACK as a missing ACK and trigger
> >         a
> >         > retransmission accordingly.
> >
> >
> >         We already do this
> >
> > 307565309ns NqstaWifiMac:Receive(): assoc completed
> > 307581309ns MacLow:SendAckAfterData(0x8a8620)
> > 307581309ns MacLow:ForwardDown(0x8a8620, 0x8aada0, 0x7fffde836c30,
> wifia-6mbs)
> >
> > 307581309ns MacLow:ForwardDown(): d0:00:00:00:00:02 send CTL_ACK,
> > to=d0:00:00:00:00:01, size=14, mode=wifia-6mbs, duration=0ns, seq=0x0
> > 307625412ns MacLow:ReceiveError(0x899800, 0x8aaf90, 0.71913)
> > 307625412ns MacLow:ReceiveError(): d0:00:00:00:00:01 rx failed
> >
> > 307640872ns MacLow:NormalAckTimeout(0x899800)
> > 307640872ns MacLow:NormalAckTimeout(): d0:00:00:00:00:01 normal ack
> timeout
> > 307640872ns NqapWifiMac:TxFailed(0x899650)
> > 307640872ns NqapWifiMac:TxFailed(): assoc failed with
> sta=d0:00:00:00:00:02
> >
> >
> > According to my logs, we do not do this at all.  AssociationResponse
> > is transmitted once, the ACK is lost, and re-transmission is not
> > attempted, the AP simply gives up immediately.
>
> Ah. I see. This is a bug. Can you try the attached patch ?
>

It appears to work.

Before patch:

307565309ns [node 1 dev 0] NqstaWifiMac:Receive(0xba5f90, ,
MGT_ASSOCIATION_RESPONSE ToDS=0, FromDS=0, MoreFrag=0, Retry=0, MoreData=0
Duration/ID=60us, DA=d0:00:00:00:00:02, SA=d0:00:00:00:00:01,
BSSID=d0:00:00:00:00:01, FragNumber=0, SeqNumber=0)
307565309ns [node 1 dev 0] NqstaWifiMac:Receive(): IsAssocResp
307565309ns [node 1 dev 0] NqstaWifiMac:Receive(): assoc completed
307640872ns [node 0 dev 0] NqapWifiMac:TxFailed(0xb96ba0)
307640872ns [node 0 dev 0] NqapWifiMac:TxFailed(): assoc failed with
sta=d0:00:00:00:00:02

After patch:

307814515ns [node 1 dev 0] NqstaWifiMac:Receive(0x1a4af90, ,
MGT_ASSOCIATION_RESPONSE ToDS=0, FromDS=0, MoreFrag=0, Retry=1, MoreData=0
Duration/ID=60us, DA=d0:00:00:00:00:02, SA=d0:00:00:00:00:01,
BSSID=d0:00:00:00:00:01, FragNumber=0, SeqNumber=0)
307814515ns [node 1 dev 0] NqstaWifiMac:Receive(): IsAssocResp
307874618ns [node 0 dev 0] NqapWifiMac:TxOk(0x1a3bba0)
307874618ns [node 0 dev 0] NqapWifiMac:TxOk(): associated with
sta=d0:00:00:00:00:02

Awesome pach! :-)

-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the Ns-developers mailing list