uart_callback_set returns -ENOSYS

I have two projects using different boards.

First one (uses attached board = btLTE_nrf52840) works fine. The application are similar in that both make use of the UARTE driver.

The second one (uses attached board = w5500_nrf52840) uses the W5500 Ethernet driver. This application works fine except that in the case of the second board, uart_callback_set() returns error -ENOSYS. I have seen other cases reported for the same issue, but I have not been able to determine why this is the case.

I must be something to do with the settings or the board.
I would appreciate any assistance.
I include the im7851.code.zipplementation for both boards, the config settings for working and none working applicayion as well as the
common uart code.
Parents Reply
  • Hi,

    The problem is likely that the uart0 instance is used by the NET_SHELL that you have enabled in your prj.conf file. In /build/zephyr/zephyr.dts, we can see:

    / {
    	chosen {
    		zephyr,shell-uart = &uart0;
    	};
    };

    You can either disable NET_SHELL in your prj.conf:

    CONFIG_NET_SHELL=n

    Or assign it to another uart instance in your board overlay:

    / {
    	chosen {
    		zephyr,shell-uart = &uart1;
    	};
    };

    Both these alternatives resolved the error in your test application.

    Best regards,
    Jørgen

Children
Related