Unable to read MAC Address using Auvidea X221-AI Carrier Board

Dear Jetson Community,

I am using a 3rd party carrier board for the AGX Xavier module: The X221-AI from Auvidea.eu. It is equipped with two RJ45 Ethernet connectors.

For some reason, this carrier board is unable to preserve it’s network settings after reboot. I believe the following lines from the $dmesg command may hint to the cause of this problem:

[    9.067428] r8168 0003:01:00.0 (unnamed net_device) (uninitialized): Invalid ethernet address 00:00:00:00:00:00, trying device tree node
[    9.067514] r8168 0003:01:00.0 (unnamed net_device) (uninitialized): bad mac address at /chosen/nvidia,ethernet-mac: missing.
[    9.067792] r8168 0003:01:00.0 (unnamed net_device) (uninitialized): Assigning random ethernet address a6:49:f1:c5:4c:3b

...

[    9.207633] r8168 0004:01:00.0 (unnamed net_device) (uninitialized): Invalid ethernet address 00:00:00:00:00:00, trying device tree node
[    9.207712] r8168 0004:01:00.0 (unnamed net_device) (uninitialized): bad mac address at /chosen/nvidia,ethernet-mac: missing.
[    9.207988] r8168 0004:01:00.0 (unnamed net_device) (uninitialized): Assigning random ethernet address 92:8b:80:dc:e1:ba

From my understanding, due to the carrier board assigning random MAC addresses after boot, it is unable to preserve it’s network settings which are bound to a specific MAC address. Is there anything I can do to fix this? From reading similar topics in this forum, the MAC address seems to be bound to the Nvidia module and has nothing to do with the carrier board. The carrier board’s only task is to read it.

X221_dmesg.txt (78.2 KB)

Mac addr is read from the module eeprom but you cannot say this has nothing to do with the carrier board.

If this board has something wrong in the i2c and causes it not able to read the eeprom through i2c bus, then it won’t have correct mac addr either.

From your case, it looks like something else.

I read your log and it seems you are talking about some network interface that added by yourself on the PCIe?

The only thing I have done after flashing is to setup a network connection via the graphical “Network Connections” interface. I will reflash the device now and have a look at the dmesg log to see if there are any differences.

I don’t know anything about that carrier board. But according to the log, this ethernet interface is added by the vendor on the PCIe instead of using our native ethernet controller.

Actually I can see the mac addr in your dmesg. This “eqos” is the native eth controller.

[ 7.237818] eqos 2490000.ether_qos: Setting local MAC: 48 b0 2d 4d 3f d2

However, the driver also complains about the mac addr later. lspci shall show the r8168 device.

[ 9.207712] r8168 0004:01:00.0 (unnamed net_device) (uninitialized): bad mac address at /chosen/nvidia,ethernet-mac: missing.

Could you check whether that node /chosen/nvidia,ethernet-mac exists of not?
And maybe you should contact with the board vendor.

1 Like

This is the $lspci output:

0003:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
0003:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
0004:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad1 (rev a1)
0004:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
0005:01:00.0 Non-Volatile memory controller: Device 1d79:2263 (rev 03)

The $ls command within the /proc/device-tree/chosen directory lists the following entries:

board-has-eeprom bootargs ecid linux,initrd-end linux,initrd-start name nvidia,ether-mac plugin-manager reset

I have been communicating this behavior with the board vendor the past month, unfortunately without any hint to the cause of this.

It looks like we have “nvidia,ether-mac” but the driver is looksing for

/chosen/nvidia,ethernet-mac

1 Like

Looking for “nvidia,ether-mac” in the files supplied by the board vendor, I get the following list:

~/Downloads/auvidea-bootloader$ grep -r “nvidia,ether-mac”
Binary file system.img matches
Binary file nvtboot_cpu_t194.bin matches
Binary file system.img.raw matches
Binary file boot.img matches
Binary file nvtboot_recovery_cpu.bin matches
Binary file boot.img.sb matches
Binary file nvtboot_cpu.bin matches
Binary file recovery.img matches
Binary file t186ref/p2771-0000/500/u-boot.bin matches
Binary file t186ref/p2771-0000/000/u-boot.bin matches
Binary file t186ref/p3636-0001/u-boot.bin matches
Binary file cboot_t194.bin matches
Binary file cboot.bin matches
Binary file nvtboot_recovery_cpu_t194.bin matches
Binary file temp_user_dir/boot.img matches
Binary file temp_user_dir/boot_sigheader.img.encrypt matches

To me it does not look like I am able to edit any of these files. Is there any way for me to fix this? I will update my ticket with the board vendor.

Actually, cboot is open source. And that nvidia,ether-mac is set by cboot.

Or you can also modify the kernel driver, which is directly the r8168 driver and ask it to use “nvidia,ether-mac” instead of “nvidia,ethernet-mac”.

But what I really want to clarify that if you didn’t customize anything on the board in both software or hardware, and you board vendor claims this PCIe ethernet port will by default working with the BSP package (those files) they provided. Then they should check help check why this ethernet phy reads the mac addr failed on your case but read fine on other boards they released.

I don’t know who plugs this PCIe ethernet card to the board, if that wasn’t you, then you should ask the vendor about it but not trying to fix this by yourself at this moment.

1 Like

Thank you so much for your very timely help & guidance - I hope to have this resolved soon in some way.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.