MAC Address Swapping and Unknown MAC Issue on Jetson Orin Nano 4GB
Issue Overview
Users of the Jetson Orin Nano 4GB with two Ethernet ports are experiencing inconsistent MAC address behavior and connectivity issues. The problem manifests in several ways:
- MAC addresses appear to swap between eth0 and eth1 interfaces
- ifconfig shows the same MAC address for both eth0 and eth1
- The Ubuntu UI displays an unknown MAC address not shown in ifconfig
- Ping attempts to connected devices fail
- The issue occurs intermittently, with Ethernet working sometimes and failing other times
- The unknown MAC address changes with each reboot
- The problem seems more prevalent when the system is powered off completely rather than rebooted via the OS
The issue is occurring on a custom carrier board from Forecr.io, specifically the Jetson Orin NX & Orin Nano Dual LAN Carrier Board.
Possible Causes
-
Hardware-specific issue: The problem may be related to the custom carrier board design or implementation.
-
Driver conflicts: Incompatibilities between the Jetson Orin Nano system and the network interface controllers (NICs) on the carrier board could cause address conflicts.
-
Firmware or BIOS issue: The board’s firmware might not be properly initializing or maintaining the MAC addresses across reboots.
-
Power management problems: The issue seems more prevalent when the system is fully powered off, suggesting a potential power-related cause.
-
Operating system configuration: The Ubuntu installation might have incorrect network configurations or conflicting settings.
-
MAC address randomization: Although not intentionally enabled, some form of MAC address randomization might be occurring.
Troubleshooting Steps, Solutions & Fixes
-
Verify hardware compatibility:
- Consult the Forecr.io documentation to ensure the Jetson Orin Nano is fully compatible with the carrier board.
- Check for any known issues or errata related to the Ethernet ports on the carrier board.
-
Update firmware and drivers:
- Contact Forecr.io support for the latest firmware updates for the carrier board.
- Ensure you have the latest NVIDIA Jetson drivers installed.
-
Disable MAC address randomization:
- Check the NetworkManager configuration to ensure MAC address randomization is disabled:
sudo nano /etc/NetworkManager/NetworkManager.conf
- Add or modify the following lines:
[device] wifi.scan-rand-mac-address=no [connection] ethernet.cloned-mac-address=preserve wifi.cloned-mac-address=preserve
- Save the file and restart NetworkManager:
sudo systemctl restart NetworkManager
- Check the NetworkManager configuration to ensure MAC address randomization is disabled:
-
Set static MAC addresses:
- Create udev rules to assign static MAC addresses to each interface:
sudo nano /etc/udev/rules.d/70-persistent-net.rules
- Add lines for each interface (replace XX:XX:XX:XX:XX:XX with desired MAC addresses):
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0", ATTR{address}="XX:XX:XX:XX:XX:XX" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1", ATTR{address}="YY:YY:YY:YY:YY:YY"
- Save the file and reboot the system.
- Create udev rules to assign static MAC addresses to each interface:
-
Check for conflicting network configurations:
- Review
/etc/network/interfaces
and ensure there are no conflicting configurations. - Verify that NetworkManager is managing the interfaces correctly:
nmcli device status
- Review
-
Investigate power management settings:
- Check if power management features are affecting the Ethernet ports:
ethtool -i eth0 ethtool -i eth1
- If power management is enabled, try disabling it:
sudo ethtool -s eth0 wol d sudo ethtool -s eth1 wol d
- Check if power management features are affecting the Ethernet ports:
-
Collect diagnostic information:
- When the issue occurs, capture the following information:
ifconfig -a ip link show dmesg | grep -i eth lspci -v
- Share this information with Forecr.io support for further analysis.
- When the issue occurs, capture the following information:
-
Test with different boot methods:
- Since the issue appears less frequently when rebooting via OS, try to identify any differences in hardware initialization between cold boot and OS reboot.
- Work with Forecr.io to investigate potential power sequencing or initialization issues during cold boot.
-
Apply vendor-provided fixes:
- Forecr.io has provided a new script that appears to resolve some of the MAC address display issues. Ensure this script is properly implemented and runs on startup.
-
Monitor for hardware failures:
- Keep an eye on system logs for any signs of hardware failures or errors related to the Ethernet interfaces.
- Consider testing the board with a different Jetson module to isolate whether the issue is specific to the carrier board or the Jetson Orin Nano.
If the issue persists after trying these steps, continue to work closely with Forecr.io support, as they may need to provide additional firmware updates or hardware revisions to fully resolve the problem.