DWM1000 SPI write does not work (but SPI read works)

Okay, I found another thread with the same problem:

For me also the dwt_initialise() function causes the problem. If I don"t call it, writing to SPI works (I also have the problem that Device ID is 0xFFFFFFFF after calling dwt_initialise()).
Why does dwt_initialise() cause this behavior?

But I still have another problem:
This part waits for a frame and checks the SYS_STATUS_ID register to see if a frame was received.

  /* Activate reception immediately. */
  dwt_rxenable(DWT_START_RX_IMMEDIATE);

  /* Poll for reception of a frame or error/timeout. See NOTE 5 below. */
  while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_TO | SYS_STATUS_ALL_RX_ERR)))
  {};

However, dwt_read32bitreg(SYS_STATUS_ID) always returns 0xFFFFFFFF for me, even though no frame was received, which then causes the loop to terminate. Does anyone know why that is?