2021-12-06 07:49 AM
The code after the LAN speed auto detection is this :
line 443 @stm32f4xx_hal_eth.c
if((phyreg & PHY_SPEED_STATUS) == PHY_SPEED_STATUS)
{
/* Set Ethernet speed to 10M following the auto-negotiation */
(heth->Init).Speed = ETH_SPEED_10M;
}
else
{
/* Set Ethernet speed to 100M following the auto-negotiation */
(heth->Init).Speed = ETH_SPEED_100M;
}
I think that the speed selection is inverted, I reverse the values and the interface start working
Solved! Go to Solution.
2021-12-06 08:24 AM
No, the setting depends on the PHY being used. and the value of PHY_SPEED_STATUS.
Regards
/Peter
2021-12-06 08:24 AM
No, the setting depends on the PHY being used. and the value of PHY_SPEED_STATUS.
Regards
/Peter
2021-12-06 08:37 AM
Ok, Changing the PHY_SPEED_STATUS solved the problem.
Thanks a lot