zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.98k stars 6.68k forks source link

modem: the UART exchange between the MCU and the modem is disrupted after rebooting the MCU or modem. #82370

Open dmkuzmin opened 3 hours ago

dmkuzmin commented 3 hours ago

Describe the bug

At the first start of the firmware, everything functions stably. But when I execute the command "kernel reboot cold/warm" in the shell, or "pm suspend modem" and then "pm resume modem" the following problem occurs: the exchange between the MCU and the modem is disrupted by UART. I see that the command "ATE0\n" goes to the uart backend, but physically "TE0\n{" (the last character is random) appears at the output

Another problem is related to the choice of an asynchronous API for UART exchange. When installing CONFIG_UART_INTERRUPT_DRIVEN=n, CONFIG_UART_ASYNC_API=y, CONFIG_MODEM_BACKEND_UART_ASYNC=y there are no requests to the modem physically at the UART output. It seems to me that both problems are somehow connected, but maybe they are different problems.

github-actions[bot] commented 2 hours ago

Hi @dmkuzmin! We appreciate you submitting your first issue for our open-source project. 🌟

Even though I'm a bot, I can assure you that the whole community is genuinely grateful for your time and effort. 🤖💙