If the modem goes idle after a repeatable period, you might have an issue with timer comparator 3 expiring, as listed in the errata, below. Typically this will happen after 67 seconds, but could also happen 2x, 4x, 8x, or 16x after that. To fix the bug, be sure to enable timer comparator 3 interrupts and restart the receiver when it pops. To help identify if this is the case, you can enable the Out of Idle indicator and see if the transceiver gets stuck idle.
Timer Comparator 3 can abort an RX sequence - If an RX
sequence (Packet Mode) is active and Timer Comp 3 matches
the value of the Event Timer “current time” counter, the RX
sequence will be aborted. No status bit is set and no interrupt can
be generated. Exit from RX mode can only be detected by using
GPIO1 as an “out-of-idle” indicator.
Freescale IEEE 802.15.4 MAC (and BeeStack) software already
deals with and compensates for this situation.
If users are writing their own software (such as using SMAC), this
condition should be compensated for.
Note:
The Freescale IEEE 802.15.4 MAC andBeeStack (which uses the MAC) already
compensate for this condition.
For users writing their own applications:
a) Never let the counter reach the compare value
in Time Comp 3 register.
b) Enable Timer Compare 3 always to generate an
interrupt. If the interrupt occurs and the RX state
was enabled. Take appropriate action, such as
restarting RX.
c) Monitor the “out-of_idle” indicator while in RX
mode.