Eth0 missing after update to R35.3.1

Hi Nvidia,

We are trying to update Jetson AGX Orin devkit from R35.1 to R35.3.1.

Because we plugged Orin devkit on our own motherboard instead of the original one, we removed the eeprom reading since we don’t have eeprom in our hardware design. In R35.1, we have already used it for a period of time and it works fine.

The 10G-XFI eth driver looks normal:

d@d-desktop:~$ sudo dmesg | grep ether
[    4.389505] usbcore: registered new interface driver cdc_ether
[   13.099387] nvethernet 6810000.ethernet: Adding to iommu group 51
[   13.106026] nvethernet 6810000.ethernet: failed to read skip mac reset flag, default 0
[   13.114180] nvethernet 6810000.ethernet: failed to read MDIO address
[   13.120720] nvethernet 6810000.ethernet: setting to default DMA bit mask
[   13.127625] nvethernet 6810000.ethernet: Failed to read DMA Tx ring size, using default [4096]
[   13.136477] nvethernet 6810000.ethernet: Failed to read DMA Tx ring size, using default [4096]
[   13.145329] nvethernet 6810000.ethernet: failed to read UPHY GBE mode- default to 10G
[   13.536366] nvethernet 6810000.ethernet: Ethernet MAC address: 48:b0:2d:7f:53:88
[   13.544302] nvethernet 6810000.ethernet: Macsec not enabled
[   13.550033] nvethernet 6810000.ethernet: Macsec: Reduced MTU: 1466 Max: 16383
[   13.559288] nvethernet 6810000.ethernet: eth0 (HW ver: 31) created with 10 DMA channels
[   15.123619] using random self ethernet address
[   15.135002] using random host ethernet address
[   15.984788] using random self ethernet address
[   15.989391] using random host ethernet address
[   18.037397] Aquantia AQR113C 6810000.ethernet:00: No AQR phy_mode setting in DT

And there is eth0 in ifconfig:

d@d-desktop:~$ ifconfig -a
dummy0: flags=130<BROADCAST,NOARP>  mtu 1500
        ether a6:5a:a6:3d:9f:dc  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1466
        ether 48:b0:2d:7f:53:88  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

