CONFIG_NET_L2_OPENTHREAD=y leads to failure in gpio pins.

Hi,

I noticed an issue with CONFIG_NET_L2_OPENTHREAD=y in my project, and I prepared a newer, simpler project to investigate in the issue.

The new program simply sets pins to high and low. After flashing it onto an external module and plugging the external module onto a baseboard, all of the LEDs on the base board should be flashing one by one in a cycle..

As I slowly add more configurations to prj.conf, I realize that adding CONFIG_NET_L2_OPENTHREAD=y when CONFIG_NETWORKING=y will lead to all the external module pins behaving unexpectedly. None of the LEDs on the base board will turn on. What does CONFIG_NET_L2_OPENTHREAD do exactly? How does it interfere with the gpio pins? 

Parents Reply Children
  • Hi Maria

    I tried adjusting my prj.conf, and it looks as follows: 

    CONFIG_GPIO=y
    CONFIG_LOG=y
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_RTT_CONSOLE=y
    CONFIG_LOG_BACKEND_RTT=y
    CONFIG_UART_CONSOLE=n
    CONFIG_SERIAL=n
    CONFIG_STDOUT_CONSOLE=y
    CONFIG_PRINTK=y
    CONFIG_GPIO_INIT_PRIORITY=40
    
    CONFIG_SHELL=y
    CONFIG_OPENTHREAD_SHELL=y
    CONFIG_SHELL_ARGC_MAX=26
    CONFIG_SHELL_CMD_BUFF_SIZE=416
    
    CONFIG_OPENTHREAD_NORDIC_LIBRARY_COMMON=y
    
    CONFIG_NET_L2_OPENTHREAD=y
    CONFIG_NETWORKING=y
    
    CONFIG_MAIN_STACK_SIZE=6144
    
    CONFIG_NVS=n
    CONFIG_ZMS=y
    CONFIG_SETTINGS_ZMS=y
    

    However, it would still not print Hello World xx in Segger RTT.

    I tried removing CONFIG_NET_L2_OPENTHREAD=y from the updated prj.conf file such that I have:

    CONFIG_GPIO=y
    CONFIG_LOG=y
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_RTT_CONSOLE=y
    CONFIG_LOG_BACKEND_RTT=y
    CONFIG_UART_CONSOLE=n
    CONFIG_SERIAL=n
    CONFIG_STDOUT_CONSOLE=y
    CONFIG_PRINTK=y
    CONFIG_GPIO_INIT_PRIORITY=40
    
    CONFIG_SHELL=y
    CONFIG_OPENTHREAD_SHELL=y
    CONFIG_SHELL_ARGC_MAX=26
    CONFIG_SHELL_CMD_BUFF_SIZE=416
    
    CONFIG_OPENTHREAD_NORDIC_LIBRARY_COMMON=y
    
    # CONFIG_NET_L2_OPENTHREAD=y
    CONFIG_NETWORKING=y
    
    CONFIG_MAIN_STACK_SIZE=6144
    
    CONFIG_NVS=n
    CONFIG_ZMS=y
    CONFIG_SETTINGS_ZMS=y
    

    and this was still able to print. 

    Thus, the problem still has not been solved; the messages will only print if CONFIG_NET_L2_OPENTHREAD is not present. 

    Please note again, that I am flashing onto an external module by connecting it to the 54L15dk with programming wires. If I'm only flashing onto the 54L15dk, I can view the messages with no problem, even with CONFIG_NET_L2_OPENTHREAD=y present. 

    Thanks for your time, I look forward to your reply!

    Best regards,

    Allan Wang

  • Hey Allan,

    Thank you for your update. I will do another trial tomorrow where I use the debug out functionality on the DK to program another DK. This is a bit closer to your setup at least.

    I appreciate your patience!

    Best regards,

    Maria

  • Unfortunately my trial did not show any different results.

    Could you please share some more details on how you connect the nRF54DK to your module? Does your module have a 10-pin connector?

    If you have another DK available which uses the nRF5340 as the Interface MCU, for example the nRF5340 DK, it has another debug out connector which is commonly used for external boards without a 10-pin connector.

    Best regards,

    Maria

  • Here is my setup. drive.google.com/.../view

    Unfortunately I do not have access to another DK that uses the nRF5340 as the Interface MCU.

  • Hi Maria,

    I had a chance to try my program with the debugger just now. I was debugging my hello world code with CONFIG_NET_L2_OPENTHREAD=y. I believe my code got stuck at this point (I pressed pause and it led me here)

    err = mpsl_init(&clock_cfg, CONFIG_MPSL_LOW_PRIO_IRQN, m_assert_handler);

    Are you able to tell anything from this? Please update me on it if you have time to take a look at this, thanks!

    Best regards,

    Allan

Related