issues running SLM on a custom nrf9151 board

Before developing our custom board, we connected our MCU to the DK via pins 26, 27 and after disabling VCOM0 via the DK configurator, we were able to communicate using AT commands and develop the firmware for our MCU.

After receiving our custom boards that incorporate the nrf9151 and our MCU, connected via the same pins as before, we weren't able to get the SLM to run properly. We initially tried to simply program the precompiled SLM. when that didn't work we compiled it from source and tried to debug it. This revealed that we probably never start the main application and we might be stuck in the bootloader.

Other simpler examples, such as the hello world and at client, work well.

What could be the cause of our SLM issues

Parents
  • Hello, 

    Are you able to provide more details about what is actually failing? Can you include application logs from Serial LTE Modem running on the custom board? 

    How are you building the SLM application? I.e. what board files are you using? 

    Other simpler examples, such as the hello world and at client, work well.

    What tests have you done with AT client? Does it connect to a network and receive an IP address?

    Have you had a hardware review of your board design? You can register a new private ticket and include board files, and then our HW experts can review the board free of charge.

    Kind regards,
    Øyvind

  • We have some progress with our custom board, but still no success.

    We are now quite sure the SLM runs, but we have no UART access to communicate with it.

    We've enabled logging for both mcuboot and the SLM, however UART output stops when we enter the main application. We can see the logs for the boot process, but when it jumps to the main app the output stops.

    We know the main app is running because we were able to debug it, as well as get logs via RTT, but not via UART.

    These are the logs we see via RTT (app only):

    * Booting nRF Connect SDK v2.9.0-7787b2649840 *
    * Using Zephyr OS v3.7.99-1f8f3dc29142 *
    [00:00:00.251,678] <inf> at_cmd_custom: Custom AT commands enabled with 64 entries.
    [00:00:00.257,415] <inf> fs_nvs: 2 Sectors of 4096 bytes
    [00:00:00.257,415] <inf> fs_nvs: alloc wra: 0, fe8
    [00:00:00.257,446] <inf> fs_nvs: data wra: 0, 0
    [00:00:00.505,035] <inf> slm: lib_modem init: 0
    [00:00:00.505,126] <inf> mcuboot_util: Image index: 0, Swap type: none
    [00:00:00.505,126] <inf> slm: Serial LTE Modem
    [00:00:00.591,979] <inf> nrf_cloud_info: Device ID: 50343959-3733-4cd2-8042-0f0f802d7c4c
    [00:00:00.597,290] <inf> nrf_cloud_info: IMEI:      359404230287071
    [00:00:00.689,300] <inf> nrf_cloud_info: UUID:      50343959-3733-4cd2-8042-0f0f802d7c4c
    [00:00:00.695,281] <inf> nrf_cloud_info: Modem FW:  mfw_nrf91x1_2.0.2
    [00:00:00.695,312] <inf> nrf_cloud_info: Protocol:          MQTT
    [00:00:00.695,34HTTPS

    And these are the logs via UART (only mcuboot)

    * Booting MCUboot v2.1.0-dev-12e5ee106034 *
    * Using nRF Connect SDK v2.9.0-7787b2649840 *
    * Using Zephyr OS v3.7.99-1f8f3dc29142 *
    I: Starting bootloader
    I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Boot source: none
    I: Image index: 0, Swap type: none
    I: Bootloader chainload address offset: 0x10000
    I: Jumping to the first image slot

    we tried both UART0 and UART2 (as suggested by the docs) to no avail.

    Running the same code on the DK works as expected and the UART communication seamlessly continues after the boot and we can use the AT commands.

    Running examples with no mcuboot (like the at_client) on our custom board, also works well.

    It feels like we're almost there, but no matter what we try we can't make it work.

    Your help will be very appreciated.

    Thanks

Reply
  • We have some progress with our custom board, but still no success.

    We are now quite sure the SLM runs, but we have no UART access to communicate with it.

    We've enabled logging for both mcuboot and the SLM, however UART output stops when we enter the main application. We can see the logs for the boot process, but when it jumps to the main app the output stops.

    We know the main app is running because we were able to debug it, as well as get logs via RTT, but not via UART.

    These are the logs we see via RTT (app only):

    * Booting nRF Connect SDK v2.9.0-7787b2649840 *
    * Using Zephyr OS v3.7.99-1f8f3dc29142 *
    [00:00:00.251,678] <inf> at_cmd_custom: Custom AT commands enabled with 64 entries.
    [00:00:00.257,415] <inf> fs_nvs: 2 Sectors of 4096 bytes
    [00:00:00.257,415] <inf> fs_nvs: alloc wra: 0, fe8
    [00:00:00.257,446] <inf> fs_nvs: data wra: 0, 0
    [00:00:00.505,035] <inf> slm: lib_modem init: 0
    [00:00:00.505,126] <inf> mcuboot_util: Image index: 0, Swap type: none
    [00:00:00.505,126] <inf> slm: Serial LTE Modem
    [00:00:00.591,979] <inf> nrf_cloud_info: Device ID: 50343959-3733-4cd2-8042-0f0f802d7c4c
    [00:00:00.597,290] <inf> nrf_cloud_info: IMEI:      359404230287071
    [00:00:00.689,300] <inf> nrf_cloud_info: UUID:      50343959-3733-4cd2-8042-0f0f802d7c4c
    [00:00:00.695,281] <inf> nrf_cloud_info: Modem FW:  mfw_nrf91x1_2.0.2
    [00:00:00.695,312] <inf> nrf_cloud_info: Protocol:          MQTT
    [00:00:00.695,34HTTPS

    And these are the logs via UART (only mcuboot)

    * Booting MCUboot v2.1.0-dev-12e5ee106034 *
    * Using nRF Connect SDK v2.9.0-7787b2649840 *
    * Using Zephyr OS v3.7.99-1f8f3dc29142 *
    I: Starting bootloader
    I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Boot source: none
    I: Image index: 0, Swap type: none
    I: Bootloader chainload address offset: 0x10000
    I: Jumping to the first image slot

    we tried both UART0 and UART2 (as suggested by the docs) to no avail.

    Running the same code on the DK works as expected and the UART communication seamlessly continues after the boot and we can use the AT commands.

    Running examples with no mcuboot (like the at_client) on our custom board, also works well.

    It feels like we're almost there, but no matter what we try we can't make it work.

    Your help will be very appreciated.

    Thanks

Children
No Data
Related