BeagleBone Black: Ethernet transmits packets but does not receive them

Hello All,

just figured out that one issue with this PHY is the “Energy Detect Power-Down” feature.
This actually powers down the transceiver, and waits for a suitable signal to power-up again (see datasheet of the PHY).

This works only on gigabit switches somewhat reliable, but on 10/100 MBit switches, it usually doesn’t come up again.

Furthermore, that may be even enforced by a schematic issue: Tx and Rx are not connected as specified by the PHY (Tx should go to pin 1 and 2, RX to the others). This is not a big deal as MDI-X fixes this, but this might be the root cause that the Energy Detect algorithm doesn’t work on 10/100.

However, we just disabled this feature by removing the enabling lines from the smsc.c driver within smsc_phy_config_init().

Maybe this helps!