AM3354: Serial port experiences packet loss when DMA is enabled

Part Number: AM3354


Tool/software:

SDK version : 02.00.02.11
kernel version : kernel3.2.0
Has the issue of packet loss when enabling DMA on the AM3354 serial port been resolved?

This post found on the forum that is similar to this issue.
https://e2echina.ti.com/support/processors/f/processors-forum/738584/am3354-dma
  • Hi Jie,

    The kernel v3.2 was released 10+ years ago and is no longer supported.

    If you can reproduce the issue with the newer Linux SDK, we will look into it.

  • I encountered data loss while testing with serialcheck and the wired network card toggle script on the 4.1.18 kernel version.
    observed lost 1-byte only so far,  same as test result on AM62x.

    The testing method is the same as that in the following link.
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1504677/am625-run-multiple-serial-ports-simultaneously-and-toggle-the-wired-nic-to-introduce-interference

    ./serialcheck_comen -b 1000000 -d /dev/ttyS3 -f ./binary_1w_ttyS3 -l 2786918 -m r &
    ./serialcheck_comen -b 1000000 -d /dev/ttyS3 -f ./binary_1w_ttyS3 -l 2786918 -m t &

    The following is the test log:
    1. When packet loss occurs, the serialcheck process terminates. Upon examining the /proc/tty/driver/serial node, it was found that ttyS3 had an `oe` error.
    2. After the `oe` error occurs and serialcheck testing is re-enabled, the `serialcheck -r` thread times out without receiving a single byte, and inspecting the ttyS3 serial interrupt shows no further increases.
    3. Using the `echo` command to write data directly to the ttyS2 and ttyS3 nodes, it was observed that while ttyS2 can be written to directly, writing to the ttyS3 node gets indefinitely blocked.
  • Hi Jie,

    As I updated in the mentioned am62x UART thread yesterday, I identified a kernel change in the TTY layer done by the open source community back in 2023, which occasionally breaks my UART test on AM62x SK EVM. But the kernel 4.1.18 / SDK2.0 was released 10 years ago, this forum doesn't provide support on debugging such old software. You would have to test with the latest SDK for AM335x (SDK9.3/kernel6.1), and if the issue still exists, we can support.