When transmitted packets do not reach
the wire, work through these diagnostics in the following order:
- Check the return code of the
EnetDma_submitTxPktQ() function → Confirms the submission succeeded.
- Check the hostStats.txGoodFrames
function → Confirms DMA transfers to the CPSW.
- Check macStats.txGoodFrames →
Confirms MAC is transmitted to wire.
- If the host increments but MAC
does not: Check hostStats.portMaskDrop (ALE filtering issue).
- Verify the
EnetDma_retrieveTxPktQ() function is called regularly → Prevents descriptor
exhaustion.
- Check the packet structure before
submission → Validates bufPtr and segmentFilledLen.
- Verify the MAC port link is UP →
Confirms the physical layer is ready.
- Use Wireshark® on the link
partner → Confirms the frames reach the destination.
This methodical approach isolates
whether the failure is in an application submission, DMA transfer, ALE forwarding,
or MAC transmission.