diff --git a/stm32/netxduo/ethernet/nx_stm32_eth_driver.c b/stm32/netxduo/ethernet/nx_stm32_eth_driver.c index 5ca0d05..7b1ace0 100644 --- a/stm32/netxduo/ethernet/nx_stm32_eth_driver.c +++ b/stm32/netxduo/ethernet/nx_stm32_eth_driver.c @@ -1495,7 +1495,10 @@ static UINT _nx_driver_hardware_initialize(NX_IP_DRIVER *driver_req_ptr) FilterConfig.HashMulticast = DISABLE; FilterConfig.DestAddrInverseFiltering = DISABLE; FilterConfig.PassAllMulticast = DISABLE; - FilterConfig.BroadcastFilter = ENABLE; + /* Note: In some old HAL implementations (STM32F7 and STM32H7), a bug + requires setting BroadcastFilter to ENABLE (the behavior of the ENABLE + and DISABLED values is flipped). */ + FilterConfig.BroadcastFilter = DISABLE; FilterConfig.SrcAddrInverseFiltering = DISABLE; FilterConfig.SrcAddrFiltering = DISABLE; FilterConfig.HachOrPerfectFilter = DISABLE;