l4tbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.55.1  netmask 255.255.255.0  broadcast 192.168.55.255
        inet6 fe80::f43a:9aff:fe79:26b5  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::1  prefixlen 128  scopeid 0x20<link>
        ether f6:3a:9a:79:26:b5  txqueuelen 1000  (Ethernet)
        RX packets 243  bytes 37466 (37.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 277  bytes 32277 (32.2 KB)
        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 541  bytes 38955 (38.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 541  bytes 38955 (38.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rndis0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::f43a:9aff:fe79:26b5  prefixlen 64  scopeid 0x20<link>
        ether f6:3a:9a:79:26:b5  txqueuelen 1000  (Ethernet)
        RX packets 150  bytes 22802 (22.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 413  bytes 71391 (71.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::f43a:9aff:fe79:26b7  prefixlen 64  scopeid 0x20<link>
        ether f6:3a:9a:79:26:b7  txqueuelen 1000  (Ethernet)
        RX packets 98  bytes 15584 (15.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 179  bytes 37592 (37.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 90:e8:68:83:e5:91  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

So when we update it to R35.3.1, we supposed to make the same change as we did in R35.1 as below: (This is the only change we made after downloaded the package from Nvidia!)

In Linux/bootloader/tegra234-mb2-bct-common.dtsi
       eeprom {
            cvm_eeprom_i2c_instance = <0>;
            cvm_eeprom_i2c_slave_address = <0xa0>;
            cvm_eeprom_read_size = <0x100>;
            cvb_eeprom_i2c_instance = <0x0>;
            cvb_eeprom_i2c_slave_address = <0xac>;
            cvb_eeprom_read_size = <0x100>;
        };
Change to:
       eeprom {
            cvm_eeprom_i2c_instance = <0>;
            cvm_eeprom_i2c_slave_address = <0xa0>;
            cvm_eeprom_read_size = <0x000>;
            cvb_eeprom_i2c_instance = <0x0>;
            cvb_eeprom_i2c_slave_address = <0xac>;
            cvb_eeprom_read_size = <0x000>;
        };

Then run the flashing command:

$ sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1

However, after flashing progress done and the device reboot, eth0 missing and the 10g-XFI driver seems failed to install:

d@d-desktop:~$ sudo dmesg | grep ether
[    4.349183] usbcore: registered new interface driver cdc_ether
[   11.972507] nvethernet 6810000.ethernet: Adding to iommu group 51
[   11.979137] nvethernet 6810000.ethernet: failed to read skip mac reset flag, default 0
[   11.987300] nvethernet 6810000.ethernet: failed to read MDIO address
[   11.993849] nvethernet 6810000.ethernet: setting to default DMA bit mask
[   12.000769] nvethernet 6810000.ethernet: Failed to read DMA Tx ring size, using default [4096]
[   12.009634] nvethernet 6810000.ethernet: Failed to read DMA Tx ring size, using default [4096]
[   12.018496] nvethernet 6810000.ethernet: failed to read UPHY GBE mode- default to 10G
[   12.418343] ether_get_mac_address_dtb: bad mac address at /chosen/nvidia,ether-mac0: NULL.
[   12.426860] nvethernet 6810000.ethernet: No MAC address in local DT!
[   12.433407] nvethernet 6810000.ethernet: failed to get MAC address
[   12.443937] nvethernet: probe of 6810000.ethernet failed with error -22
[   15.177664] using random self ethernet address
[   15.184475] using random host ethernet address
[   17.253153] using random self ethernet address
[   17.257811] using random host ethernet address

And there is no eth0 in ifconfig:

d@d-desktop:~$ ifconfig -a
dummy0: flags=130<BROADCAST,NOARP>  mtu 1500
        ether fe:90:ce:5f:3c:1d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

l4tbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.55.1  netmask 255.255.255.0  broadcast 192.168.55.255
        inet6 fe80::18da:5ff:fea7:b3ed  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::1  prefixlen 128  scopeid 0x20<link>
        ether 1a:da:05:a7:b3:ed  txqueuelen 1000  (Ethernet)
        RX packets 171  bytes 28998 (28.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 188  bytes 22348 (22.3 KB)
        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 1461  bytes 107416 (107.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1461  bytes 107416 (107.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rndis0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::18da:5ff:fea7:b3ed  prefixlen 64  scopeid 0x20<link>
        ether 1a:da:05:a7:b3:ed  txqueuelen 1000  (Ethernet)
        RX packets 97  bytes 15789 (15.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 298  bytes 53476 (53.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::18da:5ff:fea7:b3ef  prefixlen 64  scopeid 0x20<link>
        ether 1a:da:05:a7:b3:ef  txqueuelen 1000  (Ethernet)
        RX packets 82  bytes 14393 (14.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 129  bytes 27272 (27.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.32.124  netmask 255.255.252.0  broadcast 172.25.35.255
        inet6 fe80::a77c:65dd:90f2:f48d  prefixlen 64  scopeid 0x20<link>
        ether 90:e8:68:83:e5:91  txqueuelen 1000  (Ethernet)
        RX packets 14582  bytes 21368053 (21.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6272  bytes 636913 (636.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

How to fix this problem without enable eeprom reading?

Thanks and looking forward to quick reply.

BR
Ezra Zhang

So when we update it to R35.3.1, we supposed to make the same change as we did in R35.1 as below: (This is the only change we made after downloaded the package from Nvidia!)

In Linux/bootloader/tegra234-mb2-bct-common.dtsi
       eeprom {
            cvm_eeprom_i2c_instance = <0>;
            cvm_eeprom_i2c_slave_address = <0xa0>;
            cvm_eeprom_read_size = <0x100>;
            cvb_eeprom_i2c_instance = <0x0>;
            cvb_eeprom_i2c_slave_address = <0xac>;
            cvb_eeprom_read_size = <0x100>;
        };
Change to:
       eeprom {
            cvm_eeprom_i2c_instance = <0>;
            cvm_eeprom_i2c_slave_address = <0xa0>;
            cvm_eeprom_read_size = <0x000>;
            cvb_eeprom_i2c_instance = <0x0>;
            cvb_eeprom_i2c_slave_address = <0xac>;
            cvb_eeprom_read_size = <0x000>;
        };

This change is not needed… even for rel-35.1…

Are you sure you know what is “devkit”? 請問需要用中文解釋嗎…

Thanks for reply. It’s my bad to make a unclear description.

We are not using the whole devkit, but the module get from it. That’s why we should remove the eeprom reading, because our custom board has no eeprom for Orin to read.

You only need to remove cvb eeprom.

cvm means the module
cvb means the carrier board.

Never disable the eeprom on module…

It’s right, after keeping cvb-eeprom reading, the eth0 becomes OK.

But according to the instruction on nvidia

when I change the device tree in tegra234-ethernet-3737-0000.dtsi as below:

/* MGBE - A */
    ethernet@6810000 {
        status = "okay";
        /* 1:10G, 0:5G */
        nvidia,uphy-gbe-mode = <1>;

        /* 0:XFI 10G, 1:XFI 5G, 2:USXGMII 10G, 3:USXGMII 5G */
        nvidia,phy-iface-mode = <0>;
        nvidia,max-platform-mtu = <16383>;

        fixed-link{
            speed = <10000>;
            full-duplex;
        };

    };

Eth0 is still missing and fail to install:

d@d-desktop:~$ sudo dmesg | grep eth
[    0.000000] psci: probing for conduit method from DT.
[    4.515548] usbcore: registered new interface driver cdc_ether
[    6.420110] optee: probing for conduit method.
[   11.513642] nvethernet 6810000.ethernet: Adding to iommu group 51
[   11.522794] nvethernet 6810000.ethernet: failed to read skip mac reset flag, default 0
[   11.532459] nvethernet 6810000.ethernet: failed to read MDIO address
[   11.540513] nvethernet 6810000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   11.552869] nvethernet 6810000.ethernet: setting to default DMA bit mask
[   11.561284] nvethernet 6810000.ethernet: Failed to read DMA Tx ring size, using default [4096]
[   11.571660] nvethernet 6810000.ethernet: Failed to read DMA Rx ring size, using default [4096]
[   11.583818] nvethernet 6810000.ethernet: invalid resource
[   11.590866] nvethernet 6810000.ethernet: failed to ioremap MAC base address
[   11.599520] nvethernet 6810000.ethernet: failed to allocate platform resources
[   11.608455] nvethernet: probe of 6810000.ethernet failed with error -22
[   14.031473] using random self ethernet address
[   14.031476] using random host ethernet address

Hi,

It’s right, after keeping cvb-eeprom reading, the eth0 becomes OK.

我不確定你有沒有搞清楚

cvb eeprom可以拿掉 但是cvm eeprom一定要留著. 所以 “keeping cvb eeprom reading” 不是很必要.

如果eth0問題已經解掉, 麻煩開一條新的topic問剩下的問題

Sorry, it’s a typing mistake. I will make a new topic.

The new topic is here

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