nRF9151 DECT NR+ – PT association fails with MAC_STATUS_NO_RESOURCES (7) using official dect_shell sample

Hello,

I am currently testing DECT NR+ communication between multiple nRF9151 SMA DK boards, but I am unable to establish a connection between an FT and a PT.

I initially observed the issue with my own application, so I decided to reproduce the test using the official Nordic dect_shell sample without any modifications.

Unfortunately, I can reproduce the association problem with the official sample as well.

Environment

  • Hardware: nRF9151 SMA DK (multiple boards available for testing)
  • nRF Connect SDK: v3.4.0
  • Zephyr OS: v4.4.0-bf801e4e3d19
  • Sample: nrf/samples/dect/dect_shell
  • Board target: nrf9151dk/nrf9151/ns
  • DECT NR+ modem firmware: mfw-nr+_nrf91x1_2.0.0
  • Region: EU
  • Band: 1

I configured one board as FT with Long RD ID 1 and another board as PT with Long RD ID 2.

FT configuration

dect sett --reset
dect sett -t 1 --dev_type FT
dect activate
dect connect

The FT successfully creates the network:

NET_EVENT_DECT_RSSI_SCAN_RESULT
RSSI scan result:
  Channel:                             1657
  All subslots free:                   yes
  Busy percentage:                     0%

NET_EVENT_DECT_CLUSTER_CREATED_RESULT
Cluster started/reconfigured at channel 1657.
FT: network created

NET_EVENT_DECT_NETWORK_STATUS:
  Network status: created

dect status reports:

DECT NR+ status:
  Modem FW version:             mfw-nr+_nrf91x1_2.0.0
  Modem activated:              yes
  Cluster running:              yes
  Cluster channel:              1657

I also tested starting the network beacon explicitly.

PT configuration

I first deactivate the modem before resetting/changing the settings:

dect deactivate
dect sett --reset
dect sett -t 2 --dev_type PT
dect activate
dect connect

The PT appears to discover the FT correctly, because it identifies Long RD ID 1 as its Parent, but the association fails with:

NET_EVENT_DECT_ASSOCIATION_CHANGED
 DECT_ASSOCIATION_REQ_FAILED_MDM:
  Association request failed in modem with long RD ID: 1
  Neighbor role:                                       Parent
  Modem cause:                                         No resources (7)

Network creation failed: 7 (No resources)

NET_EVENT_DECT_NETWORK_STATUS:
  Network status: failure 7 (No resources)

<err> dect_mdm: Modem operation failed for Association Response
with err MAC_STATUS_NO_RESOURCES (7) with long RD ID: 0x1

What is interesting is that immediately after this failure, dect cluster_info on the FT reports:

Cluster status information:
  Cluster channel:                 1657
  Number of Association requests:  0
  Number of Association failures:  0
  Number of neighbors:             0
  Number of FTPT neighbors:        0
  Number of received RACH PDCs:    0
  Number of RACH PCC CRC failures: 0

dect neighbor_list on the FT also reports:

No neighbors found.

Therefore, from the PT side it looks like the FT is discovered (Long RD ID 1 / Parent), but the association procedure fails with MAC_STATUS_NO_RESOURCES (7), while the FT does not appear to receive an association request at all.

I have multiple nRF9151 SMA DK boards available and can reproduce the issue after resetting the DECT settings. The boards are using the same modem firmware.

Could you please clarify:

  1. What exactly does MAC_STATUS_NO_RESOURCES (7) mean during PT association in this context?
  2. Is mfw-nr+_nrf91x1_2.0.0 the correct/recommended modem firmware for the dect_shell sample in NCS v3.4.0?
  3. Is there any additional FT configuration required before a PT can associate (Network Beacon, RACH resources, association settings, etc.)?
  4. Should the official dect_shell sample work with the simple FT/PT procedure above without any additional configuration?
  5. Are there any additional modem/debug logs I can enable to determine why the PT reports NO_RESOURCES?

I can provide complete logs from both the FT and PT, as well as test with a third nRF9151 SMA DK if needed.

Thank you.

