Search Linux Wireless

Re: [RFC] b43: multiple MAC addresses support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> You could always modify the beacon period to a suitable number that
> would be divisible by whatever number of BSSes there are and/or add
> empty slot to move from, say, 7 to 8, and just not send a beacon at some
> of the slots.

Hmm. I'd have said that yes, this works, but rereading the spec I'm not
too certain any more. But more below.

> Sending a burst of all beacons at the same time is also a
> valid option up to a certain limit on how long a time would be allocated
> for this. However, this may have some timing issues when there are
> multiple power save buffered broadcast/multicast frames waiting to be
> sent out.

That's the point I wasn't quite sure on, would it be valid to send the
frames in the order beacon1, beacon2, beacon3, mc1, mc1, ..., mc2, ...,
mc3, ...?

[slight reordering of your mail]

> Some low-level operation
> would also need to make sure the beacon timestamp is correct if the
> frame gets delayed due to other frames.

On Broadcom hardware, I'm pretty sure that the transmit engine updates
the timestamp only during transmission so that shouldn't be a problem.

> In general, it would be good to try to send the beacon frames
> as close to their correct time as possible to allow power saving
> stations to remain asleep most of the time. 

Time zero is defined as TBTT, so this means we need to send the frame as
close to TU "Beacon Interval" * N where N is a non-negative number. Is
my interpretation correct here? If so, and because we only have a single
TSF, doesn't this mean that we should send the beacons all together as
quickly as possible? If we tried spreading them out we'd be sending them
at something like "Beacon Interval" * (N + 0.25) which isn't something
we should do, no?

Another thing that I just realised is that I'm not sure whether we
update the TSF in probe responses correctly or at all because as far as
I can tell it's only done for the probe response microcode offload.
We'll have to look into this.

Actually, what we can do is adjust the offset for each of the beacons
differently. So when we're sending a beacon at TSF "interval * (N+.25)"
we can round that up to "interval * (N+1)" by adjusting the TSF write
offset. This means that stations will adopt a TSF that is larger than
ours by a bit. If we'd do the same for probe responses (which should be
fairly easy), would the timing work out? I'm not entirely clear about
CFP operation etc.

Effectively, only one of our BSSes would be sending out our own TSF, the
other ones would be sending something up to say 0.875 of the beacon
interval larger (assuming we limit the number of BSSes to eight). All
STAs would adopt this time, but what influence does that have on other
operation?

> I think it would be perfectly fine to try to simply the configuration
> and implementation by requiring all BSSes to use the same beacon
> interval and allow small changes in the interval, if needed. hostapd
> does not have code for this type of modifications.

I think I can do pretty much whatever we want, including send TSF
offsets as described above. But I'm not entirely clear on the
side-effects of that. If the TSF offsets are possible without
significant side effects then we're pretty much free to do whatever we
want in software (under some constraints), in the microcode I'd probably
simply pull the broadcast/multicast FIFO at the beacon interval and send
whatever software put into it and allow for extended frame control wrt.
timestamping for beacons/probe responses.

> I've done some
> experiments with configuring the hardware to use beacon interval divided
> by number of BSSes, but ended up using burst of beacon frames instead
> (and all BSSes were forced to use the same beacon interval).

Do you remember any reason?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux