cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f7 ethernet packet disable PAD and CRC Invalid

mings_chihs
Associate

Hi all.

I wish disable auto PAD disable CRC append.

  Send packet use low_level_output(), before call HAL_ETH_Transmit_IT()

I set 

TxConfig.ChecksumCtrl = ETH_CHECKSUM_DISABLE;
TxConfig.CRCPadCtrl = ETH_CRC_PAD_DISABLE;

but packet allways pad to 60byte,

if use TxConfig.CRCPadCtrl = ETH_CRC_PAD_DISABLE;, no packet output

if use TxConfig.CRCPadCtrl = ETH_CRC_INSERT;  output fine but have 4byte crcr append.

How to do , NO-PAD NO-CRC send packet?

1 REPLY 1
STackPointer64
ST Employee

Hello @mings_chihs, and Welcome to ST Community!

With the STM32F7 Ethernet MAC, a normal Ethernet transmission is expected to include padding to 60 bytes and a 4-byte CRC/FCS. A frame with both NO-PAD and NO-CRC is generally invalid on Ethernet. Therefore, if the frame is shorter than the Ethernet minimum length, the MAC or network will not treat it as a valid packet.

Best regards,

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.