brcm63xx: faulty ethernet link detection
Username: Daniel González Cabanelas
Origin: https://bugs.openwrt.org/index.php?do=details&task_id=340
Device: Inventel Livebox 1
BCM6348 SoC
Two ethernet ports:
1 internal phy
1 external phy, Altima AC101 phy
Looks like there is a bug at the ethernet phy driver in the kernel:
The eth0 (internal phy) interface doesn’t detect LINK activity when connecting/disconnecting the ethernet cable, it’s always UP
The eth1 (external phy) interface detects LINK activity when connecting/disconnecting the ethernet cable, but always with
HALF
speed when the cable is connected
[ 33.630022] device eth0 entered promiscuous mode [ 33.658602] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 33.778651] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 35.601615] eth1: link UP - 100/half - flow control off [ 35.617617] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
With an old Openwrt version (Attitude Adjustment), the LINK detection works perfect on both interfaces
[ 140.208000] eth0: link DOWN [ 146.896000] eth1: link UP - 100/full - flow control off [ 146.900000] br-lan: port 1(eth1) entered forwarding state [ 146.908000] br-lan: port 1(eth1) entered forwarding state [ 148.912000] br-lan: port 1(eth1) entered forwarding state [ 204.900000] eth1: link DOWN [ 204.900000] br-lan: port 1(eth1) entered disabled state [ 206.308000] eth0: link UP - 100/full - flow control off