Small guide for fixing Ethernet on the latest Armbian.
1. Make sure you have the correct device: cat /proc/device-tree/model → OrangePi 3 LTS
2. Decompile the dtb to dts: dtc -I dtb -O dts /boot/dtb/allwinner/sun50i-h6-orangepi-3-lts.dtb -o ./sun50i-h6-orangepi-3-lts.dts
3. Check the correct pins (yours may differ): grep -i reset-gpio sun50i-h6-orangepi-3-lts.dts | head -n 1 → reset-gpios = <0x1e 0x03 0x0e 0x01>;
4. Create the file sun50i-h6-ethernet.dts. Use the provided template and substitute your pin values.
My file for example:
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun50i-h6";
fragment@0 {
target = <&emac>;
__overlay__ {
snps,reset-gpio = <0x1e 0x03 0x0e 0x01>;
snps,reset-delays-us = <0 10000 1000000>;
snps,reset-active-low;
mdio {
ethernet-phy@1 {
reset-gpios;
reset-assert-us;
reset-deassert-us;
};
};
};
};
};
5. Add your overlay: armbian-add-overlay sun50i-h6-ethernet.dts
6. Reboot and enjoy working Ethernet: reboot