[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