Ok, more info:
If I plug into the 10/100/1000 Base-T port on the router, I can repeatedly hot-plug. The bold info below just shows how I have it connected. I get messages like:
BBB - GigE on router
[ 2605.699821] libphy: 4a101000.mdio:00 - Link is Down
[ 2606.517224] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 2615.266472] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
[ 2615.266599] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
I tried next inserting a 10 Base-T hub into the link, again it reconnects as follows (yellow LED off as expected since not 100 connection):
BBB - 10 Base-T hub - GigE on router
[ 2534.629535] libphy: 4a101000.mdio:00 - Link is Down
[ 2534.743363] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 2547.407123] libphy: 4a101000.mdio:00 - Link is Up - 10/Half
[ 2547.407247] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
So, plugging instead in to one of the 100 Base-T ports on the router, it never reconnects - I get:
BBB - 100 Base-T on router
[ 2671.551383] libphy: 4a101000.mdio:00 - Link is Down
[ 2671.657297] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
BUT - if while in that mode, I insert the 10 Base-T hub in the link, it will reconnect - I get:
BBB - 10 Base-T hub - 100 Base-T on router
[ 2761.391537] libphy: 4a101000.mdio:00 - Link is Up - 10/Half
[ 2761.391662] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
So I know that it can connect to the 100 Base-T port on the router if I put a 10 Base-T hub in the way. I am just unsure what that means…
Going back to basics, if I boot while connected to the 100 Base-T port on the router, dmesg shows that it can connect to that port:
BBB - 100 Base-T on router
From boot with LAN connected
[ 23.445684] net eth0: initializing cpsw version 1.12 (0)
[ 23.447890] net eth0: phy found : id is : 0x7c0f1
[ 23.447909] libphy: PHY 4a101000.mdio:01 not found
[ 23.452960] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 23.481040] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 27.594331] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
[ 27.594395] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
But after boot, if I unplug it, I get:
[ 340.879107] libphy: 4a101000.mdio:00 - Link is Down
[ 340.932015] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
And it will never reconnect however many times I hot-plug it.
BUT - if I plug it back in to the same router port but via the 10 Base-T hub, it reconnects:
[ 367.570844] libphy: 4a101000.mdio:00 - Link is Up - 10/Half
[ 367.570899] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Does any of that give anyone a clue?
I am going to update the guys at the Beagle Hospital with this info too.