[Tinyos-devel] lost packets from PC to the mote

Ben Greenstein bengreenstein at gmail.com
Wed Apr 30 14:45:09 PDT 2008


Razvan,
Thanks for digging into this and sorry to take so long to reply to the
thread. I never got to the bottom of why 115200 (and rates above that)
incur so many losses. I did verify that there were no overflows. I'm
surprised that you see these problems in linux as I only saw them in
Cygwin. Perhaps it was the device that I was using and not the OS that
made the difference (the linux env was on a dell precision 690
desktop, cygwin/windows was on a thinkpad t42 laptop). I verified that
the overflow bit in the control register wasn't being asserted. Also,
since this problem only seems to manifest itself when there are
packets going in both directions, I'd guess that packets are being
lost at a higher layer. Aargh.
Ben


On Fri, Apr 25, 2008 at 6:31 PM, Razvan Musaloiu-E. <razvanm at cs.jhu.edu> wrote:
> Hi!
>
>
>  On Fri, 25 Apr 2008, Philip Levis wrote:
>
>  >
>  > On Apr 18, 2008, at 6:47 PM, Razvan Musaloiu-E. wrote:
>  >> Hi!
>  >>
>  >> I just noticed that when a mote sends a lot of packets to a the PC, the
>  >> packets from the PC to the mote doesn't go reach the user application layer
>  >> some of the time. In the attached archive there is a test program that is
>  >> exposing this. The mote program is sending packets back-to-back while the
>  >> PC program (in Java) is receiving the packets and sends to the mote one
>  >> packets each second. I run the program on telosb in the following way:
>  >>
>  >> (console 1)$ ./sf 9001 /dev/ttyUSB0 115200
>  >> (console 2)$ java StressSerialTest -comm sf at localhost:9001
>  >>
>  >> The mote is toggling the blue led each time it receives a packet and it
>  >> should change state each time the RX led from the USB blinks. This doesn't
>  >> always happen: the RX led indicates a receive but the blue doesn't always
>  >> change its state. The (console 1) also shows lines like this:
>  >>      Note: write failed
>  >>      Note: write failed
>  >>      Note: write failed
>  >>      Note: write failed
>  >>
>  >> Did anyone else notice this behavior?
>  >
>  > Razvan,
>  >
>  > When I run your test application on my machine, I do not see this behavior. I
>  > was able to send 100 packets (the program ran for 100 seconds) with no write
>  > fails. What write fail rate do you observe?
>
>  Here are the loss rates I got so far:
>
>  Python in Linux:
>               115200        57600
>               PC   Laptop   PC Laptop
>         MoteA 20%   18%     0%  0%
>         MoteB 33%   20%     0%  0%
>         MoteC 34%   17%     0%  0%
>
>  Native Python in Windows:
>               115200  57600
>         MoteD 68%     88%
>
>  Java application using C sf in Linux:
>                115200  57600
>                PC      PC
>          MoteC 18%     0%
>
>  I all the test I send between 100-120 packets.
>
>  I haven't check the serial hardware overflow indicator yet but that's what
>  I'm going to do next.
>
>  --
>  Razvan ME
>
>
>
>  > I ran your Java application connected to a C serial forwarder.
>  >
>  > Phil
>  _______________________________________________
>  Tinyos-devel mailing list
>  Tinyos-devel at millennium.berkeley.edu
>  https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel
>


More information about the Tinyos-devel mailing list