Re: [PATCH net v1] net: phy: motorcomm: yt8821: disable MDIO broadcast address 0

From: Jakub Vaněk

Date: Mon Feb 23 2026 - 15:06:56 EST


Hello,

An alternative approach was suggested to me earlier today: changing the
probing order in (of_)mdiobus_register() so that PHY address 0 is always
probed last. The offending PHYs would be reconfigured to not listen for
broadcasts on address 0 either via the PHY driver .probe callbacks or
via non-board-specific PHY fixups.

Do you think such an approach could reliably avoid the address-0
conflict, and would a patch along these lines be acceptable upstream?

This issue does not appear to be specific to the Motorcomm YT8821.
I have found other PHYs that also respond on MDIO address 0 in addition
to their strapped address, including:

* Realtek RTL8221B and RTL8211F PHYs,
* Micrel KSZ8081, where this is acknowledged in commit 57a38effa598
("net: phy: micrel: disable broadcast for KSZ8081/KSZ8091")

My understanding is that this behavior may stem from differing
interpretations of IEEE 802.3-2005 Clause 22.2.4.5.5. As I read it,
the clause requires a PHY connected via a specific cable to always
respond on address 0; some vendors appear to have interpreted this
as the address 0 being a reserved broadcast address.

I also received some feedback on replacing the bootloader in various
routers. While the U-Boot can be replaced in the Cudy M3000, this may
not be the case for all manufacturers. On those platforms, a kernel-
level fix would be necessary, although it could remain as a downstream
patch in OpenWrt if the fix is unsuitable for mainline.

What are your thoughts on this?

Best regards,
Jakub