BeagleBone Black Ethernet PHY issues
Robert Nelson
robertcnelson at gmail.com
Wed Oct 30 08:00:03 PDT 2024
On Tue, Oct 29, 2024 at 12:18 PM Geert Uytterhoeven
<geert at linux-m68k.org> wrote:
>
> Hi all,
>
> During the last few months, booting kernels on BeagleBone Black
> sometimes fails with:
>
> +SMSC LAN8710/LAN8720 4a101000.mdio:00: probe with driver SMSC
> LAN8710/LAN8720 failed with error -5
> davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00,
> driver SMSC LAN8710/LAN8720
> soc_device_match(cpsw_soc_devices): no match
> cpsw-switch 4a100000.switch: initialized cpsw ale version 1.4
> ...
> am335x-phy-driver 47401300.usb-phy: dummy supplies not allowed
> for exclusive requests (id=vbus)
> +cpsw-125mhz-clkctrl:0014:0: failed to disable
> am335x-phy-driver 47401b00.usb-phy: using DT
> '/ocp/target-module at 47400000/usb-phy at 1b00' for 'reset' GPIO lookup
> ...
> cpsw-switch 4a100000.switch: starting ndev. mode: dual_mac
> -SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver
> (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
> -cpsw-switch 4a100000.switch eth0: Link is Up - 100Mbps/Full -
> flow control off
> -Sending DHCP requests ., OK
> -IP-Config: Complete:
> -[...]
> +cpsw-switch 4a100000.switch: phy
> "/ocp/interconnect at 4a000000/segment at 0/target-module at 100000/switch at 0/mdio at 1000/ethernet-phy at 0"
> not found on slave 0
> +[HANG]
>
> Adding debug prints to smsc_phy_probe() makes the issue go away, so it
> must be timing related.
>
> Adding specific debug prints in the failure case gives:
>
> SMSC LAN8710/LAN8720 4a101000.mdio:00: genphy_read_abilities:2859:
> phy_read(MII_BMSR) failed -EIO
> SMSC LAN8710/LAN8720 4a101000.mdio:00: phy_probe:3613:
> genphy_read_abilities() failed -EIO
> SMSC LAN8710/LAN8720 4a101000.mdio:00: probe with driver SMSC
> LAN8710/LAN8720 failed with error -5
>
> and later:
>
> Generic PHY 4a101000.mdio:00: genphy_read_abilities:2859:
> phy_read(MII_BMSR) failed -EIO
> Generic PHY 4a101000.mdio:00: phy_probe:3609:
> genphy_read_abilities failed -EIO
> cpsw-switch 4a100000.switch: phy
> "/ocp/interconnect at 4a000000/segment at 0/target-module at 100000/switch at 0/mdio at 1000/ethernet-phy at 0"
> not found on slave 0
Hey Geert,
What revision of the board do you have, Bx, Cx, etc.
Only C3 has the new PCB with the phy 'reset' gpio line.
https://openbeagle.org/beagleboard/beaglebone-black/-/blob/master/BBB_SCH.pdf?ref_type=heads
For pre-C3 boards, removing "C24" has fixed a large percentage of my
boards in my ci test farm, while it's not a perfect fix as some still
fail..
Regards,
--
Robert Nelson
https://rcn-ee.com/
More information about the linux-arm-kernel
mailing list