UART_A comunication failure by RTS

Hi all,

I have VF61 comunicating through uart_a to cellular modem.

The problem comes when a certain time has passed, I have not calculated it but it can be between 30 minutes and an hour.

The modem receives the module’s commands but once it has made the query and has to write to the COM, it stops doing so and the RTS signal remains in state 1 indefinitely.
Previously, to be clear, the system has been successful.

I want to clarify that the modem has been previously tested with another module prior to this and it works correctly, it never fails, not even leaving it for weeks.

Does anyone have an idea what might be going on? Anyone ever happened something similar?

Dear @kernel01,

Thank you for contacting the Toradex community!.

Could you share a reproducible project with us? Is it similar to this one : https://developer.toradex.com/knowledge-base/how-to-use-gsm-modem

Did you try below documentation links:
https://developer.toradex.com/knowledge-base/rs485#support-for-vybrid
https://developer.toradex.com/knowledge-base/serial-port-registry-settings#Colibri_VFxx_Registry_Settings

Could you log the debug message during the issue occur and share it with us?

Are you using 1.1B2 BSP? It is a very old release, Could you try with a more recent version is 1.7 B4 mentioned [here][5 and let us know the feedback.

Recently we found ThreadPriority is not used by the UART driver. It is using the wrong spelling keyword shown below:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTX]
“ThreadPriorty”=dword:00000001

Priority256 registry key under the UART is no use.

Dear @Kernel01,

  1. Could you enabe debug messages and log the messages and share with us during the issue occurring.

  2. Patch the debug driver:
    Download this patch driver : patch driver
    Import w4fd1.reg file, save registry and keep the EarlyAutoCopy into ‘FlashDisk’ and then reboot.
    Log the debug message during issue the occurring and share with us

  3. Is there any chance to test the same without hardware flow control? Maybe the driver buffer is filled and would result in RTS is de-asserted always.

  4. Could you share your reproducible application and let me do the test with your application.

Hi @raja.tx ,

We are using modem to query database not sms sending or receiving message.

As it is said in the article i didn’t put
“RTSToggleAlwaysOn” = “dword:1”
“RTSPol” = “dword:1”

Because we are using Hardware Flow control to ensure correct functionality.
We are using 1.6 BSP in enviroment this was corrected.
You think this was because of BSP?

Hi @raja.tx,

i can not enable debug message because modem is conected through module on com1 so i have to mantain it open and debug disable.

There are any chance to put debug message in some text inside module? this would be great.

Dear @Kernel01,

If you have other serial ports free then you can change debug serial port as described here : https://developer.toradex.com/knowledge-base/change-bootloader-output-port#tegra-vfxx-and-imx6-modules

Hi,
I was able to get the log while the error was occurring.

Hope this can help clarify what’s going on …

I attach the log.
link text

Hi @Kernel01 ,

It looks like PDM.VIA.exe (i guess that’s your application) crashes while in a kernel call.
This normally will cause the calling thread in PDM.VIA.exe to be terminated.
Since you say RTS functionality is compromised after this i imagine the crash happens inside a ReadFile or WriteFile to the Uart.
Could it be that you do deallocate buffers passed to ReadFile or WriteFile while they are still in the call? (from another thread)?