This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

GSM Modem Sample Project on nRF 5340 App

Hi. I am trying to get the gsm modem sample project to work with an nRF 5340 app and a Nimbelink LTE modem, NL-SW-LTE-TC4NAG. The only change I made to the project was to add a new file in the boards directory for the 5340. The nrf5340dk_nrf5340_cpuapp.overlay file is below.

The problem is that `uart_dev` is null. The console output I get is below.

I'm not sure if this is a configuration issue or if the modem is not up when `device_get_binding()` is called. What am I missing?

sample_gsm_ppp: Board 'nrf5340dk_nrf5340_cpuapp' APN 'internet' UART 'UART_1' device (nil) (modem_gsm)

&uart0 {
    compatible = "zephyr,gsm-ppp"; // also tried: gsm_ppp,MODEM_GSM_PPP,modem_gsm
    label = "UART_1";
	status = "okay";
	current-speed = <115200>;

	gsm: gsm-modem {
		compatible = "zephyr,gsm-ppp";
		label = "gsm_ppp";
	};
};

Parents
  • code-magic said:
    Thank you so much for the details and links. I will try and test this soon. 

    My pleasure! :-)

    code-magic said:
    Can the modem be run asynchronously? If not, what is the best practice to run the modem on the app core without blocking other processes?

    I’m not familiar with the Nimbelink LTE modem, so not sure if I can provide you with an answer here. But looking at the Software Guideline, I get the impression that everything will be controlled by AT commands via UART. So my first thought would be to use interrupt driven UART, as this will not block the application on the nRF53 and serve incoming data right away.

    Regards,

    Markus

  • My apologies for the long previous post and another post. The deeper I get the more I learn something. I found a command to list all devices. The output is below. Notice that `modem_gsm` is disabled.

    I have a feeling this might be my issue. How do I enable modem_gsm?

    `device list`

    uart:~$ device list
    devices:
    - CLOCK (READY)
    - UART_0 (READY)
    - CRYPTOCELL (READY)
    - sys_clock (READY)
    - ppp (READY)
    - GPIO_0 (READY)
    - GPIO_1 (READY)
    - modem_gsm (DISABLED)

    `device levels` (just in case it's useful)

    uart:~$ device levels
    PRE KERNEL 1:
    - CLOCK
    - UART_0
    - CRYPTOCELL
    PRE KERNEL 2:
    - sys_clock
    POST_KERNEL:
    - ppp
    - GPIO_0
    - GPIO_1
    APPLICATION:
    - None

Reply
  • My apologies for the long previous post and another post. The deeper I get the more I learn something. I found a command to list all devices. The output is below. Notice that `modem_gsm` is disabled.

    I have a feeling this might be my issue. How do I enable modem_gsm?

    `device list`

    uart:~$ device list
    devices:
    - CLOCK (READY)
    - UART_0 (READY)
    - CRYPTOCELL (READY)
    - sys_clock (READY)
    - ppp (READY)
    - GPIO_0 (READY)
    - GPIO_1 (READY)
    - modem_gsm (DISABLED)

    `device levels` (just in case it's useful)

    uart:~$ device levels
    PRE KERNEL 1:
    - CLOCK
    - UART_0
    - CRYPTOCELL
    PRE KERNEL 2:
    - sys_clock
    POST_KERNEL:
    - ppp
    - GPIO_0
    - GPIO_1
    APPLICATION:
    - None

Children
No Data
Related