Parents
  • Hi,

    I just tried to replicate your issue on my DKs and for me, it worked fine...

    FT:

    desh:~$ dect deactivate 
    DECT NR+ stack de-activation initiated.
    De-activation done
    NET_EVENT_DECT_DEACTIVATE_DONE: de-activation done
    desh:~$ dect sett --reset
    Settings updated.
    desh:~$ dect sett -t 1 --dev_type FT
    Settings updated.
    desh:~$ dect activate
    DECT NR+ stack activation initiated.
    Activation done
    NET_EVENT_DECT_ACTIVATE_DONE: activation done
    desh:~$ dect connect
    connect initiated.
    NET_EVENT_DECT_RSSI_SCAN_RESULT
    RSSI scan result:
      Channel:                             1657
      All subslots free:                   yes
      Busy percentage:                     0%
    NET_EVENT_DECT_RSSI_SCAN_DONE: scan done
    NET_EVENT_DECT_CLUSTER_CREATED_RESULT
    Cluster started/reconfigured at channel 1657.
    FT: network created
    NET_EVENT_DECT_NETWORK_STATUS:
      Network status: created
    [00:12:07.915,649] <wrn> dect_mdm: handle_mdm_rssi_complete: no IPv6 prefix to set - using link local only
    NET_EVENT_DECT_ASSOCIATION_CHANGED
     DECT_ASSOCIATION_CREATED:
      Association created with long RD ID:                 2
      Neighbor role:                                       Child
    [00:12:36.614,776] <wrn> net_l2_dect: No global IPv6 address to set - using link local only
    desh:~$

    PT:

    desh:~$ dect deactivate
    DECT NR+ stack de-activation initiated.
    De-activation done
    NET_EVENT_DECT_DEACTIVATE_DONE: de-activation done
    desh:~$ dect sett --reset
    Settings updated.
    desh:~$ dect sett -t 2 --dev_type PT
    Settings updated.
    desh:~$ dect activate
    DECT NR+ stack activation initiated.
    Activation done
    NET_EVENT_DECT_ACTIVATE_DONE: activation done
    desh:~$ dect connect
    connect initiated.
    NET_EVENT_DECT_ASSOCIATION_CHANGED
     DECT_ASSOCIATION_CREATED:
      Association created with long RD ID:                 1
      Neighbor role:                                       Parent
    PT: Joined a network
    NET_EVENT_DECT_NETWORK_STATUS:
      Network status: joined
    [00:14:00.376,037] <wrn> net_l2_dect: No global IPv6 address to set - using link local only
    desh:~$

    So, I'm not exactly sure what is happening with your setup.

    Did you tweak anything in the application, and how did you build it (any extra kconfig/overlay)?

    Can you maybe share your compiled application so that I can try to run it on my DKs and see if this is an issue with the application or the DKs?

    And here is the application I compiled (tfm_merged.hex), please try to program this one to your DKs and check if that works.

    What exactly does MAC_STATUS_NO_RESOURCES (7) mean during PT association in this context?

    I haven't looked into details yet, so I'm not 100% sure. But It looks to be some kind of complain that there is not enough free space in the memory to handle a new connection.

    But I don't think you are trying to handle multiple connections at the same time here. And only 1 connection should be a walk in the park for the application.

    Is mfw-nr+_nrf91x1_2.0.0 the correct/recommended modem firmware for the dect_shell sample in NCS v3.4.0?

    Yes, this is the same one as I used.

    Is there any additional FT configuration required before a PT can associate (Network Beacon, RACH resources, association settings, etc.)?

    I think you can leave the rest by default as when I tried your commands, it worked on my end.

    Should the official dect_shell sample work with the simple FT/PT procedure above without any additional configuration?

    From what I can see in my test, yes it should work.

    Are there any additional modem/debug logs I can enable to determine why the PT reports NO_RESOURCES?

    We would be able to see more if you share the full logs. And maybe even more if you enable the modem trace. But, before doing so, it would be better to just try to isolate where the issue is (DK, mfw, app, build, commands, ...).

    Best regards,

    Simon

