Network setup on NPi i.MX6ULL Dev Board

I am having trouble configuring my networking on my new NPi i.MX6ULL Dev Board. I have the following in my /etc/network/interfaces file:

auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet static
    address 192.168.1.200
    netmask 255.255.255.0

auto eth1
iface eth1 inet dhcp

iface usb0 inet static
    address 192.168.7.2
    netmask 255.255.255.252
    network 192.168.7.0
    gateway 192.168.7.1

After rebooting, this eth0 is not configured.

debian@npi:~$ ifconfig
eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
        inet6 fe80::a81a:7eff:fe56:eedc  prefixlen 64  scopeid 0x20<link>
        ether aa:1a:7e:56:ee:dc  txqueuelen 1000  (Ethernet)
        RX packets 2  bytes 136 (136.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19  bytes 4122 (4.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.4.10.213  netmask 255.255.192.0  broadcast 10.4.63.255
        inet6 fe80::d489:7cff:feec:e09d  prefixlen 64  scopeid 0x20<link>
        ether d6:89:7c:ec:e0:9d  txqueuelen 1000  (Ethernet)
        RX packets 1047  bytes 102876 (100.4 KiB)
        RX errors 0  dropped 55  overruns 0  frame 0
        TX packets 42  bytes 4923 (4.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 56  bytes 4486 (4.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56  bytes 4486 (4.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.2  netmask 255.255.255.252  broadcast 192.168.7.3
        inet6 fe80::1eba:8cff:fea2:ed68  prefixlen 64  scopeid 0x20<link>
        ether 1c:ba:8c:a2:ed:68  txqueuelen 1000  (Ethernet)
        RX packets 272  bytes 22102 (21.5 KiB)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 16  bytes 3252 (3.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Am I missing something? Image is the default Debian image that came on it.

Oddly enough, if I toggle it down and back up, it works.

debian@npi:~$ sudo ifup eth0
ifup: interface eth0 already configured
debian@npi:~$ sudo ifdown eth0
RTNETLINK answers: Cannot assign requested address
debian@npi:~$ sudo ifup eth0
debian@npi:~$ ifconfig
eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
        inet 192.168.1.200  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a81a:7eff:fe56:eedc  prefixlen 64  scopeid 0x20<link>
        ether aa:1a:7e:56:ee:dc  txqueuelen 1000  (Ethernet)
        RX packets 9  bytes 594 (594.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38  bytes 8088 (7.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...

Do you want to set up static IP?

Yes. That is what I am trying to do. Just so happens I figured this out. Turns out connman is controlling the wired ethernet ports. I was able to set a static IP by using connmanctl.
I found this article that explains a lot: https://developer.toradex.com/knowledge-base/ethernet-network-(linux)

You can also remove connman and it’ll work as you first expected.

sudo apt remove connman