System Hang and Issue 25340

We are working to debug occasional issue with system hangs, application hangs and kernel crashes on an Apalis T30 using a Ixora carrier board. We are using WinCE 2013 with version 2.0 Release. They may or may not be related. Our application is .NET.

I note in the release notes that 2.1beta2 has a fix for system hangs and serial ports (Windows Embedded Compact - T20 / T30 BSP Release) with issue 25340.

Would this issue have affected 2.0, or was it introduced in 2.1 beta1?

Since our failures are very intermittent, any idea how we might be able to more easily reproduce the issue described so that if we find a fix we can be more sure of it?

Am I reading the comment in correctly (WinCE Serial Port Registry Settings | Toradex Developer Center) that the default is that Rx DMA is on and Tx DMA is off? We don’t have the DmaSetting key in our registry.

Thanks,
Dylan

You can reproduce this if you already send a lot of data to the device while opening the port.

No, this issue affected 2.0 and previous image releases, it will be fixed with 2.1 beta 1. The issue has not been seen that on 1.4 images, it started to happen more often with 2.0 images due to modifications in the initialization process of the port.

In order to test the workarround, you need to add the DmaSetting key manuall to the registry. If this helps, you likely affected by this issue.

If you can’t get this issue resolved, please provide us a sample application, that reproduces the issue, so we can investigate it here on our side.

Hello all,

I am using Toradex T20 module with wince7 OS version 2.0, as i found this thread is relevant to my case I want to know how to come out from hang issue while reading comm PORT. This is issue is irregular, so I am not able to predict this. I am not using DMA registry keys. Can you explain about these DMA setting key in brief. Please suggest me with a solution. Is it necessary to update my BSP version or Image version?

Thanks in Advance

Hello,

You need to add the key DMASettings to 0 in the registry as described in the workaround of in this issue. You find all the registry settings for UART documented on this page. Don’t forget to save the registry before rebooting the device.

DMASetting=0 actually means no DMA for this serial port. Please check if the workaround fixes your issue. If so, you either can keep the setting like this or you can upgrade to 2.1 in order to have this issue properly fixed. On image 2.1 there is no need to do the workaround, you will be still be able to use DMA for UART which of course has a performance impact.

Thanks for the reply I will try this workaround steps.

I still left with doubt on serial port reading that how many bytes can be read from comm port in a single ReadFile function call? I am reading the comm PORT 10 minutes once because of my data processing. I am suspecting this latency of ReadFile function call is the cause for OS hang, as OS can’t handle the bulk unread data available at comm port. Can you help me out regarding this. Thanks for the support.

Hello @satishdrm204 ,

I am not fully sure I get you right: You use the SetComTimeouts function in order to force the system to wait 10min? The buffer size can be set in the ReadFile function, is it this what you mean?

Please first do the test with the DMA registry setting. If you still see the issue then, please provide us some sample code how you reproduce this issue, so we are sure, we are talking about the same.