BBB Rev A6 : Network failed to restart after the RJ45 cable is unplugged and then replugged

Good day,

I did some tests with am335x-debian-13.4-base-v5.10-ti-armhf-2026-04-23-4gb.img.xz

I installed the image to a miscroSD card, and boot on some BBB I have.

on BBB rev C, everything works as expected.

On BBB rev A6, if i unplugged the RJ45 Ethernet cable, wait few seconds, and replugged the cable, the network doesn’t restart. the leds, on the RJ45 connector, stay off.

From the serial console, if i do :

debian@BeagleBone:~$ sudo networkctl down eth0
[sudo] password for debian:
debian@BeagleBone:~$ sudo networkctl up eth0
[ 422.066569] cpsw-switch 4a100000.switch: starting ndev. mode: dual_mac
[ 422.175799] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
debian@BeagleBone:~$ [ 424.236325] cpsw-switch 4a100000.switch eth0: Link is Up - 100Mbps/Full - flow control off

The network restarts correctly.

I have the exact same issue with my own linux flavor, made with buildroot 2025.02.3, including Linux v6.12.16-rt9, and systemd-networkd.

Has anybody an idea to fix this issue ?

Thank you

@brsise i’ve been talking with another user, does this change fix it for you: smsc,disable-energy-detect;

&davinci_mdio_sw {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&davinci_mdio_default>;
	pinctrl-1 = <&davinci_mdio_sleep>;

	ethphy0: ethernet-phy@0 {
		reg = <0>;
		/* Support GPIO reset on revision C3 boards */
		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
		reset-assert-us = <300>;
		reset-deassert-us = <13000>;
		smsc,disable-energy-detect;
	};
};

Hi Robert,

I just tried your solution, and it works.

I modified the file …/buildroot/build/linux-v6.17.5-rt7-11-g71bff74421cd5/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi, compiled and deployed.

On both RevA6 and RevC, when I unplugged and replugged the Ethernet cable, the network restarts.

I also noticed another change on revC : the network restarts faster. It takes few seconds without the modification, and less than one second with the modification.

I see only advantages with this solution. Is there any reason why it’s not push to mainline linux ?

Thank you for your help.

PS : AFK till wednesday

Oh just discovered it a few days ago, I need to test it a little more, but yes I believe we should push it mainline.