Test release of multicast NAND updater

2008-11-07 Thread Mitch Bradley
http://dev.laptop.org/~wmb/q2e22a.rom

This firmware contains a test version of the multicast NAND update 
utility.  It can clone an XO's  NAND image onto any number of other 
XO's simultaneously.  (It can also send NAND images from USB sticks,etc, 
but I'm not ready for people to begin testing that yet.)

It uses the mesh as a fast broadcast medium by setting time-to-live=1 so 
packets don't get forwarded.  You don't need an access point at all, 
just two or more XOs.  The primary use case is for updating a very large 
number of machines at once, in an dedicated area like a warehouse.  
Think of a country trying to update 50,000 machines by next week, in 
time for school to start.

The current version only works on unsecure machines, and only for 
unpartitioned NAND images.  Both of those limitations are on my list to 
fix.  I'm also going to improve the user interface a lot.  But for now, 
I'd like to get some feedback on how well the current version works for 
people in different RF environments.

Here's how to use it:

a) Pick a wireless channel that is relatively clear (1, 6, or 11), using 
whatever technique you prefer.

b) On the machine whose NAND you want to send, type:
   ok ether-clone6   (or ether-clone1, or ether-clone11, according to 
which channel you want to use)

c) On the receiving machines, type:
   ok enand6  (or enand1 or enand11)

The sending machine will send continuously, over and over, until you 
power it off.  The receiving machines can be started at any time in any 
order.  It should be possible to have an arbitrary number of receivers, 
as the data traffic is strictly one-way.

When a receiving machine starts, it may say something like:

1083 need 93
1084 need 30

The first number (e.g. 1083) is the block number.  The number after 
need is the number of data packets that are missing for that block.  A 
few - 2 or 3 - such lines is normal because the receiver drops a few 
packets when it is preparing all its initial data structures.  The 
missing packets will be collected the next time around.  After the first 
few blocks, on my setup (quiet RF environment), packet loss is very 
rare.  I'd be interested to hear your results.




___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Test release of multicast NAND updater

2008-11-07 Thread quozl
Test 3, a different place, B4 acting as sender, five C2 as receiver,
channel 1, four C2 updated fine in one or two passes.

The C2 that I mentioned before is continuing to give trouble.  Same
symptom occurs, usually between 20 and 200 blocks after starting.  Have
tried varying position, channel, temperature, battery presence, remove
all power, USB load, screen brightness, but no change to symptom.  I
suspect something wrong with the unit, but I can't pin it down.

(This same unit when it arrived last week with a prior G1G1 OS build on
it wasn't able to activate wireless.  After I had upgraded it to 757 it
was able to.  That's just additional correlation.)

The unit works fine now after I flashed it with 757 from a USB key.

-- 
James Cameronmailto:[EMAIL PROTECTED] http://quozl.netrek.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Test release of multicast NAND updater

2008-11-07 Thread quozl
Worked great.

Test 1, C2 as sender, channel 1, B4 as receiver, C2 copy-nand'd from
os757.img, broadcast update worked fine, only three lost packets, and
that was as I was handling the receiving unit.  On the next run through
the sequence numbers the missing packets were picked up, the NAND was
updated, and the B4 booted normally, and did first-boot sugar name
prompting.

Test 2, same C2 as sender, but restarted, four C2 units as receiver, all
receivers started first, then sender started.  Three units captured the
whole stream in two passes, wrote NAND.  One unit stalled with this on
display:

ok enand1
Boot device: /dropin-fs:mcastnand  Arguments: ether: 1 /nandflash
Waiting for server
Expecting 2389 blocks, 236511 total packets (99 ppb)
 need 24
0002 need 12
0003_

(where _ represents the block cursor)

It did not budge despite (a) the sender cycling through block 3 again,
and (b) the unit being moved right next to the sender.

No keyboard input did anything.

I power cycled, and did the enand1 again, and it worked fine.

Can Q2E22A be used on B2?  ;-)

General comment ... starting an enand1 while a broadcast is already in
progress ... seems to generate two three need responses.  Tried this
five times.  Feels like a settling issue.  You did mention it.  It makes
a single-pass problematic, but since the sender loops, no biggie.

-- 
James Cameronmailto:[EMAIL PROTECTED] http://quozl.netrek.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel