Devel Digest, Vol 37, Issue 49
Mitch Bradley
wmb at laptop.org
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