Reply
  • Hi,

    I just tried to replicate your issue on my DKs and for me, it worked fine...

    FT:

    desh:~$ dect deactivate 
    DECT NR+ stack de-activation initiated.
    De-activation done
    NET_EVENT_DECT_DEACTIVATE_DONE: de-activation done
    desh:~$ dect sett --reset
    Settings updated.
    desh:~$ dect sett -t 1 --dev_type FT
    Settings updated.
    desh:~$ dect activate
    DECT NR+ stack activation initiated.
    Activation done
    NET_EVENT_DECT_ACTIVATE_DONE: activation done
    desh:~$ dect connect
    connect initiated.
    NET_EVENT_DECT_RSSI_SCAN_RESULT
    RSSI scan result:
      Channel:                             1657
      All subslots free:                   yes
      Busy percentage:                     0%
    NET_EVENT_DECT_RSSI_SCAN_DONE: scan done
    NET_EVENT_DECT_CLUSTER_CREATED_RESULT
    Cluster started/reconfigured at channel 1657.
    FT: network created
    NET_EVENT_DECT_NETWORK_STATUS:
      Network status: created
    [00:12:07.915,649] <wrn> dect_mdm: handle_mdm_rssi_complete: no IPv6 prefix to set - using link local only
    NET_EVENT_DECT_ASSOCIATION_CHANGED
     DECT_ASSOCIATION_CREATED:
      Association created with long RD ID:                 2
      Neighbor role:                                       Child
    [00:12:36.614,776] <wrn> net_l2_dect: No global IPv6 address to set - using link local only
    desh:~$

    PT:

    desh:~$ dect deactivate
    DECT NR+ stack de-activation initiated.
    De-activation done
    NET_EVENT_DECT_DEACTIVATE_DONE: de-activation done
    desh:~$ dect sett --reset
    Settings updated.
    desh:~$ dect sett -t 2 --dev_type PT
    Settings updated.
    desh:~$ dect activate
    DECT NR+ stack activation initiated.
    Activation done
    NET_EVENT_DECT_ACTIVATE_DONE: activation done
    desh:~$ dect connect
    connect initiated.
    NET_EVENT_DECT_ASSOCIATION_CHANGED
     DECT_ASSOCIATION_CREATED:
      Association created with long RD ID:                 1
      Neighbor role:                                       Parent
    PT: Joined a network
    NET_EVENT_DECT_NETWORK_STATUS:
      Network status: joined
    [00:14:00.376,037] <wrn> net_l2_dect: No global IPv6 address to set - using link local only
    desh:~$

    So, I'm not exactly sure what is happening with your setup.

    Did you tweak anything in the application, and how did you build it (any extra kconfig/overlay)?

    Can you maybe share your compiled application so that I can try to run it on my DKs and see if this is an issue with the application or the DKs?

    And here is the application I compiled (tfm_merged.hex), please try to program this one to your DKs and check if that works.

    What exactly does MAC_STATUS_NO_RESOURCES (7) mean during PT association in this context?

    I haven't looked into details yet, so I'm not 100% sure. But It looks to be some kind of complain that there is not enough free space in the memory to handle a new connection.

    But I don't think you are trying to handle multiple connections at the same time here. And only 1 connection should be a walk in the park for the application.

    Is mfw-nr+_nrf91x1_2.0.0 the correct/recommended modem firmware for the dect_shell sample in NCS v3.4.0?

    Yes, this is the same one as I used.

    Is there any additional FT configuration required before a PT can associate (Network Beacon, RACH resources, association settings, etc.)?

    I think you can leave the rest by default as when I tried your commands, it worked on my end.

    Should the official dect_shell sample work with the simple FT/PT procedure above without any additional configuration?

    From what I can see in my test, yes it should work.

    Are there any additional modem/debug logs I can enable to determine why the PT reports NO_RESOURCES?

    We would be able to see more if you share the full logs. And maybe even more if you enable the modem trace. But, before doing so, it would be better to just try to isolate where the issue is (DK, mfw, app, build, commands, ...).

    Best regards,

    Simon

Children
  • Hi Simon,

    Thanks for your reply and for sharing your compiled firmware.

    I flashed with nRF Desktop Manager 5.4.0 - Programmer the tfm_merged.hex you provided on both of my nRF9151 SMA DKs and unfortunately I am getting exactly the same issue, so it does not seem to be related to my own build or Kconfig/overlay configuration.

    Screen capture :

    /resized-image/__size/1600x696/__key/communityserver-discussions-components-files/4/pastedimage1789495236655v1.png

    I first deactivated and reset the settings on both DKs:

    dect deactivate
    dect sett --reset

    Then I configured one DK as FT:

    dect sett -t 1 --dev_type FT
    dect activate
    dect connect

    The FT successfully creates the network on channel 1657:

    Cluster started/reconfigured at channel 1657.
    FT: network created

    On the second DK, configured as PT:

    dect sett -t 2 --dev_type PT
    dect activate
    dect connect

    The first connection attempt reports:

    Network creation failed: 5 (RD not found)
    No cluster channels stored
    No cluster found with NW scan

    When I run dect connect again, the PT apparently finds the FT and starts the association, but it then fails with:

    DECT_ASSOCIATION_REQ_FAILED_MDM:
    Association request failed in modem with long RD ID: 1
    Neighbor role: Parent
    Modem cause: No resources (7)
    Network creation failed: 7 (No resources)

    And finally:

    Modem operation failed for Association Response with err MAC_STATUS_NO_RESOURCES (7) with long RD ID: 0x1

    So the important point is that the exact same MAC_STATUS_NO_RESOURCES (7) error occurs with the firmware you compiled and provided, on my DKs.

    I have attached a screenshot showing the complete FT/PT sequence.

    Since we can now reproduce the issue on my hardware using your known-good binary, what would you recommend checking next?

    I can also test the DKs in different FT/PT combinations, and I have a third nRF9151 SMA DK available, so I can check whether the problem follows a specific DK or occurs with every PT.

    I can also provide the complete logs and enable modem trace if that would help.

    Best regards,
    Thomas

Related