Devel Digest, Vol 37, Issue 49

Mitch Bradley wmb at
Wed Mar 25 02:45:13 EDT 2009

> I can't get more than 10 or 11 megabits throughput between a pair of XOs 
> sitting right next to eachother.  That's XO-XO via the mesh.  The XO says the 
> links are running at 54 megabits so I'm expecting a lot more than that.

54 mbps is the bit rate without consideration of the time it takes to 
get onto the air and the various framing overheads.

I did a lot of work to make the NANDblaster send as fast as possible, 
using the mesh in a restricted mode to avoid retransmissions.  I got to 
2.8 Mbytes/sec.  Ricardo Carrano told me that the fastest rate that has 
ever been measured using Linux is 1.4 MBytes/sec.

I can easily explain the 1.4 MBytes/sec figure - that's exactly what 
you'll get if you send maximum-size Ethernet frames at a rate of one 
frame per millisecond.  The 1/ms rate limitation is easily explained by 
the USB macro-frame time.

To get to the 2.8 rate, I had to fiddle with OFW's USB stack to make 
sure that I was queuing up packets just right so the USB host controller 
could send more than one without going through the "service other 
schedules in this macroframe" dance.

I did some tests where I pushed data as fast as possible to the chip, 
but configured the chip not to actually transmit them.  The rate under 
Linux was the aformentioned 1.4 MB/sec, confirming the USB + driver 
bottleneck hypothesis.  Under OFW, I got up to 4.2 MB/sec.

> I see occasional glitches that reduce throughput.  I think that's somebody 
> taking time out to go probe for APs and such and the radio is deaf when 
> working on another channel.  
For the nandblaster, I went to some effort to ensure that the XOs 
weren't contributing to the beacon traffic.  I had to turn of several 
things.  It was complicated.

> Where is that code?  Is that all at the Sugar level or does the low level 
> WiFi/NetworkManager stuff do similar nasty things?  How often should I expect 
> disruptions?  (I'm seeing them every minute or two  I haven't looked 
> carefully.)

Some of it is handled inside the wireless module firmware.  Perhaps not all.

More information about the Devel mailing list