Hi,
When I transmitted last buffer in frame, I expected both TXB and TXF would be asserted but sometimes only TXB be asserted.
TxBD before Tx: Bit31(R)=1, bit27(Last in frame)=1, bit26(Tx CRC)=1, other fields=0
TxBD after Tx: Bit31(R)=0, bit27(Last in frame)=1, bit26(Tx CRC)=1, other fields=0
Why is TXF sometimes missing?
Actually it is not a big issue because tx packet always transferred normally according to the Wireshark but it is weird.
In spite of TXF deassert, MIB and following counters increased correctly.
RMON_T_PACKETS, RMON_T_BC_PKT, RMON_T_P64~RMON_T_P1024TO2047,
RMON_T_OCTETS, IEEE_T_FRAME_OK, IEEE_T_OCTETS_OK
I believe TXB is asserted when transmit completed(R=1 to 0). Was TXB also asserted when error occured?
Any help in how to trouble shoot this would be great.
Thanks.
Please check FEC BD ring and buffers if they are to be properly aligned :
BD ring should 128-bit aligned, receive data buffers – 16-bytes aligned,
transmit buffers - 32-bit aligned.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yuri
Thank you for replying.
Unfortunately I already checked both BD and TX buffer were aligned properly.
Do you have any idea to fix TXF?
Any help would be great.
Let me look at YOur BDs before and after transfer.
Regards,
Yuri.
Dear Yuri,
Here is my BD as following. Please have a look.
Bit31:R = 1(Soft set) -> 0(Hard clear)
Bit29:W = 0
Bit27:L = 1
Bit26:TC = 1
Bit25:ABC = 0
Bit24:PTP = 0
Bit15-0:Data Length = <N>
Thanks.