Clarification on CSS RTT Accuracy Support and Channel Sounding Security Levels on nRF54L15 Controller

I am currently using the nRF54L15 DK board along with an external host to develop Channel Sounding functionality. After reviewing related support tickets, I understand that the controller does not support 10ns CSS RTT accuracy, but does support 150ns CSS RTT accuracy.

I have a few questions related to this:

  1. What parameters must the host set to ensure that the controller operates with 150ns CSS RTT accuracy and 10ns CSS RTT accuracy?

  2. Which parameter(s) determine or distinguish whether the host is setting Channel Sounding Security Level 1, 2, 3, or 4 and for these parameters which values must be assigned for each Channel Sounding Security Level  ?

  3. Does the controller generate any event that informs the host which Channel Sounding Security Level is currently being used?

  4. Given that the controller does not support 10ns RTT security, if the host attempts to configure parameters that would require 10ns RTT accuracy, what error (e.g., HCI error code) will the controller return to the host?

Parents
  • Hello,

    After reviewing related support tickets, I understand that the controller does not support 10ns CSS RTT accuracy, but does support 150ns CSS RTT accuracy.

    Correct. You can see more on what features are supported and not here.

    What parameters must the host set to ensure that the controller operates with 150ns CSS RTT accuracy and 10ns CSS RTT accuracy?

    See here, and how this is done in the CS samples.

    Which parameter(s) determine or distinguish whether the host is setting Channel Sounding Security Level 1, 2, 3, or 4 and for these parameters which values must be assigned for each Channel Sounding Security Level  ?

    See here.

    Does the controller generate any event that informs the host which Channel Sounding Security Level is currently being used?

    The Channel Sounding Security Level is currently a host-level concept, meaning the controller doesn't know about it.

    Given that the controller does not support 10ns RTT security, if the host attempts to configure parameters that would require 10ns RTT accuracy, what error (e.g., HCI error code) will the controller return to the host?

    The controller reports whatever RTT accuracy it has, and you get that accuracy whenever you use RTT (with at least as many steps as the controller reports it needs). You cant use 10ns accurate RTT when it is not supported.

    Regards,

    Elfving

  • See here.

      Thank you for the response.

    I have reviewed the Channel Sounding samples provided by Nordic, but I could not find clear information regarding the following questions. Could you please help clarify:





    ticket link
    I have reviewed an existing thread and learned that when using Main Mode 1 or 3, the Channel Sounding Security Level is set to Level 2. For other modes, it defaults to Security Level 1.

    Given that the controller does not support 10ns CSS RTT accuracy, I attempted to configure Security Level 3 and 4 by using:

    • Main Mode 2 with Sub Mode 3, and

    • Main Mode 3 with Sub Mode 2

    in the Create Config command. The host receives error code 0x211 (Unsupported Feature or Parameter Value).

    My question is:

         1 . Is this the correct approach to attempt to configure Security Levels 3 or 4, knowing that the controller       does  not support 10ns RTT ?

         2 . Is this the error host needs to expect from controller?

    If this is not the correct practice, then:

    • What is the proper way to request Security Level 3 or 4, even if unsupported?

    • Are there any other valid Main Mode/Sub Mode combinations or approach I should use for this purpose?

  •  Hi  , can you kindly provide an update regarding this latest question?

  • I am so sorry about the wait S, I was home sick last week. 

    I seem to have overlooked earlier that you're using an external host. I believe what you are trying to do should still work though, that could just maybe explain the error code 0x211. Or is that maybe a typo? I think 0x211 is currently not a supported error code in BLE. Given that this error is rather 0x11, it would make sense that the issue is that you need to explicitly set CONFIG_BT_CTLR_SDC_CS_STEP_MODE3=y.

    Please try this.

    Regards,

    Elfving

  • that could just maybe explain the error code 0x211.

      Yes you are correct.it is 0x11 (Unsupported Feature or Parameter Value).

    I understand your suggestion regarding CONFIG_BT_CTLR_SDC_CS_STEP_MODE3=y and will look into that. However, I feel my original questions were not fully addressed, so I’d like to clarify them to ensure we’re on the same page:
    I have tried to get its answer from samples, but it is not there.

    • What is the proper way to request channel sounding Security Level 3 or 4,( considering that  unsupported and controller will give an error)?

    • Are there any other valid Main Mode/Sub Mode combinations(in create config command) or approaches I should use for this purpose?

  • Shreeyash17 said:
    What is the proper way to request channel sounding Security Level 3 or 4,( considering that  unsupported and controller will give an error)?

    The security levels are currently a host-level concept, so you wouldn't be able to set and get a declined security level from the SDC. You just set the features that then imply a certain security level, like 10 ns CS RTT accuracy and CS tones.

    Shreeyash17 said:
    Are there any other valid Main Mode/Sub Mode combinations(in create config command) or approaches I should use for this purpose?

    I believe what you tried, and other combinations should be valid. So I was a bit surprised by the error. Though I believe the host might be part of the problem here, did you use CONFIG_BT_CTLR_SDC_CS_STEP_MODE3?

    Regards,

    Elfving

Reply
  • Shreeyash17 said:
    What is the proper way to request channel sounding Security Level 3 or 4,( considering that  unsupported and controller will give an error)?

    The security levels are currently a host-level concept, so you wouldn't be able to set and get a declined security level from the SDC. You just set the features that then imply a certain security level, like 10 ns CS RTT accuracy and CS tones.

    Shreeyash17 said:
    Are there any other valid Main Mode/Sub Mode combinations(in create config command) or approaches I should use for this purpose?

    I believe what you tried, and other combinations should be valid. So I was a bit surprised by the error. Though I believe the host might be part of the problem here, did you use CONFIG_BT_CTLR_SDC_CS_STEP_MODE3?

    Regards,

    Elfving

Children
  • did you use CONFIG_BT_CTLR_SDC_CS_STEP_MODE3?

    yes it is enabled.

    The security levels are currently a host-level concept, so you wouldn't be able to set and get a declined security level from the SDC. You just set the features that then imply a certain security level, like 10 ns CS RTT accuracy and CS tones.

      Since Channel Sounding Security Level is a host-level concept, I assume the Nordic Host must be sending specific commands to the controller to configure it. I looked through the Nordic Channel Sounding samples but couldn’t find a reference.

    Could you please clarify how the Nordic Host sets Security Level 1 and Security Level 2 in practice (i.e., which commands/parameters are used)?



  • Could you try without it? I still believe this config should work.

    Shreeyash17 said:

    Elfving  Since Channel Sounding Security Level is a host-level concept, I assume the Nordic Host must be sending specific commands to the controller to configure it. I looked through the Nordic Channel Sounding samples but couldn’t find a reference.

    Well yeah my understanding is that it sets for instance CONFIG_BT_CTLR_SDC_CS_STEP_MODE3, though that is as far as the SDC goes in its understanding of what security level is being used - since it is a host-level concept.

    Shreeyash17 said:

    Could you please clarify how the Nordic Host sets Security Level 1 and Security Level 2 in practice (i.e., which commands/parameters are used)?

    I do not think there is an API for this. You are doing it correctly with this config and setting the procedure modes. 

    Regards,

    Elfving

Related