What causes "cpu1: fsl_dpa: ethernet.30: dpaa_eth.c:828:_dpa_rx_error() fm1-gb1: FD status = 0x00040000"

cancel
Showing results for 
Search instead for 
Did you mean: 

What causes "cpu1: fsl_dpa: ethernet.30: dpaa_eth.c:828:_dpa_rx_error() fm1-gb1: FD status = 0x00040000"

Jump to solution
1,533 Views
gururaj
Contributor I

We are using the EP4080A board for Ethernet communication using one of the ports with a FPGA module
Raw sockets are used for the coummunication.

After switching ON our setup we are able to make transfers and communication is OK. After some time we expect some data packets from the FPGA module.
But it seems the packets are not received by the EP4080A board even when the FPGA is sending the data. We then tried to check whether the communication is still active by sending a packet from EP4080 board to FPGA and we are able to receive the response packet from FPGA. This shows the communication is still active and we are able to receive the packets .

Below is the "dmesg " command output when we stopped receiving packets.

cpu1: fsl_dpa: ethernet.30: dpaa_eth.c:828:_dpa_rx_error() fm1-gb1: FD status = 0x00040000

Using the file name and function name we searched the BSP and identified it was from a Freescale network device driver for DPAA.It would be good to get information on what are the possible situations this message will trhow up?

IPERF test:
We then used a linux tool called “iperf”(version 2.0.5) which is used for measuring the throughput of the Ethernet communication. It uses TCP or UDP protocol. We ran it in TCP mode and UDP mode and the our test cases are attached for 3 different tests.

While running the iperf we ran the “dmesg” command on another window in the EP4080 board;which gave the error message as

cpu1: fsl_dpa: ethernet.30: dpaa_eth.c:828:_dpa_rx_error() fm1-gb1: FD status = 0x00080000

Please note the difference in FD staus number displayed for iperf(0x00080000) and our test setup(0x00040000).

This issue is on a highly critical path in the project. Appreciate any kind of  support and possible hints.

 

thank you

Gururaj

Original Attachment has been moved to: iper_logs.zip

Labels (1)
0 Kudos
1 Solution
458 Views
lunminliang
NXP Employee
NXP Employee

0x00080000 means Frame Physical Error.  One of the following event were detected: Rx FIFO overflow, FCS error, code error, running disparity error (SGMII mode), FIFO parity error. PHY Sequence error, PHY error control character detected. The BMI(one module of FMAN) discards the frame, or enqueue directly to EFQID if FMBM_RCFG[FDOVR] is set.

0x00040000 means Frame Size Error. Dtsec detected a frame that its length exceeds the maximum allowed as configured in the MAC registers. The frame is truncated by the MAC to the maximum allowed,and it is marked as truncated. The BMI sets FSE in the FD status and forwards the frame to next module in the FMan as usual.


View solution in original post

0 Kudos
1 Reply
459 Views
lunminliang
NXP Employee
NXP Employee

0x00080000 means Frame Physical Error.  One of the following event were detected: Rx FIFO overflow, FCS error, code error, running disparity error (SGMII mode), FIFO parity error. PHY Sequence error, PHY error control character detected. The BMI(one module of FMAN) discards the frame, or enqueue directly to EFQID if FMBM_RCFG[FDOVR] is set.

0x00040000 means Frame Size Error. Dtsec detected a frame that its length exceeds the maximum allowed as configured in the MAC registers. The frame is truncated by the MAC to the maximum allowed,and it is marked as truncated. The BMI sets FSE in the FD status and forwards the frame to next module in the FMan as usual.


0 Kudos