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
  • Yes, following is the error code 

    ogf=0x08, ocf=0x0090, hci_err=0x212 : BLE_ERR_INV_HCI_CMD_PARMS (Invalid HCI Command Parameters)

  • can you also provide `Channel_Map` value please?

  • Hi , Foloowing are my channel map values 


    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
    cmd->channel_map[0] = a
    cmd->channel_map[1] = fa
    cmd->channel_map[2] = cf
    cmd->channel_map[3] = ac
    cmd->channel_map[4] = fa
    cmd->channel_map[5] = c0
    cmd->channel_map[6] = 0
    cmd->channel_map[7] = 0
    cmd->channel_map[8] = 0
    cmd->channel_map[9] = 0


  • Also, i tried with the values provided by NRF example using the below way but it didn't work. In this case all channel map values are 0

    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 0, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 1, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 23, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 24, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 25, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 77, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 78, 0);
    BT_LE_CS_CHANNEL_BIT_SET_VAL(cmd.channel_map, 79, 0);
  • I am not sure exactly but I see at least two values not allowed by Spec:

    - channel_map_repetition is allowed to be in the range from 1 to 0xff

    - channels 1 and 23 are not allowed to be used during Channel sounding procedure.

    Can you try to disable channel 1 and 23 by setting

    cmd->channel_map[0] = 0x08
    cmd->channel_map[2] = 0x4f

    and see if it helps please?

Reply Children
No Data
Related