All of lore.kernel.org
 help / color / mirror / Atom feed
* [ath9k-devel] Ack and Block Ack processing
@ 2014-02-03 15:48 Olivier Marce
  2014-02-03 16:29 ` Adrian Chadd
  2014-02-03 17:01 ` abhinav narain
  0 siblings, 2 replies; 7+ messages in thread
From: Olivier Marce @ 2014-02-03 15:48 UTC (permalink / raw)
  To: ath9k-devel

Hi everybody,
thanks to all of you who share your knowledge and expertise on ath9k.

I wonder if Ack and Block Ack are processed directly by the HW on 
receipt and not the firmware.

There are several messages that confirm that Ack and Block Ack are 
*sent* by HW (http://www.spinics.net/lists/linux-wireless/msg106950.html)
But are they processed (on receipt) also by HW ? I analysed firmware 
code and I did not find any Ack/BA processing.

Is my understanding correct ?

Best regards


-- 
Olivier Marc?
Alcatel-Lucent Bell Labs France

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

* [ath9k-devel] Ack and Block Ack processing
  2014-02-03 15:48 [ath9k-devel] Ack and Block Ack processing Olivier Marce
@ 2014-02-03 16:29 ` Adrian Chadd
  2014-02-10  8:57   ` Olivier Marce
  2014-02-03 17:01 ` abhinav narain
  1 sibling, 1 reply; 7+ messages in thread
From: Adrian Chadd @ 2014-02-03 16:29 UTC (permalink / raw)
  To: ath9k-devel

Hi,

So on the Atheros NICs, the block-acks are generated by the receiver
in hardware and processed by the transmitter in hardware; you then get
a bitmap in the TX completion descriptor telling you which frames did
succeed/fail.

The TX completion path does check the two 32 bit blockack (ba) fields
in the TX descriptor for completion. It doesn't hand-parse a BA frame.


-a


On 3 February 2014 07:48, Olivier Marce
<Olivier.Marce@alcatel-lucent.com> wrote:
> Hi everybody,
> thanks to all of you who share your knowledge and expertise on ath9k.
>
> I wonder if Ack and Block Ack are processed directly by the HW on
> receipt and not the firmware.
>
> There are several messages that confirm that Ack and Block Ack are
> *sent* by HW (http://www.spinics.net/lists/linux-wireless/msg106950.html)
> But are they processed (on receipt) also by HW ? I analysed firmware
> code and I did not find any Ack/BA processing.
>
> Is my understanding correct ?
>
> Best regards
>
>
> --
> Olivier Marc?
> Alcatel-Lucent Bell Labs France
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel

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

* [ath9k-devel] Ack and Block Ack processing
  2014-02-03 15:48 [ath9k-devel] Ack and Block Ack processing Olivier Marce
  2014-02-03 16:29 ` Adrian Chadd
@ 2014-02-03 17:01 ` abhinav narain
  1 sibling, 0 replies; 7+ messages in thread
From: abhinav narain @ 2014-02-03 17:01 UTC (permalink / raw)
  To: ath9k-devel

Hi,

> I wonder if Ack and Block Ack are processed directly by the HW on
> receipt and not the firmware.
>
 Please correct me if I am wrong, ath9k series drivers directly interact
with hardware.
I haven't seen any code where the driver talks to firmware.

Thanks,
Abhinav
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20140203/f1dc7962/attachment.htm 

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

* [ath9k-devel] Ack and Block Ack processing
  2014-02-03 16:29 ` Adrian Chadd
@ 2014-02-10  8:57   ` Olivier Marce
  2014-02-10  9:45     ` Kamran Nishat
  0 siblings, 1 reply; 7+ messages in thread
From: Olivier Marce @ 2014-02-10  8:57 UTC (permalink / raw)
  To: ath9k-devel

Thanks for the quick and precise answer.

Then, I wonder is there is a way to be notified of sending/receiving of 
frames by the HW. For example, can we be notified of ACK (or BA) 
received and processed by the HW, or by frame retransmited by the HW ?

Thanks

On 03/02/2014 17:29, Adrian Chadd wrote:
> Hi,
>
> So on the Atheros NICs, the block-acks are generated by the receiver
> in hardware and processed by the transmitter in hardware; you then get
> a bitmap in the TX completion descriptor telling you which frames did
> succeed/fail.
>
> The TX completion path does check the two 32 bit blockack (ba) fields
> in the TX descriptor for completion. It doesn't hand-parse a BA frame.
>
>
> -a
>
>
> On 3 February 2014 07:48, Olivier Marce
> <Olivier.Marce@alcatel-lucent.com> wrote:
>> Hi everybody,
>> thanks to all of you who share your knowledge and expertise on ath9k.
>>
>> I wonder if Ack and Block Ack are processed directly by the HW on
>> receipt and not the firmware.
>>
>> There are several messages that confirm that Ack and Block Ack are
>> *sent* by HW (http://www.spinics.net/lists/linux-wireless/msg106950.html)
>> But are they processed (on receipt) also by HW ? I analysed firmware
>> code and I did not find any Ack/BA processing.
>>
>> Is my understanding correct ?
>>
>> Best regards
>>
>>
>> --
>> Olivier Marc?
>> Alcatel-Lucent Bell Labs France
>> _______________________________________________
>> ath9k-devel mailing list
>> ath9k-devel at lists.ath9k.org
>> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
>

-- 
Olivier Marc?
Alcatel-Lucent Bell Labs France

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

* [ath9k-devel] Ack and Block Ack processing
  2014-02-10  8:57   ` Olivier Marce
@ 2014-02-10  9:45     ` Kamran Nishat
  2014-02-10 10:11       ` Olivier Marce
  0 siblings, 1 reply; 7+ messages in thread
From: Kamran Nishat @ 2014-02-10  9:45 UTC (permalink / raw)
  To: ath9k-devel

as Adrian said we got information received in a BlockACK
(ath_tx_complete_aggr in xmit.c)
you get a bitmap, SSN and retires done for AMPDU.



On Mon, Feb 10, 2014 at 1:57 PM, Olivier Marce <
Olivier.Marce@alcatel-lucent.com> wrote:

> Thanks for the quick and precise answer.
>
> Then, I wonder is there is a way to be notified of sending/receiving of
> frames by the HW. For example, can we be notified of ACK (or BA)
> received and processed by the HW, or by frame retransmited by the HW ?
>
> Thanks
>
> On 03/02/2014 17:29, Adrian Chadd wrote:
> > Hi,
> >
> > So on the Atheros NICs, the block-acks are generated by the receiver
> > in hardware and processed by the transmitter in hardware; you then get
> > a bitmap in the TX completion descriptor telling you which frames did
> > succeed/fail.
> >
> > The TX completion path does check the two 32 bit blockack (ba) fields
> > in the TX descriptor for completion. It doesn't hand-parse a BA frame.
> >
> >
> > -a
> >
> >
> > On 3 February 2014 07:48, Olivier Marce
> > <Olivier.Marce@alcatel-lucent.com> wrote:
> >> Hi everybody,
> >> thanks to all of you who share your knowledge and expertise on ath9k.
> >>
> >> I wonder if Ack and Block Ack are processed directly by the HW on
> >> receipt and not the firmware.
> >>
> >> There are several messages that confirm that Ack and Block Ack are
> >> *sent* by HW (
> http://www.spinics.net/lists/linux-wireless/msg106950.html)
> >> But are they processed (on receipt) also by HW ? I analysed firmware
> >> code and I did not find any Ack/BA processing.
> >>
> >> Is my understanding correct ?
> >>
> >> Best regards
> >>
> >>
> >> --
> >> Olivier Marc?
> >> Alcatel-Lucent Bell Labs France
> >> _______________________________________________
> >> ath9k-devel mailing list
> >> ath9k-devel at lists.ath9k.org
> >> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> >
> >
>
> --
> Olivier Marc?
> Alcatel-Lucent Bell Labs France
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20140210/08182b15/attachment.htm 

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

* [ath9k-devel] Ack and Block Ack processing
  2014-02-10  9:45     ` Kamran Nishat
@ 2014-02-10 10:11       ` Olivier Marce
  2014-02-10 18:02         ` abhinav narain
  0 siblings, 1 reply; 7+ messages in thread
From: Olivier Marce @ 2014-02-10 10:11 UTC (permalink / raw)
  To: ath9k-devel

Hi Kamram,
thanks, this is a useful information indeed.
But my question was about to get notified of the details of exchange 
between emitter and transmitter. E.g. how many retries have been needed 
to get the a MPDU to be acked.


On 10/02/2014 10:45, Kamran Nishat wrote:
> as Adrian said we got information received in a BlockACK
> (ath_tx_complete_aggr in xmit.c)
> you get a bitmap, SSN and retires done for AMPDU.
>
>
>
> On Mon, Feb 10, 2014 at 1:57 PM, Olivier Marce
> <Olivier.Marce@alcatel-lucent.com
> <mailto:Olivier.Marce@alcatel-lucent.com>> wrote:
>
>     Thanks for the quick and precise answer.
>
>     Then, I wonder is there is a way to be notified of sending/receiving of
>     frames by the HW. For example, can we be notified of ACK (or BA)
>     received and processed by the HW, or by frame retransmited by the HW ?
>
>     Thanks
>
>     On 03/02/2014 17:29, Adrian Chadd wrote:
>      > Hi,
>      >
>      > So on the Atheros NICs, the block-acks are generated by the receiver
>      > in hardware and processed by the transmitter in hardware; you
>     then get
>      > a bitmap in the TX completion descriptor telling you which frames did
>      > succeed/fail.
>      >
>      > The TX completion path does check the two 32 bit blockack (ba) fields
>      > in the TX descriptor for completion. It doesn't hand-parse a BA
>     frame.
>      >
>      >
>      > -a
>      >
>      >
>      > On 3 February 2014 07:48, Olivier Marce
>      > <Olivier.Marce@alcatel-lucent.com
>     <mailto:Olivier.Marce@alcatel-lucent.com>> wrote:
>      >> Hi everybody,
>      >> thanks to all of you who share your knowledge and expertise on
>     ath9k.
>      >>
>      >> I wonder if Ack and Block Ack are processed directly by the HW on
>      >> receipt and not the firmware.
>      >>
>      >> There are several messages that confirm that Ack and Block Ack are
>      >> *sent* by HW
>     (http://www.spinics.net/lists/linux-wireless/msg106950.html)
>      >> But are they processed (on receipt) also by HW ? I analysed firmware
>      >> code and I did not find any Ack/BA processing.
>      >>
>      >> Is my understanding correct ?
>      >>
>      >> Best regards
>      >>
>      >>
>      >> --
>      >> Olivier Marc?
>      >> Alcatel-Lucent Bell Labs France
>      >> _______________________________________________
>      >> ath9k-devel mailing list
>      >> ath9k-devel at lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
>      >> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>      >
>      >
>
>     --
>     Olivier Marc?
>     Alcatel-Lucent Bell Labs France
>     _______________________________________________
>     ath9k-devel mailing list
>     ath9k-devel at lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
>     https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
>

-- 
Olivier Marc?
Alcatel-Lucent Bell Labs France

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

* [ath9k-devel] Ack and Block Ack processing
  2014-02-10 10:11       ` Olivier Marce
@ 2014-02-10 18:02         ` abhinav narain
  0 siblings, 0 replies; 7+ messages in thread
From: abhinav narain @ 2014-02-10 18:02 UTC (permalink / raw)
  To: ath9k-devel

Hi Kamran,

> But my question was about to get notified of the details of exchange
> between emitter and transmitter. E.g. how many retries have been needed
> to get the a MPDU to be acked.
>
>  Read xmit.c about the retry counts for each MPDU.
I am not clear what happens for AMPDU,
but essentially you give a buffer (chain of mpdus or one ampdu ) to the
hardware
and once it's done with it, it gives a callback with details in the
transmit descriptor.
You can extract information from there
struct ath_tx_status *ts is the descriptor, which fills details into
the mac80211 struct ieee80211_tx_info *

-
Abhinav



>
> On 10/02/2014 10:45, Kamran Nishat wrote:
> > as Adrian said we got information received in a BlockACK
> > (ath_tx_complete_aggr in xmit.c)
> > you get a bitmap, SSN and retires done for AMPDU.
> >
> >
> >
> > On Mon, Feb 10, 2014 at 1:57 PM, Olivier Marce
> > <Olivier.Marce@alcatel-lucent.com
> > <mailto:Olivier.Marce@alcatel-lucent.com>> wrote:
> >
> >     Thanks for the quick and precise answer.
> >
> >     Then, I wonder is there is a way to be notified of sending/receiving
> of
> >     frames by the HW. For example, can we be notified of ACK (or BA)
> >     received and processed by the HW, or by frame retransmited by the HW
> ?
> >
> >     Thanks
> >
> >     On 03/02/2014 17:29, Adrian Chadd wrote:
> >      > Hi,
> >      >
> >      > So on the Atheros NICs, the block-acks are generated by the
> receiver
> >      > in hardware and processed by the transmitter in hardware; you
> >     then get
> >      > a bitmap in the TX completion descriptor telling you which frames
> did
> >      > succeed/fail.
> >      >
> >      > The TX completion path does check the two 32 bit blockack (ba)
> fields
> >      > in the TX descriptor for completion. It doesn't hand-parse a BA
> >     frame.
> >      >
> >      >
> >      > -a
> >      >
> >      >
> >      > On 3 February 2014 07:48, Olivier Marce
> >      > <Olivier.Marce@alcatel-lucent.com
> >     <mailto:Olivier.Marce@alcatel-lucent.com>> wrote:
> >      >> Hi everybody,
> >      >> thanks to all of you who share your knowledge and expertise on
> >     ath9k.
> >      >>
> >      >> I wonder if Ack and Block Ack are processed directly by the HW on
> >      >> receipt and not the firmware.
> >      >>
> >      >> There are several messages that confirm that Ack and Block Ack
> are
> >      >> *sent* by HW
> >     (http://www.spinics.net/lists/linux-wireless/msg106950.html)
> >      >> But are they processed (on receipt) also by HW ? I analysed
> firmware
> >      >> code and I did not find any Ack/BA processing.
> >      >>
> >      >> Is my understanding correct ?
> >      >>
> >      >> Best regards
> >      >>
> >      >>
> >      >> --
> >      >> Olivier Marc?
> >      >> Alcatel-Lucent Bell Labs France
> >      >> _______________________________________________
> >      >> ath9k-devel mailing list
> >      >> ath9k-devel at lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
> >      >> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> >      >
> >      >
> >
> >     --
> >     Olivier Marc?
> >     Alcatel-Lucent Bell Labs France
> >     _______________________________________________
> >     ath9k-devel mailing list
> >     ath9k-devel at lists.ath9k.org <mailto:ath9k-devel@lists.ath9k.org>
> >     https://lists.ath9k.org/mailman/listinfo/ath9k-devel
> >
> >
>
> --
> Olivier Marc?
> Alcatel-Lucent Bell Labs France
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20140210/10b30251/attachment.htm 

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

end of thread, other threads:[~2014-02-10 18:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-03 15:48 [ath9k-devel] Ack and Block Ack processing Olivier Marce
2014-02-03 16:29 ` Adrian Chadd
2014-02-10  8:57   ` Olivier Marce
2014-02-10  9:45     ` Kamran Nishat
2014-02-10 10:11       ` Olivier Marce
2014-02-10 18:02         ` abhinav narain
2014-02-03 17:01 ` abhinav narain

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.