Cannot allocate a static IPv4 address on `eth0`

Hello,

I purchased a Core Kit and Vision Kit, and have a problem with both boards.

I allocated a static IP address via /etc/network/interfaces.
I noticed that the IPv4 address of eth0 on RB5 falls back to 169.254.4.1, after a reboot or device disconnection. Here’s the steps to reproduce.

  1. Install QRB5165.1.0.0.0.012.1_r003006.2_perf on Qualcomm RB5 using Qualcomm’s sdkmanager
  2. connect a board to eth0 via RJ45
  3. sudo apt-get install ethtool net-tools netplan.io ifupdown2 sudo
  4. sudo vi /etc/netplan/01-network-manager-all.yaml and fill
#Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  1. Fill /etc/network/interfaces as follows:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
	address 10.2.100.1
	netmask 255.255.255.0
	link-speed 100
	link-duplex full
	ethernet-autoneg off
  1. sudo reboot
  2. sudo ifdown -v eth0 && sudo ifup -v eth0

Step 7 should be done only once, not every time one reboots the board.

On a side note, could you share a better way of managing network interfaces other than /etc/network/interfaces, if any?
Also, I noticed that the MAC address changes as well. Is this normal? (Not that this impedes my endeavor at the moment.)

Thank you in advance.

So, I haven’t got an RB5 and I never use netplan. However…
the default behaviour of NetworkManager is to avoid configuring
any interface listed in /etc/network/interfaces .

Overall I think you might be better off removing the eth0 pieces from
/etc/network and configuring eth0 using nmtui. Note that you should also
be able to set the Cloned MAC address field to avoid the driver
selecting and random MAC address too.