Suppress nonexistent eth0

The argon oneup registers an eth0 interface that doesn’t seem to exist… don’t know if the cm5 just assumes there will always be one, or if there is hardware in the laptop that for whatever reason wasn’t finished at the last moment… in truth it doesn’t matter – the pedant in me wants my network interfaces to reflect reality, so when I attach a USB ethernet adapter, it should show up as eth0, not as eth1.

So, here is what I did…

Save the following as noeth.dts:

/*

  See https://forums.raspberrypi.com/viewtopic.php?t=290965
  Updated for Raspberry Pi 5/CM5 as the Argon OneUp laptop has an eth0
  interface that isn't actually attached to anything

  $ dtc -I dts -O dtb -o noeth.dtbo noeth.dts

*/

/dts-v1/;
/plugin/;

/ {
    compatible = "raspberrypi,5-model-b";

    fragment@0 {
        target-path = "ethernet0";
        __overlay__ {
            status = "disabled";
        };
    };
};

Then compile it with dtc -I dts -O dtb -o noeth.dtbo noeth.dts

Install noeth.dtbo with sudo cp noeth.dtbo /boot/firmware/overlays

And finally, add dtoverlay=noeth to the end of /boot/firmware/config.txt and reboot.

Enjoy rational network identifiers!

1 Like

Thanks, that’s handy

(Note: The ethernet hardware is on the CM5 itself and thus always present. It just happens that the corresponding pins on the One Up’s motherboard aren’t routed to any connector, mostly because few laptop shells nowadays have holes for any Ethernet connector and few of those connectors are slim enough to fit within modern ultra thin shells).

1 Like