[Tinyos-devel] PacketLink interface, CC2420 impl, problems withBroadcast packets TinyOS 2.0.2.2

David Moss dmm at rincon.com
Thu Sep 6 11:28:23 PDT 2007


Then maybe software acks have an issue.

CC2420ReceiveP.nc:
      if(call CC2420Config.isAutoAckEnabled() && !call
CC2420Config.isHwAutoAckDefault()) {
        if (((( header->fcf >> IEEE154_FCF_ACK_REQ ) & 0x01) == 1)
            && (header->dest == call CC2420Config.getShortAddr())
            && ((( header->fcf >> IEEE154_FCF_FRAME_TYPE ) & 7) ==
IEEE154_TYPE_DATA)) {
  ...
}

Note the header->dest line.  

-David



-----Original Message-----
From: tinyos-devel-bounces at Millennium.Berkeley.EDU
[mailto:tinyos-devel-bounces at Millennium.Berkeley.EDU] On Behalf Of Razvan
Musaloiu-E.
Sent: Thursday, September 06, 2007 11:15 AM
To: J. Ryan Stinnett
Cc: tinyos-devel at Millennium.Berkeley.EDU
Subject: Re: [Tinyos-devel] PacketLink interface, CC2420 impl, problems
withBroadcast packets TinyOS 2.0.2.2

Hi!

On Thu, 6 Sep 2007, J. Ryan Stinnett wrote:

> Avinash -
>
> Broadcast packets are not ACKed at all.

If a broadcast packet has the 'Acknowledge request' set then it will be 
acked by the CC2420 chip.

--
Razvan ME

> If I understand correctly, you are checking in the sendDone event 
> whether or not the packet was ACKed, and retrying if it was not, 
> correct?  This check should not be performed on broadcast packets since 
> ACKs are never sent for them.
>
> - Ryan
>
> Avinash Sridharan wrote:
>> Hi All,
>>  I am not sure if this is the right forum to send this mail, or should I
be 
>> sending it to the TinyOS-help mailing list.
>> 
>> I was using the the PacketLink interface on the Tmote Sky's with the
CC2420 
>> stack. In my code I have broadcast beacons that are send out at periodic 
>> intervals. When I started using the PacketLink interface I started seeing
a 
>> considerable drop in my throughput (this is observed using logs from the 
>> mote).
>> 
>> I added some code to see the number of retransmission attempts for each 
>> packet being sent out. In my test case I had a fully connected network 
>> (with all links having a PRR of ~ 1). Ideally I should be seeing all 
>> packets being ACKED and the number the sent attempts on packets being 1. 
>> This was the case for the packets that were being unicasted however for
the 
>> broadcast packets the transmission attempts were always the maximum
number 
>> of retries and they were never ACKED (this was true for all broadcast 
>> packets).
>> 
>> On digging a bit deeper I realised that the CC2420PacketC (which provides

>> the PacketAcknowledgement interface) does not check for the destination 
>> address and simply returns the ACK field in the metadata. Once I added a 
>> condition for the checking the broadcast address (and always returning
true 
>> for BROADCAST), performance returned to normal.
>> 
>> Is this a valid bug ? Is the fix correct, or should this condition be 
>> handled at some other point ?
>> 
>> regards,
>> Avinash
>> 
>> 
>> -- 
>> Phd Dept. of Electrical Engineering
>> University of Southern California
>> http://www-scf.usc.edu/~asridhar
>> 
>> 
>
_______________________________________________
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