[Avrora] CC2420 / Medium lock to transmission

Daniel Minder daniel.minder at uni-due.de
Fri Jan 8 13:34:21 PST 2010

Hi everyone (especially Rodolfo),

I noticed that PacketMonitor sometimes does not dump a received packet 
although it is received by the node since the node sends an ACK and 
resends the packet later on. So I started debugging :)

The problem is the "lock to transmission" in Medium. The receiver is 
considered as locked as long as a transmission is found. So, if there 
are overlapping transmissions the receiver is locked for a long time. 
CC2420Radio relies on this locking detection - which is wrong in my 
opinion. According to the CC2420 state machine (see data sheet) the 
state changes to RX_WAIT and the back to RX_SFD_SEARCH immediately after 
the reception of a frame. (BTW: Has anyone figured out how long the FSM 
stays in RX_WAIT???). This is completely independent of the Medium lock!

This error does not only affect the monitor, it also delays the sending 
of ACKs. Also, some packets might not be received if they follow 

I would try to fix it but the overall logic is a bit mystic :) Is it 
still necessary to call nextByte() in Medium.Receiver.endReceive()? My 
plan is to call endReceive() at certain place in the CC2420 state 
machine, which is in nextByte(), but then we will have calls like: 
nextByte() -> endReceive() -> nextByte()...

Any suggestions?


Daniel Minder
University of Duisburg-Essen, Networked Embedded Systems
Bismarckstr. 90, 47057 Duisburg, Germany
Skype: d.minder

More information about the Avrora mailing list