Networking¶
On Jetson (Ubuntu-based) systems, networking can be controlled by three different mechanisms:
- NetworkManager (NM)
/etc/network/interfaces(ifupdown)- Netplan (systemd-networkd or NetworkManager renderer)
Warning
These systems can conflict with each other when active simultaneously, often resulting in issues such as: - eth0 being shown as DEVICE -- - NetworkManager being unable to manage Ethernet - Misconfigured profiles being ignored
NetworkManager¶
The default modern network management system.
- Location: /etc/NetworkManager/system-connections/
- Requires correct permissions and ownership
- Handles Ethernet, Wi-Fi, VPN, DHCP, static IP
- If NM does not manage eth0 → Connection appears as DEVICE --
Creating a Fresh eth0 Profile (Recommended)¶
# Delete old profile (ignore errors)
sudo nmcli connection delete eth0
# Create a new DHCP profile
sudo nmcli connection add type ethernet ifname eth0 con-name eth0 ipv4.method auto ipv6.method ignore
# Fix permissions
# Without these, NetworkManager can see the profile but cannot activate it.
sudo chmod 600 /etc/NetworkManager/system-connections/eth0
sudo chown root:root /etc/NetworkManager/system-connections/eth0
# Restart NM
sudo nmcli connection reload
sudo systemctl restart NetworkManager
# Bring up the interface
sudo nmcli connection down eth0
sudo nmcli connection up eth0
# Verify assigned IP
ip addr show eth0
Static Setup¶
[connection]
id=eth0
type=ethernet
interface-name=eth0
permissions=
[ethernet]
mac-address-blacklist=
[ipv4]
address1=192.168.1.3/24
dns-search=
method=manual
[ipv6]
method=ignore
DHCP Setup¶
[connection]
id=eth0
type=ethernet
interface-name=eth0
autoconnect=true
[ipv4]
method=auto
[ipv6]
method=ignore
What DEVICE - Means (eth0 Not Connecting)
This indicates: NetworkManager sees the connection profile but cannot bind it to the actual eth0 interface.
On Jetson devices, the eth0 interface may be managed by a different legacy configuration mechanism compared to other network interfaces. If /etc/network/interfaces contains an old-style configuration entry for eth0, NetworkManager will stop managing this interface, causing it to appear as DEVICE -- in nmcli. To resolve this, comment out or remove the eth0 lines in the interfaces file. Once these entries are disabled, NetworkManager will correctly take control of the eth0 interface, and the connection will function as expected.
ifupdown¶
Legacy networking method. If this file contains:
- Location:
/etc/network/interfaces
- Then:
- NetworkManager will NOT manage eth0
- eth0 becomes unmanaged
- nmcli shows
DEVICE --
Netplan¶
- Installing Netplan (if missing):
sudo apt install netplan.io - Controls which backend manages the network:
renderer: NetworkManagerrenderer: networkd
- Location:
/etc/netplan/*.yaml