Debugging EcoNet's MT7530 PHYs
Caleb James DeLisle
cjd at cjdns.fr
Wed Jan 28 05:26:47 PST 2026
Update: It turns out the reset controller I was using only reset the
on-die switch, Benjamin found the reset register for the external switch
and now everything is behaving MUCH more like normal. I'd say at this
point I'm no longer stuck.
Thanks,
Caleb
On 27/01/2026 18:26, Caleb James DeLisle wrote:
>>
>> Would there be any reason not to set BMCR_PDOWN in
>> mt7530_phy_config_init() so we know they're in a consistent state?
>>
>> Also if you happen to have an MT7621 sitting there running, would you
>> mind setting BMCR_ANENABLE | BMCR_ANRESTART with mdio on a running
>> port to see if it's the same behavior? The port should immediately
>> die and then go into a loop trying to connect every few seconds /
>> minutes depending on what it's connected to.
>>
> Whoops, spoke too soon. dsa_register_switch() (indirectly) calls
> phy_resume() so the phy is up while the port is down. However, adding
> this to mt7530_port_enable() does make it work:
>
> if (priv->id == ID_EN751221_EXT && phy)
> genphy_soft_reset(phy);
>
> I note that if the port is brought up within seconds of having been
> reset, then it seems to work (at least sporadically) despite the
> BMCR_ANENABLE bug. I imagine this is something that can be tuned out,
> but given it's happening in the bootloader, I don't have much
> confidence that I'm going to find the knob to fix it. I've got a
> problem with my vendor OS image, but when I get that fixed I'll check
> that as well.
>
> In the mean time, if any likely culprits come to mind, do let me know.
>
> Thanks,
>
> Caleb
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list