Receive message callback rx_ok_cb never called

Hi
I can run the example ex_01a_simple_tx and ex_02a_simple_rx to pass blink frame message between devices, but when I use two deivces to tx blink frame in the same time, the rx device only can receive one message which another message lost, so I thinks that’s the rx buffer problem. so I try the ex_02e_rx_dbl_buff example in rx device, and the problem is that the callback never trigger seems like something wrong with the interrupt, any tips I can debug with?
int dw_main(void)
{
/* Display application name on LCD. */
lcd_display_str(APP_NAME);

/* Install DW1000 IRQ handler. */
port_set_deca_isr(dwt_isr); 

/* Reset and initialise DW1000. See NOTE 2 below.
 * For initialisation, DW1000 clocks must be temporarily set to crystal speed. After initialisation SPI rate can be increased for optimum
 * performance. */
reset_DW1000(); /* Target specific drive of RSTn line into DW1000 low for a period. */
port_set_dw1000_slowrate();
if (dwt_initialise(DWT_LOADNONE) == DWT_ERROR)
{
    lcd_display_str("INIT FAILED");
    while (1)
    { };
}
port_set_dw1000_fastrate();

/* Configure DW1000. */
dwt_configure(&config);

/* Activate double buffering. */
dwt_setdblrxbuffmode(1);

/* Register RX call-back. */
dwt_setcallbacks(NULL, &rx_ok_cb, NULL, &rx_err_cb);

/* Enable wanted interrupts (RX good frames and RX errors). */
dwt_setinterrupt(DWT_INT_RFCG | DWT_INT_RPHE | DWT_INT_RFCE | DWT_INT_RFSL | DWT_INT_SFDT, 1);

/* Activate reception immediately. See NOTE 3 below. */
dwt_rxenable(DWT_START_RX_IMMEDIATE);

/* Loop forever receiving frames. See NOTE 4 below. */
while (1)
{ };

}

maybe just blink frame was ignored