[Community-news] OLPC News (2008-02-09)

Hal Murray hmurray at megapathdsl.net
Sun Feb 10 20:25:59 EST 2008


>   > Has the following idea already come up?  How about just turning off
>   > the wlan entirely during suspend, if the machine has reason to
>   > believe that its contribution to mesh connectivity is negligible?

> Michail should answer this, but it sounds to me like an interesting
> idea with serious problems to overcome.  I don't know much about the
> workings of the mesh, but here's one potential problem:  at school,
> each laptop will believe its contribution is small.  If the laptops
> then all head home with wireless off, they aren't transmitting the
> mesh beacons needed for mesh discovery.  We would have to use timers
> to wake up the wireless every so often and check for beacons, and hope
> that beacon broadcast cycles overlap, and the mesh would clearly be
> degraded.

I think you can do better than "hope" the cycles overlap.  It requires 
synchronizing the timers.

Lots of handwaving here, but here is a straw man...

Let's assume the target is to have the radio on for 1 second out of 10.  That 
gets 90% of the power savings.

Assume the school server keeps track of the topology and provides the timing.

All the idle XOs turn on their radios slightly before the 10 second timer 
ticks.

When the timer ticks, the server broadcasts a packet.  It goes hipity-hop out 
to the fringe.  That is both a timing marker and a topology check/probe.

Everybody sends back an ACK.  Occasionally somebody who used to be on the 
mesh doesn't ACK.  Occasionally somebody new joins in...

Any traffic to or using previously idle machines gets queued until the timer 
ticks.  It gets send right after the ACK.  That updates the set of machines 
which need to stay awake.

After that, the other radios go back to sleep.



Is 1 second a reasonable number for doing that?  I'd expect it depends upon 
the size of the mesh, so maybe the question should be how big a mesh can the 
radios handle in 1 second?

How long does it take to turn the radio on and off?  (I'm assuming the EC can 
do it without help from the main CPU.)

Is there any communication path from the radio to the EC?  (to tell it when 
to turn off and how long to wait)

If the radio gets turned off, is there any place for it to save state?  Or 
will it have to start from scratch each time it gets turned on?

Maybe the CPU in the radio shouldn't turn off, but just switch to a (very) 
low power mode.





-- 
These are my opinions, not necessarily my employer's.  I hate spam.






More information about the Devel mailing list