OLPC boards in promiscuous mode

David P. Reed dpreed at reed.com
Wed Oct 18 10:24:09 EDT 2006


Is there any reason we cannot get the source code for the firmware right 
now? To be honest, we are doing what we are doing on the OLPC hardware 
based on the presumption that we will have full and open access to 
change the firmware functionality, and not have to depend on Marvell to 
decide what we should and shouldn't want.

the 4.5 second routing response is just not at all what we want - our 
nodes are riding on elevators and passing by while people are carrying 
them walking and on bicycles. Our use is not "fixed wireless". That may 
be what OLPC thinks it needs today, but I suspect even that thought will 
prove wrong in the "wild".


Ronak Chokshi wrote:
>
> That’s correct.
>
> Ronak
>
> ------------------------------------------------------------------------
>
> *From:* Michail Bletsas [mailto:mbletsas at laptop.org]
> *Sent:* Monday, October 16, 2006 1:11 PM
> *To:* Ronak Chokshi
> *Cc:* Aswath Mohan; David P. Reed; libertas-dev at lists.infradead.org; 
> Andrew Lippman; Nadav Aharony; Polychronis Ypodimatopoulos
> *Subject:* RE: OLPC boards in promiscuous mode
>
>
> Ronak,
>
> Then in his case, he should be using the "plain" WiFi firmware. Correct?
>
> M.
>
>
>
> *"Ronak Chokshi" <rchokshi at marvell.com>*
>
> 10/16/2006 04:07 PM
>
> 	
>
> To
>
> 	
>
> "Polychronis Ypodimatopoulos" <ypod at MIT.EDU>
>
> cc
>
> 	
>
> <libertas-dev at lists.infradead.org>, "David P. Reed" <dpreed at reed.com>, 
> "Andrew Lippman" <lip at media.mit.edu>, "Michail Bletsas" 
> <mbletsas at laptop.org>, "Nadav Aharony" <nadav at MIT.EDU>, "Aswath Mohan" 
> <amohan at marvell.com>
>
> Subject
>
> 	
>
> RE: OLPC boards in promiscuous mode
>
> 	
>
>
>
>
> Hi Polychronis,
> Sorry for the delay. This is expected behavior for the firmware that 
> you are using. The packet loss is because, approx. every 4.5 seconds, 
> the routes in the nodes expire. This is by design. As a result, the 
> individual nodes kick off a new Route Request packet to find the next 
> hop towards the final destination MAC address (DA) even if it is one 
> hop away. The Route Req and Route Reply take a finite time to transmit 
> and then to process and hence this results in the delay in the packet 
> transfers and thereafter in ping losses. This is initial algorithm 
> that we have designed and implemented and has been heavily geared 
> towards link reliability/stability/freshness. We will be making 
> further modifications (including fine tuning the time mentioned above) 
> to make it more robust and hence to minimize such packet losses.
>
> Hope this helps.
>
> Thanks
> Ronak
>
> ------------------------------------------------------------------------
>
>
> *From:* Polychronis Ypodimatopoulos [mailto:ypod at MIT.EDU] *
> Sent:* Wednesday, October 11, 2006 7:04 PM*
> To:* Ronak Chokshi*
> Cc:* libertas-dev at lists.infradead.org; David P. Reed; Andrew Lippman; 
> Michail Bletsas; Nadav Aharony; Polychronis Ypodimatopoulos*
> Subject:* Re: OLPC boards in promiscuous mode
>
> Hello Ronak,
>
> Thanks for your response.
> I installed the new firmware on 3 of the laptops. The errors have gone 
> away, but most of the problems are still here.
>
> I did a simple test to show that using the new firmware (usb8388.bin 
> USB 8388 Release for MRP 
> <http://www.marvell.com/drivers/driverDisplay.do?dId=164&pId=38>), as 
> opposed to the old one (usb8388_A1_W8015FP14_FW2.bin) has made things 
> somewhat worse.
>
> Machines A,B,C have the new firmware and machines D,E,F have the old 
> firmware, a total of 6 machines.
> I 'm concurrently pinging as follows:
> A to B
> B to C
> C to A
>
> And also the other group:
> D to E
> E to F
> F to D
>
> The following table summarizes ping results for each node of the two 
> groups:
> ====================================
> pair total time average time
> ------------------------------------
> A to B 225.43
> B to C 47.59 153.29
> C to A 186.84
> ------------------------------------
> D to E 58.45
> E to F 57.33 55.55
> F to D 50.86
> ====================================
>
> I should note that the only difference between the two groups of 
> machines is only the firmware being used.
> Finally, I also tried to concurrently ssh from one machine to another, 
> in the same pattern as the ping.
> In the second group (old firmware) I managed to ssh to each successive 
> machine in reasonable times. In the first group I was never given a 
> prompt to enter the password of the next machine in the circle!
>
> During all tests, I was using ssh to login to each of the six machines 
> through a USB wired interface. I was issuing commands to all three 
> machines of the two groups by sending tty input to all three sessions 
> of each group concurrently.
>
> Best
> Polychronis
>
>
> PS What follows is a detailed list of the ping commands.
>
> Ping results of A (10.0.9.132):
> [root at olpc1 ~]# ping 10.0.7.221 -c20
> PING 10.0.7.221 (10.0.7.221) 56(84) bytes of data.
> 64 bytes from 10.0.7.221: icmp_seq=4 ttl=64 time=3.98 ms
> 64 bytes from 10.0.7.221: icmp_seq=5 ttl=64 time=3.80 ms
> 64 bytes from 10.0.7.221: icmp_seq=6 ttl=64 time=3.88 ms
> 64 bytes from 10.0.7.221: icmp_seq=7 ttl=64 time=60.1 ms
> 64 bytes from 10.0.7.221: icmp_seq=10 ttl=64 time=4.41 ms
> 64 bytes from 10.0.7.221: icmp_seq=11 ttl=64 time=3.81 ms
> 64 bytes from 10.0.7.221: icmp_seq=12 ttl=64 time=4.96 ms
> 64 bytes from 10.0.7.221: icmp_seq=13 ttl=64 time=63.2 ms
> 64 bytes from 10.0.7.221: icmp_seq=16 ttl=64 time=4.00 ms
> 64 bytes from 10.0.7.221: icmp_seq=17 ttl=64 time=3.90 ms
> 64 bytes from 10.0.7.221: icmp_seq=18 ttl=64 time=3.99 ms
> 64 bytes from 10.0.7.221: icmp_seq=19 ttl=64 time=65.4 ms
>
> --- 10.0.7.221 ping statistics ---
> 20 packets transmitted, 12 received, 40% packet loss, time 19011ms
> rtt min/avg/max/mdev = 3.809/18.804/65.464/25.516 ms
>
>
> Ping results of B (10.0.7.221):
> [root at olpc3 ~]# ping 10.0.8.204 -c20
> PING 10.0.8.204 (10.0.8.204) 56(84) bytes of data.
> 64 bytes from 10.0.8.204: icmp_seq=3 ttl=64 time=4.19 ms
> 64 bytes from 10.0.8.204: icmp_seq=4 ttl=64 time=3.84 ms
> 64 bytes from 10.0.8.204: icmp_seq=5 ttl=64 time=3.87 ms
> 64 bytes from 10.0.8.204: icmp_seq=6 ttl=64 time=3.89 ms
> 64 bytes from 10.0.8.204: icmp_seq=9 ttl=64 time=4.82 ms
> 64 bytes from 10.0.8.204: icmp_seq=10 ttl=64 time=3.85 ms
> 64 bytes from 10.0.8.204: icmp_seq=11 ttl=64 time=3.87 ms
> 64 bytes from 10.0.8.204: icmp_seq=12 ttl=64 time=3.89 ms
> 64 bytes from 10.0.8.204: icmp_seq=15 ttl=64 time=3.83 ms
> 64 bytes from 10.0.8.204: icmp_seq=16 ttl=64 time=3.85 ms
> 64 bytes from 10.0.8.204: icmp_seq=17 ttl=64 time=3.87 ms
> 64 bytes from 10.0.8.204: icmp_seq=18 ttl=64 time=3.82 ms
>
> --- 10.0.8.204 ping statistics ---
> 20 packets transmitted, 12 received, 40% packet loss, time 19010ms
> rtt min/avg/max/mdev = 3.823/3.970/4.829/0.284 ms
>
>
>
> Ping results of C (10.0.8.204):
> [root at olpc4 ~]# ping 10.0.9.132 -c20
> PING 10.0.9.132 (10.0.9.132) 56(84) bytes of data.
> 64 bytes from 10.0.9.132: icmp_seq=3 ttl=64 time=3.91 ms
> 64 bytes from 10.0.9.132: icmp_seq=4 ttl=64 time=3.59 ms
> 64 bytes from 10.0.9.132: icmp_seq=5 ttl=64 time=3.61 ms
> 64 bytes from 10.0.9.132: icmp_seq=6 ttl=64 time=3.63 ms
> 64 bytes from 10.0.9.132: icmp_seq=10 ttl=64 time=3.61 ms
> 64 bytes from 10.0.9.132: icmp_seq=11 ttl=64 time=9.36 ms
> 64 bytes from 10.0.9.132: icmp_seq=12 ttl=64 time=4.61 ms
> 64 bytes from 10.0.9.132: icmp_seq=14 ttl=64 time=72.6 ms
> 64 bytes from 10.0.9.132: icmp_seq=16 ttl=64 time=3.59 ms
> 64 bytes from 10.0.9.132: icmp_seq=17 ttl=64 time=3.61 ms
> 64 bytes from 10.0.9.132: icmp_seq=18 ttl=64 time=3.62 ms
> 64 bytes from 10.0.9.132: icmp_seq=20 ttl=64 time=71.1 ms
>
> --- 10.0.9.132 ping statistics ---
> 20 packets transmitted, 12 received, 40% packet loss, time 19012ms
> rtt min/avg/max/mdev = 3.591/15.582/72.673/25.236 ms
>
>
>
> Ping results of D (10.0.9.87):
> [root at olpc5 inet]# ping 10.0.9.1 -c20
> PING 10.0.9.1 (10.0.9.1) 56(84) bytes of data.
> 64 bytes from 10.0.9.1: icmp_seq=1 ttl=64 time=8.30 ms
> 64 bytes from 10.0.9.1: icmp_seq=2 ttl=64 time=2.75 ms
> 64 bytes from 10.0.9.1: icmp_seq=3 ttl=64 time=2.42 ms
> 64 bytes from 10.0.9.1: icmp_seq=4 ttl=64 time=2.45 ms
> 64 bytes from 10.0.9.1: icmp_seq=5 ttl=64 time=2.97 ms
> 64 bytes from 10.0.9.1: icmp_seq=6 ttl=64 time=4.14 ms
> 64 bytes from 10.0.9.1: icmp_seq=7 ttl=64 time=4.36 ms
> 64 bytes from 10.0.9.1: icmp_seq=8 ttl=64 time=2.39 ms
> 64 bytes from 10.0.9.1: icmp_seq=9 ttl=64 time=2.37 ms
> 64 bytes from 10.0.9.1: icmp_seq=10 ttl=64 time=2.34 ms
> 64 bytes from 10.0.9.1: icmp_seq=11 ttl=64 time=2.34 ms
> 64 bytes from 10.0.9.1: icmp_seq=12 ttl=64 time=2.51 ms
> 64 bytes from 10.0.9.1: icmp_seq=13 ttl=64 time=2.38 ms
> 64 bytes from 10.0.9.1: icmp_seq=14 ttl=64 time=2.43 ms
> 64 bytes from 10.0.9.1: icmp_seq=15 ttl=64 time=2.31 ms
> 64 bytes from 10.0.9.1: icmp_seq=16 ttl=64 time=2.46 ms
> 64 bytes from 10.0.9.1: icmp_seq=17 ttl=64 time=2.49 ms
> 64 bytes from 10.0.9.1: icmp_seq=18 ttl=64 time=2.40 ms
> 64 bytes from 10.0.9.1: icmp_seq=19 ttl=64 time=2.19 ms
> 64 bytes from 10.0.9.1: icmp_seq=20 ttl=64 time=2.45 ms
>
> --- 10.0.9.1 ping statistics ---
> 20 packets transmitted, 20 received, 0% packet loss, time 19003ms
> rtt min/avg/max/mdev = 2.198/2.927/8.303/1.356 ms
>
>
> Ping results of E (10.0.9.1):
> [root at olpc6 inet]# ping 10.0.8.2 -c20
> PING 10.0.8.2 (10.0.8.2) 56(84) bytes of data.
> 64 bytes from 10.0.8.2: icmp_seq=1 ttl=64 time=6.22 ms
> 64 bytes from 10.0.8.2: icmp_seq=2 ttl=64 time=7.66 ms
> 64 bytes from 10.0.8.2: icmp_seq=3 ttl=64 time=2.75 ms
> 64 bytes from 10.0.8.2: icmp_seq=4 ttl=64 time=1.89 ms
> 64 bytes from 10.0.8.2: icmp_seq=5 ttl=64 time=3.68 ms
> 64 bytes from 10.0.8.2: icmp_seq=6 ttl=64 time=2.70 ms
> 64 bytes from 10.0.8.2: icmp_seq=7 ttl=64 time=2.46 ms
> 64 bytes from 10.0.8.2: icmp_seq=8 ttl=64 time=2.49 ms
> 64 bytes from 10.0.8.2: icmp_seq=9 ttl=64 time=1.90 ms
> 64 bytes from 10.0.8.2: icmp_seq=10 ttl=64 time=2.40 ms
> 64 bytes from 10.0.8.2: icmp_seq=11 ttl=64 time=2.95 ms
> 64 bytes from 10.0.8.2: icmp_seq=12 ttl=64 time=2.58 ms
> 64 bytes from 10.0.8.2: icmp_seq=13 ttl=64 time=2.48 ms
> 64 bytes from 10.0.8.2: icmp_seq=14 ttl=64 time=1.89 ms
> 64 bytes from 10.0.8.2: icmp_seq=15 ttl=64 time=1.90 ms
> 64 bytes from 10.0.8.2: icmp_seq=16 ttl=64 time=2.55 ms
> 64 bytes from 10.0.8.2: icmp_seq=17 ttl=64 time=2.45 ms
> 64 bytes from 10.0.8.2: icmp_seq=18 ttl=64 time=2.47 ms
> 64 bytes from 10.0.8.2: icmp_seq=19 ttl=64 time=2.00 ms
> 64 bytes from 10.0.8.2: icmp_seq=20 ttl=64 time=1.91 ms
>
> --- 10.0.8.2 ping statistics ---
> 20 packets transmitted, 20 received, 0% packet loss, time 19003ms
> rtt min/avg/max/mdev = 1.892/2.871/7.665/1.441 ms
>
>
> Ping results of F (10.0.8.2):
> [root at olpc7 inet]# ping 10.0.9.87 -c20
> PING 10.0.9.87 (10.0.9.87) 56(84) bytes of data.
> 64 bytes from 10.0.9.87: icmp_seq=1 ttl=64 time=2.41 ms
> 64 bytes from 10.0.9.87: icmp_seq=2 ttl=64 time=5.47 ms
> 64 bytes from 10.0.9.87: icmp_seq=3 ttl=64 time=1.96 ms
> 64 bytes from 10.0.9.87: icmp_seq=4 ttl=64 time=1.97 ms
> 64 bytes from 10.0.9.87: icmp_seq=5 ttl=64 time=2.00 ms
> 64 bytes from 10.0.9.87: icmp_seq=6 ttl=64 time=6.13 ms
> 64 bytes from 10.0.9.87: icmp_seq=7 ttl=64 time=5.16 ms
> 64 bytes from 10.0.9.87: icmp_seq=8 ttl=64 time=1.93 ms
> 64 bytes from 10.0.9.87: icmp_seq=9 ttl=64 time=2.47 ms
> 64 bytes from 10.0.9.87: icmp_seq=10 ttl=64 time=1.99 ms
> 64 bytes from 10.0.9.87: icmp_seq=11 ttl=64 time=2.01 ms
> 64 bytes from 10.0.9.87: icmp_seq=12 ttl=64 time=1.90 ms
> 64 bytes from 10.0.9.87: icmp_seq=13 ttl=64 time=1.93 ms
> 64 bytes from 10.0.9.87: icmp_seq=14 ttl=64 time=1.96 ms
> 64 bytes from 10.0.9.87: icmp_seq=15 ttl=64 time=1.98 ms
> 64 bytes from 10.0.9.87: icmp_seq=16 ttl=64 time=1.87 ms
> 64 bytes from 10.0.9.87: icmp_seq=17 ttl=64 time=1.89 ms
> 64 bytes from 10.0.9.87: icmp_seq=18 ttl=64 time=1.92 ms
> 64 bytes from 10.0.9.87: icmp_seq=19 ttl=64 time=1.94 ms
> 64 bytes from 10.0.9.87: icmp_seq=20 ttl=64 time=1.97 ms
>
> --- 10.0.9.87 ping statistics ---
> 20 packets transmitted, 20 received, 0% packet loss, time 19000ms
> rtt min/avg/max/mdev = 1.878/2.545/6.133/1.297 ms
>
>
>
>
>
>
>
>
>
>



More information about the libertas-dev mailing list