Entering Direct Test Mode properly after uninitializing Multiprotocol Service Layer

Hi,

I am attempting to get Direct Test Mode working on my nRF54L15 while also having access to the normal BT stack.

Normally, if I run dtm_tr_init(), I can begin the test (dtm_tr_get, dtm_tr_process), but after a few bytes, the MCU faults with this error:

E: MPSL ASSERT: 2, 62

So, building with CONFIG_BT=n disables MPSL and the DTM test works properly.

However, when I try to uninitialize the MPSL (mpsl_lib_uninit) and then run DTM (dtm_tr_init), it succeeds but never responds to the first 0x00 byte.

Is there a proper way to get these modules to coexist, or does code utilizing the DTM library have to be built separately from anything using MPSL?

Thanks

Parents
  • Hi,

    There has been some other questions about this in the past (see eg. here and here) - using DTM alongside another BLE application is generally not recommended and supported. Though I see that there have been some new features added to DTM here, I can see if that changes things. Is there any particular reason why you would need this, besides a faster time testing the product?

    EDIT: If you'd want to mix in something like that, I would also rather try to mix in our radio test sample, as DTM has very strict requirements for timing.

    Regards,

    Elfving

Reply
  • Hi,

    There has been some other questions about this in the past (see eg. here and here) - using DTM alongside another BLE application is generally not recommended and supported. Though I see that there have been some new features added to DTM here, I can see if that changes things. Is there any particular reason why you would need this, besides a faster time testing the product?

    EDIT: If you'd want to mix in something like that, I would also rather try to mix in our radio test sample, as DTM has very strict requirements for timing.

    Regards,

    Elfving

Children
Related