2008-02-20 18:32:52

by Johannes Berg

[permalink] [raw]
Subject: implementing APSD?

Hi,

I've long thought about implementing APSD but it seems to require
setting the "more data" bit in an ACK frame and various other things.
Ron, I think you're the QoS expert, is that really how APSD works? If
so, does iwl firmware implement that?

Also, does Atheros hardware implement that, and how? It doesn't look
like Broadcom firmware implements it, and I don't really understand how
one could implement it without many hardware queues, since it seems
timing critical to send out the frames to the station that is using
APSD.

Any clues?

johannes


Attachments:
signature.asc (828.00 B)
This is a digitally signed message part

2008-02-20 18:43:36

by Tomas Winkler

[permalink] [raw]
Subject: Re: implementing APSD?

On Feb 20, 2008 5:24 PM, Johannes Berg <[email protected]> wrote:
> Hi,
>
> I've long thought about implementing APSD but it seems to require
> setting the "more data" bit in an ACK frame and various other things.
> Ron, I think you're the QoS expert, is that really how APSD works? If
> so, does iwl firmware implement that?

We have uAPSD implementation, mainly AP part, yet again it for older
mac. It will take a bit time to merge it in
It's a mandatory feature for HT AP.

> Also, does Atheros hardware implement that, and how? It doesn't look
> like Broadcom firmware implements it, and I don't really understand how
> one could implement it without many hardware queues, since it seems
> timing critical to send out the frames to the station that is using
> APSD.
>
Don't believe it's possible to that without HW support.

Tomas
> Any clues?
>
> johannes
>

2008-02-20 18:52:46

by Sam Leffler

[permalink] [raw]
Subject: Re: implementing APSD?

Tomas Winkler wrote:
> On Feb 20, 2008 5:24 PM, Johannes Berg <[email protected]> wrote:
>
>> Hi,
>>
>> I've long thought about implementing APSD but it seems to require
>> setting the "more data" bit in an ACK frame and various other things.
>> Ron, I think you're the QoS expert, is that really how APSD works? If
>> so, does iwl firmware implement that?
>>
>
> We have uAPSD implementation, mainly AP part, yet again it for older
> mac. It will take a bit time to merge it in
> It's a mandatory feature for HT AP.
>

Really? Can you point where that's called out in the spec?

>
>> Also, does Atheros hardware implement that, and how? It doesn't look
>> like Broadcom firmware implements it, and I don't really understand how
>> one could implement it without many hardware queues, since it seems
>> timing critical to send out the frames to the station that is using
>> APSD.
>>
>>
> Don't believe it's possible to that without HW support.
>

Sorry, this is incorrect; you can do UAPSD w/o any special h/w support.

Sam


2008-02-20 23:52:51

by Sam Leffler

[permalink] [raw]
Subject: Re: implementing APSD?

Guy Cohen wrote:
> On 2/20/08, Sam Leffler <[email protected]> wrote:
>
>> Tomas Winkler wrote:
>>
>>> On Feb 20, 2008 5:24 PM, Johannes Berg <[email protected]> wrote:
>>>
>>>
>>>> Hi,
>>>>
>>>> I've long thought about implementing APSD but it seems to require
>>>> setting the "more data" bit in an ACK frame and various other things.
>>>> Ron, I think you're the QoS expert, is that really how APSD works? If
>>>> so, does iwl firmware implement that?
>>>>
>>>>
>>> We have uAPSD implementation, mainly AP part, yet again it for older
>>> mac. It will take a bit time to merge it in
>>> It's a mandatory feature for HT AP.
>>>
>>>
>> Really? Can you point where that's called out in the spec?
>>
>
> You can not get WFA 11n certification without getting first WMM-uAPSD
> certification.
>
> 4965AGN uCode image supports uAPSD in client mode (and certified under
> Windows). uAPSD in AP mode is under developement currently.
>

Maybe your comment refers to a later version of the WFA spec than I have
(D2.0 from 2007). I'd be curious to hear of products that actually make
use of uapsd (I'm aware of a few but they typically work only within a
closed system).

>
>>>> Also, does Atheros hardware implement that, and how? It doesn't look
>>>> like Broadcom firmware implements it, and I don't really understand how
>>>> one could implement it without many hardware queues, since it seems
>>>> timing critical to send out the frames to the station that is using
>>>> APSD.
>>>>
>>>>
>>>>
>>> Don't believe it's possible to that without HW support.
>>>
>>>
>> Sorry, this is incorrect; you can do UAPSD w/o any special h/w support.
>>
>> Sam
>>
>
> I think you may do uAPSD client mode w/o special HW/FW support (though
> it won't be optimized), but definitelly not AP mode - you need some RT
> capabilites for tracking the client state (wake/sleep/doze) and stop
> sending frames to a client that entered a sleep state, need to avoid
> out-of-order transmission when rescheduling frames that were dropped
> because a client entered sleep/doze state, Service Period control,
> etc.
>
>

I guess this comes back to the question of what must be done in hw vs
sw. You say it's gotta be done in hw. I know it can be done in sw but
you need hw that's designed to support a model where the host is
responsible for this sort of stuff.

Sam


2008-02-20 18:56:47

by Johannes Berg

[permalink] [raw]
Subject: Re: implementing APSD?


> >> Also, does Atheros hardware implement that, and how? It doesn't look
> >> like Broadcom firmware implements it, and I don't really understand how
> >> one could implement it without many hardware queues, since it seems
> >> timing critical to send out the frames to the station that is using
> >> APSD.
> >>
> >>
> > Don't believe it's possible to that without HW support.
> >
>
> Sorry, this is incorrect; you can do UAPSD w/o any special h/w support.

How would you do it? As far as I understand you need to set the "more
data" bit in an ACK frame.

johannes


Attachments:
signature.asc (828.00 B)
This is a digitally signed message part

2008-02-20 23:11:59

by Guy Cohen

[permalink] [raw]
Subject: Re: implementing APSD?

On 2/20/08, Sam Leffler <[email protected]> wrote:
> Tomas Winkler wrote:
> > On Feb 20, 2008 5:24 PM, Johannes Berg <[email protected]> wrote:
> >
> >> Hi,
> >>
> >> I've long thought about implementing APSD but it seems to require
> >> setting the "more data" bit in an ACK frame and various other things.
> >> Ron, I think you're the QoS expert, is that really how APSD works? If
> >> so, does iwl firmware implement that?
> >>
> >
> > We have uAPSD implementation, mainly AP part, yet again it for older
> > mac. It will take a bit time to merge it in
> > It's a mandatory feature for HT AP.
> >
>
> Really? Can you point where that's called out in the spec?

You can not get WFA 11n certification without getting first WMM-uAPSD
certification.

4965AGN uCode image supports uAPSD in client mode (and certified under
Windows). uAPSD in AP mode is under developement currently.

> >
> >> Also, does Atheros hardware implement that, and how? It doesn't look
> >> like Broadcom firmware implements it, and I don't really understand how
> >> one could implement it without many hardware queues, since it seems
> >> timing critical to send out the frames to the station that is using
> >> APSD.
> >>
> >>
> > Don't believe it's possible to that without HW support.
> >
>
> Sorry, this is incorrect; you can do UAPSD w/o any special h/w support.
>
> Sam

I think you may do uAPSD client mode w/o special HW/FW support (though
it won't be optimized), but definitelly not AP mode - you need some RT
capabilites for tracking the client state (wake/sleep/doze) and stop
sending frames to a client that entered a sleep state, need to avoid
out-of-order transmission when rescheduling frames that were dropped
because a client entered sleep/doze state, Service Period control,
etc.

> -
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>