[rt2x00-users] [RFC/RFT 00/15] Beaconing updates and tasklet conversion

Johannes Stezenbach js at sig21.net
Fri Jan 7 07:07:51 EST 2011


On Thu, Jan 06, 2011 at 06:02:23PM +0100, Helmut Schaa wrote:
> Am Donnerstag, 6. Januar 2011 schrieb Johannes Stezenbach:
> > Q1: IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING is set for rt2800pci,
> >     which means mac80211 will not queue the frame but send it
> >     to the driver immediately.  Thus ieee80211_get_buffered_bc()
> >     will not return any frames.  Right?
> 
> It's exactly the other way round. If IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING
> is set mac80211 will buffer mc and bc frames for us and we can retrieve them
> via ieee80211_get_buffered_bc.

Well, duh, seems I can't read the code... embarassing...

> > I guess a possible way out for rt2800usb would be to read
> > the TBTT_TIMER register and then set a hrtimer to fire
> > at the time when PRE_TBTT irq would fire for rt2800pci.
> > Any opinions on this?
> 
> Hmm, interessting approach. You won't get 100% accuracy but sounds
> feasible.

Well, with wireless well never get 100% anyway, but I'm hoping
to get an improvement.  The end goal is reliable mDNS/UPnP.

> An other way I thought of would be to enable PBF_LOOP_EN in MAC_SYS_CTRL. I
> never tried that but it would mean that the rx path will trigger when we tx
> frames. And when we "receive" a beacon we've just sent out we could trigger
> the bc buffer flush. Just an idea ...

Sounds interesting, but has likely too much overhead unless we could
filter to only loopback beacons, not data frames.


Thanks,
Johannes



More information about the users mailing list