How to use nrf54L15-dk with external host through hci uart application

Hi, 

I am trying to build an application using the nrf54L15-dk board and want to use the board as a controller. I run the application on the external host but got an error as controller responsive. Can you provide the details steps so that board can be use with external host.

Parents
  • Hi

    Can you share some details on what sample project you're based your own project on here? And what UART instance and pins on the nRF54L15 are you using for HCI UART here? Please note that some of the pins are not available on the DK, and the different instances have a set amount of pins that can be used (specific ports).

    Is either of these the sample you've based your project on by chance?

    Best regards,

    Simon

  • Hi,
    Thanks for your response.
    i am using the hci_uart application of Zephyr.

    Following is the nrf54l15dk_nrf54l15_cpuapp.overlay file i am using

    &uart20 {
    current-speed = <115200>;
    hw-flow-control;
    status = "okay";
    };

    &uart20_default {
    group1 {
    psels = <NRF_PSEL(UART_TX, 1, 11)>,
    <NRF_PSEL(UART_RTS, 0, 2)>;
    };
    group2 {
    psels = <NRF_PSEL(UART_RX, 1, 10)>,
    <NRF_PSEL(UART_CTS, 0, 3)>;
    bias-pull-up;
    };
    };



    Also, i want to use a channel-sounding feature hence please suggest the necessary flag to enable this. Following is proj.conf file

    CONFIG_CONSOLE=n
    CONFIG_STDOUT_CONSOLE=n
    CONFIG_UART_CONSOLE=n
    CONFIG_GPIO=y
    CONFIG_SERIAL=y
    CONFIG_UART_INTERRUPT_DRIVEN=y
    CONFIG_BT=y
    CONFIG_BT_HCI_RAW=y
    CONFIG_BT_HCI_RAW_H4=y
    CONFIG_BT_HCI_RAW_H4_ENABLE=y
    CONFIG_BT_BUF_ACL_RX_SIZE=255
    CONFIG_BT_BUF_CMD_TX_SIZE=255
    CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255
    CONFIG_BT_CTLR_ASSERT_HANDLER=y
    CONFIG_BT_MAX_CONN=16
    CONFIG_BT_CTLR_DTM_HCI=y
    CONFIG_BT_CTLR_ADV_EXT=y

    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
  • Hi,

    I tried all combinations of main mode and submode, including unset ( that is 0xFF to sub mode), but it didn't help..  Parameters for the command are as follows. Also, i modified the proj.conf but it didn't work. 
    cmd->conn_handle = 1e
    cmd->config_id = 0
    cmd->create_context = 1
    cmd->main_mode_type = 1
    cmd->sub_mode_type = ff
    cmd->min_main_mode_steps = 2
    cmd->max_main_mode_steps = 5
    cmd->main_mode_repetition = 0
    cmd->mode_0_steps = ff
    cmd->role = 0
    cmd->rtt_type = 0
    cmd->cs_sync_phy = 1
    cmd->channel_map_repetition = 0
    cmd->channel_selection_type = 0
    cmd->ch3c_shape = 0
    cmd->ch3c_jump = 2


    Below is the latest proj.conf

    CONFIG_CONSOLE=n
    CONFIG_STDOUT_CONSOLE=n
    CONFIG_UART_CONSOLE=n
    CONFIG_GPIO=y
    CONFIG_SERIAL=y
    CONFIG_UART_INTERRUPT_DRIVEN=y
    CONFIG_BT=y
    CONFIG_BT_HCI_RAW=y
    CONFIG_BT_HCI_RAW_H4=y
    CONFIG_BT_HCI_RAW_H4_ENABLE=y
    CONFIG_BT_BUF_ACL_RX_SIZE=255
    CONFIG_BT_BUF_CMD_TX_SIZE=255
    CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255
    CONFIG_BT_CTLR_ASSERT_HANDLER=y
    CONFIG_BT_MAX_CONN=16
    CONFIG_BT_CTLR_DTM_HCI=y
    CONFIG_BT_CTLR_ADV_EXT=y
    CONFIG_BT_CTLR_CHANNEL_SOUNDING=y
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
    CONFIG_BT_RAS_MODE_3_SUPPORTED=n
    CONFIG_BT_RAS_MAX_ANTENNA_PATHS=1
    CONFIG_BT_CTLR_SDC_CS_MAX_ANTENNA_PATHS=1
    CONFIG_BT_CTLR_SDC_CS_NUM_ANTENNAS=1
    CONFIG_BT_CTLR_SDC_CS_STEP_MODE3=n
    CONFIG_BT_CHANNEL_SOUNDING_REASSEMBLY_BUFFER_SIZE=1920
    CONFIG_BT_L2CAP_TX_MTU=498
    CONFIG_BT_BUF_ACL_TX_SIZE=502
    CONFIG_BT_BUF_ACL_RX_SIZE=502
    CONFIG_BT_ATT_PREPARE_COUNT=3
    CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
    # Workaround: Unable to allocate command buffer when using K_NO_WAIT since
    # Host number of completed commands does not follow normal flow control.
    CONFIG_BT_BUF_CMD_TX_COUNT=10
    CONFIG_BT_TRANSMIT_POWER_CONTROL=y

    CONFIG_BT_CS_DE=y
    CONFIG_BT_CS_DE_512_NFFT=y
  • Bluetooth controller (SDC) is closed-source static library so there is no way to debug it.

  • i didn't check all the values, but at least `cmd->mode_0_steps = 0xff` is not allowed.

    You can find details in the Bluetooth Core Specification 6.0, Vol 4, Part E, 7.8.137
    `LE CS Create Config command`

  • Okay i had used the correct value before, 0xff came in experimentation . here is the correct set values as per Bluetooth Core Specification 6.0, Vol 4, Part E, 7.8.137
    `LE CS Create Config command`

    cmd->conn_handle = 1e
    cmd->config_id = 0
    cmd->create_context = 1
    cmd->main_mode_type = 1
    cmd->sub_mode_type = ff
    cmd->min_main_mode_steps = 2
    cmd->max_main_mode_steps = 5
    cmd->main_mode_repetition = 0
    cmd->mode_0_steps = 3
    cmd->role = 0
    cmd->rtt_type = 0
    cmd->cs_sync_phy = 1
    cmd->channel_map_repetition = 0
    cmd->channel_selection_type = 0
    cmd->ch3c_shape = 0
    cmd->ch3c_jump = 2


    Could you please find anything wrong in those params?

Reply
  • Okay i had used the correct value before, 0xff came in experimentation . here is the correct set values as per Bluetooth Core Specification 6.0, Vol 4, Part E, 7.8.137
    `LE CS Create Config command`

    cmd->conn_handle = 1e
    cmd->config_id = 0
    cmd->create_context = 1
    cmd->main_mode_type = 1
    cmd->sub_mode_type = ff
    cmd->min_main_mode_steps = 2
    cmd->max_main_mode_steps = 5
    cmd->main_mode_repetition = 0
    cmd->mode_0_steps = 3
    cmd->role = 0
    cmd->rtt_type = 0
    cmd->cs_sync_phy = 1
    cmd->channel_map_repetition = 0
    cmd->channel_selection_type = 0
    cmd->ch3c_shape = 0
    cmd->ch3c_jump = 2


    Could you please find anything wrong in those params?

Children
Related