Broken ethernet on SolidRun cubox-i

Michael Walle michael at walle.cc
Sat Dec 26 07:18:01 EST 2020


Hi Russell,

Ethernet is broken on 5.8+ kernel for "some" cubox-i boards. Some users
reached out to me because they suspected my commit 0465d8f830dc ("net: 
phy:
at803x: fix PHY ID masks") for the breakage. But it turned out not to be
the case. Instead on faulty boards the PHY was always on PHY address 4:

[    4.008024] libphy: fec_enet_mii_bus: probed
[    4.008151] mdio_bus 2188000.ethernet-1: MDIO device at address 0 is 
missing.
[    4.010155] fec 2188000.ethernet eth0: registered PHC device 0
[..]
[   19.172510] fec 2188000.ethernet eth0: Unable to connect to phy

# cat 
/sys/devices/soc0/soc/2100000.bus/2188000.ethernet/mdio_bus/2188000.ethernet-1/2188000.ethernet-1:04/phy_id
0x004dd072

Thus I suspect your commit 86b08bd5b994 ("ARM: dts: imx6-sr-som: add
ethernet PHY configuration") to be the culprit ;) This will pin the
PHY to address 0. I don't know how it was done before; like was there
autoprobing if there is no "phy-handle" or did the bootloader fix that
inplace. I don't have any cubox-i.

Anyway, I'm not sure what boards have the PHY at address 4. If it is
just per model and affects only the quad-core iMX.6 one or if it is
worse and the exact same model has it on 0 or 4. [1] might imply the
latter. If that is the case, SolidRun has added/removed a pull-down
on LED_ACT sometime during the board revisions.

I've looked at the vendor bootloader and it seems they scan the bus
for the PHY [2].

[1] 
https://forum.armbian.com/topic/15418-upgrading-cubox-i-buster-from-kernel-57y-to-58y-breaks-ethernet/?do=findComment&comment=116114
[2] 
https://github.com/SolidRun/u-boot/blob/v2018.01-solidrun-a38x/board/solidrun/mx6cuboxi/mx6cuboxi.c#L160

-michael



More information about the linux-arm-kernel mailing list