Tool/software: Linux
My custom AM5728 board cannot connect to the network about 2 out 3 boots because the Ethernet PHY (BCM54610) disappears!
This is when it works:
U-Boot 2018.01-g62414e2c81 (Mar 25 2019 - 18:36:04 +0000)
CPU : DRA752-GP ES2.0
Model: TI AM5728 IDK
Board: Solix19 Dev
DRAM: 2 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment
SCSI: SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
scanning bus for devices...
Found 0 device(s).
Net:
Warning: ethernet@48484000 using MAC address from ROM
eth0: ethernet@48484000
Hit any key to stop autoboot: 0
root@solix:~# dmesg | grep -i eth
[ 2.151339] cpsw 48484000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property
[ 2.159689] cpsw 48484000.ethernet: Detected MACID = 34:03:de:ca:d0:7a
[ 2.166323] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[ 2.172743] cpsw 48484000.ethernet: ALE Table size 1024
[ 2.178036] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[ 3.284323] systemd[1]: /lib/systemd/system/eth0-up.service:13: Unknown lvalue 'After' in section 'Install'
[ 7.103159] net eth0: initializing cpsw version 1.15 (0)
[ 7.156786] net eth0: phy "" not found on slave 1, err -19
[ 7.168656] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 8.240135] cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 8.252017] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 9.280086] cpsw 48484000.ethernet eth0: Link is Down
[ 11.360152] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
root@solix:~# dmesg | grep -i phy
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
[ 2.056926] libphy: Fixed MDIO Bus: probed
[ 2.130112] davinci_mdio 48485000.mdio: detected phy mask fffffffe
[ 2.138647] libphy: 48485000.mdio: probed
[ 2.142711] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver unknown
[ 2.151339] cpsw 48484000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property
[ 7.156655] Generic PHY 48485000.mdio:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=48485000.mdio:00, irq=POLL)
[ 7.156781] libphy: PHY not found
[ 7.156786] net eth0: phy "" not found on slave 1, err -19
root@solix:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP AUI BNC MII FIBRE ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000000 (0)
Link detected: yes
And this is when it doesn't:
U-Boot 2018.01-g62414e2c81 (Mar 25 2019 - 18:36:04 +0000)
CPU : DRA752-GP ES2.0
Model: TI AM5728 IDK
Board: Solix19 Dev
DRAM: 2 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment
SCSI: SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
scanning bus for devices...
Found 0 device(s).
Net: Could not get PHY for ethernet@48484000: addr 0
root@solix:~# dmesg | grep -i eth
[ 2.163116] cpsw 48484000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property
[ 2.171465] cpsw 48484000.ethernet: Detected MACID = 34:03:de:ca:d0:7a
[ 2.178078] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[ 2.184482] cpsw 48484000.ethernet: ALE Table size 1024
[ 2.189775] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[ 3.297448] systemd[1]: /lib/systemd/system/eth0-up.service:13: Unknown lvalue 'After' in section 'Install'
[ 8.011871] net eth0: initializing cpsw version 1.15 (0)
[ 8.161286] net eth0: phy "48485000.mdio:00" not found on slave 0, err -19
[ 8.161305] net eth0: phy "" not found on slave 1, err -19
[ 8.176401] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 53.657624] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
root@solix:~# dmesg | grep -i phy
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
[ 2.075205] libphy: Fixed MDIO Bus: probed
[ 2.148541] davinci_mdio 48485000.mdio: no live phy, scanning all
[ 2.163116] cpsw 48484000.ethernet: No slave[1] phy_id, phy-handle, or fixed-link property
[ 8.035611] libphy: PHY 48485000.mdio:00 not found
[ 8.161286] net eth0: phy "48485000.mdio:00" not found on slave 0, err -19
[ 8.161301] libphy: PHY not found
[ 8.161305] net eth0: phy "" not found on slave 1, err -19
root@solix:~# ethtool eth0
Settings for eth0:
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000000 (0)
Link detected: no
My Kernel is 4.14 from SDK 5.02. I have a batch of identical boards, but only 2 from the same batch show this issue. This could indicate PCB component issue, but I checked the boards and nothing really stands out.