[Tinyos-devel] again about the baudrate issue for telos

Philip Levis pal at cs.stanford.edu
Mon Feb 16 18:45:35 PST 2009


On Feb 16, 2009, at 6:14 PM, Omprakash Gnawali wrote:

> On Mon, Feb 16, 2009 at 2:54 PM, Stephen Dawson-Haggerty
> <stevedh at eecs.berkeley.edu> wrote:
>> On Mon, Feb 16, 2009 at 2:50 PM, Razvan Musaloiu-E. <razvanm at cs.jhu.edu 
>> >
>> wrote:
>>> Hi!
>>>
>>> On Mon, 16 Feb 2009, Stephen Dawson-Haggerty wrote:
>>>
>>>> I don't know what other tests people have run, but at least in my
>>>> experience
>>>> (all on linux) 115200 seems to have more dropped packets and be  
>>>> less
>>>> stable
>>>> when you're sending quickly.
>>>
>>> In which direction did you see this? In my case I see dropped  
>>> packets when
>>> I send from PC to the mote. The other direction (from the mote to  
>>> PC) seems
>>> fine. Which is probably why many people don't have big issues with  
>>> 115200.
>>> :P
>>
>> I think I agree with you-- packets make it to the pc just fine but  
>> they get
>> dropped on the way to the mote.
>>
>> This seems consistent with what Eric said about the receive path  
>> being a
>> little too long on the mote-- presumably the pc doesn't have this  
>> problem.
>>
>
> For Tenet (which has mote-pc and pc-mote packets), we used 115200 for
> a while and switched to 57600 for higher reliability.

I think part of the complication is also that some of it seemed to be  
due to USB hubs and other factors, so it was not certain that the  
issue was the TinyOS code. Ben Greenstein, when he ran tests, didn't  
see overflows.[1] David Moss seemed to think the Linux side was due to  
the FTDI driver.[2] This, combined with the fact that it's not hard  
for a host application to limit its rate, suggested that reducing the  
mote->PC throughput to 57600 was not worth it.

I feel like this is a damned-if-you-do, damned-if-you-don't situation.  
If we set it to 57600, then people who need high mote->PC throughput  
will say it should be 115200. If we set it to 115200, then people who  
need high PC->mote throughput will say it should be 57600.

Maybe the solution is to change the toolchain. If the errors are only  
when you're sending quickly, then it's unlikely to be the interrupt  
handler length. The packet send rate does not determine the inter- 
interrupt timing, after all. Can someone verify this? If this is the  
case (it's the packet rate, not the bitrate), then we can rate-limit  
packets.

Phil

[1] http://mail.millennium.berkeley.edu/pipermail/tinyos-devel/2008-April/002704.html
[2] http://mail.millennium.berkeley.edu/pipermail/tinyos-devel/2008-April/002705.html



More information about the Tinyos-devel mailing list