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

Jorge Ortiz jortiz at cs.berkeley.edu
Tue Feb 17 21:14:01 PST 2009


On Tue, Feb 17, 2009 at 5:42 PM, Philip Levis <pal at cs.stanford.edu> wrote:

>
> On Feb 17, 2009, at 8:42 AM, Jorge Ortiz wrote:
>
>  If we're taking a poll, I vote to slow it down to 57600.  I've had trouble
>> with the higher speed with and without the serial forwarder.  At 57600 all
>> my serial-related reliability problems went away and the code I was working
>> with was significantly more stable.
>>
>> Jorge
>>
>
> Can you be more specific than "I've had trouble?" Which direction? What
> motes? What operating system? Which serial forwarder?


I was actually using the b6lowpan stack on telosb and epic in Ubuntu 8.04
and 7.10 and the mote->pc had corrupted packets and random drops that caused
several things to happen:

1)  The ip-driver code was timing out because the mote was not successfully
acking control packets sent from the driver to the mote  (Stephen will can
fill in the details here)
2)  When/if the ip-driver was successfully started, packets that came in on
from the mote were getting corrupted or dropped when they were being
forwarded from the mote to the PC, so none of the motes were able to
associate with the base mote and get IP addresses, etc.

Ironically, all the wireless code and behavior was fine and reliable.  The
main problem occurred at the PC.  Once we set the rate to 57600, everything
worked perfectly.



>
> I could have some code in my back pocket that's unstable except at 2400.
> There's a fundamental issue here, with respect to rate control and flow
> control. The general operating model for the serial stack was that data
> mostly comes *out* of the network, so you want to optimize the mote->PC
> speed. Changing it to 57600 might make the problem go away for some cases,
> but it doesn't actually solve the problem. This isn't good system design.
>
> Design by straw poll is generally fine, but polls can change with the
> winds. The last time there was a straw poll, the answer was 115200...
>
> If you want to change the speed to 57600, you can always call the command
> on Msp430Usart1C. Or, shadow TelosSerialP.


>
> Please note that changing the default will mean that all existing programs
> which assume 115200 will break. For example, if someone does a CVS update
> but doesn't recompile the toolchain, then serial at xx:telos will be 115200.


These are all good points as well as adding a low-overhead flow-control
component on the PC side is also a good idea.

Any decision that's made it more or less fine with me, except i think it
should be noted that the fast rate does cause reliability problems with
serial communication on telosb.  Generally I'd rather have something work at
a slower rate (and have those who know the details of the stack make their
own adjustments to speed up the communication) than to have the unreliable
serial communication make the application not work at all.

Jorge



>
>
> Phil
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-devel/attachments/20090217/6cb1b416/attachment-0001.htm 


More information about the Tinyos-devel mailing list