How to directly connect two orins via 10G-BASE-T1(mebe0_0) with H-MTD lines?

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
[√] other DRIVE OS 6.0.3

Target Operating System
[√] Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
[√] DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
1.9.0.10816
[√] other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
[√] native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Hello,
We have two driver orin kits orinA & orinB.
We want to connect orinA & orinB via 10G-BASE-T1(mebe0_0) with the H-MTD lines(28Gbps from Rosenberger), the purpose is to transmit a large amount of data.

The connectors are as follows:
1

The config and test step:

  1. orinA: sudo ifconfig mgbe0_0 192.168.10.28
  2. orinB: sudo ifconfig mgbe0_0 192.168.10.29
  3. orinA: ping 192.168.10.29
    we will get the failed report:
    From 192.168.10.28 icmp_seq=3 Destination Host Unreachable

Are there any other configurations that need to be set?

Dear @xiaolei.qin,
We are checking internally on connection details and update you.

There are two Ethernet ports on J2. @xiaolei.qin, did you connect the same port 1 with your cable?

Dual HMTD Connector J2

Port Connected to
1 Tegra MGBE0 Ethernet Controller
2 LAN7431 (PCIe Ethernet Controller)

orinA: ping 192.168.9.29

It should be ‘ping 192.168.10.29’.

Thanks for your replay.

Yes, I did “ping 192.168.10.29”, sorry for typing mistake(mebe0_0 should be mgbe0_0).

The cable’s connectors at both sides are the same(like the picture), so my connection:
orinA J2-Port1 — orinB J2-Port1 Tegra MGBE0
orinA J2-Port2 — orinB J2-Port2 LAN7431
I think the connection was correct, right?
Maybe I should config the role of mgbe0_0(eg: orinA: Primary, orinB:Secondary), but I didn’t know how to set it.

I think you should check the phy and link status first, such as ‘ethtool’. And also check any kernel log once you plug-in/out the cable.

Dear @xiaolei.qin,
Could you check below steps if it works.

Connect HMTD cable between 88Q4364 and validate the loopback

  • Make sure the FW is udpated to 7.1.8.
 cd /usr/lib/firmware/marvell_ethernet/88Q4364/
   ./flash_4364 --GetCurrentVersion mgbe0_0
   ./flash_4364 --Install mgbe0_0 Arc-7.1.8.fw.image-ARC_9KB_nvidia_Main_MSMode-GPIO_ID58_VER2031.nvm.bin

Flashing time is around 12 to 15 minutes

  • Reboot device and Test Steps to verify this REQ
    Step1> Connect both 88Q4384 port back to back on MGBE0 instance with HMTD cable.
    Step2> execute master on one Orin.

  • Use set_mode_4364 <master(1)/slave(0)> to set mode.

# set master mode on first orin
  ./set_mode_4364 mgbe0_0 1
# set slave on another Orin.
   ./set_mode_4364 mgbe0_0 0
# Assign static IP on both Orin boards.
   ifconfig mgbe0_0 192.168.1.1 up #Master Orin
   sudo ifconfig mgbe0_0
   ifconfig mgbe0_0 192.168.1.2 up #Slave Orin
   sudo ifconfig mgbe0_0
1 Like

I used the ethtool checked Tegra MGBE0(mgbe0_0) & LAN7431(enP7p1s0).
Whether the cable is plugged in or not, the ethtool message is the same (link detected: yes), and the kernel has no message.

ethtool info:
nvidia@xa-155-9:~$ ethtool mgbe0_0
Settings for mgbe0_0:

  •    Supported ports: [ TP MII ]*
    
  •    Supported link modes:   Not reported*
    
  •    Supported pause frame use: Symmetric Receive-only*
    
  •    Supports auto-negotiation: Yes*
    
  •    Supported FEC modes: Not reported*
    
  •    Advertised link modes:  Not reported*
    
  •    Advertised pause frame use: No*
    
  •    Advertised auto-negotiation: Yes*
    
  •    Advertised FEC modes: Not reported*
    
  •    Speed: 10000Mb/s*
    
  •    Duplex: Full*
    
  •    Port: MII*
    
  •    PHYAD: 0*
    
  •    Transceiver: internal*
    
  •    Auto-negotiation: on*
    

Cannot get wake-on-lan settings: Operation not permitted

  •    Link detected: yes*
    

nvidia@xa-155-9:~$ ethtool enP7p1s0
Settings for enP7p1s0:

  •    Supported ports: [ TP MII ]*
    
  •    Supported link modes:   1000baseT/Full*
    
  •    Supported pause frame use: Symmetric Receive-only*
    
  •    Supports auto-negotiation: Yes*
    
  •    Supported FEC modes: Not reported*
    
  •    Advertised link modes:  1000baseT/Full*
    
  •    Advertised pause frame use: Symmetric Receive-only*
    
  •    Advertised auto-negotiation: Yes*
    
  •    Advertised FEC modes: Not reported*
    
  •    Speed: 1000Mb/s*
    
  •    Duplex: Full*
    
  •    Port: MII*
    
  •    PHYAD: 3*
    
  •    Transceiver: internal*
    
  •    Auto-negotiation: on*
    

Cannot get wake-on-lan settings: Operation not permitted

  •    Current message level: 0x00000137 (311)*
    
  •                           drv probe link ifdown ifup tx_queued*
    
  •    Link detected: yes*
    

Thanks for reply, I think this is the root cause.

But I still have some other questions:
1.Can I update the FW to 7.1.8 on DERIVER OS 6.0.3?

2.Where can I get the bin file: mgbe0_0 Arc-7.1.8.fw.image-ARC_9KB_nvidia_Main_MSMode-GPIO_ID58_VER2031.nvm.bin.

Now my FW version is 7.1.4.0.

3.I also want the LAN7431( enP7p1s0) working in this way, how to config it like mgbe0_0?

Hello,
I got the FW 7.1.8 from DRIVE OS 6.0.5.
I did tests but still ping failed:
Test 1:
orinA: DRIVE OS 6.0.3, MGBE0 FW 7.1.8, set_mode_4364 mgbe0_0 1, IP: 192.168.10.10
orinB: DRIVE OS 6.0.3, MGBE0 FW 7.1.8, set_mode_4364 mgbe0_0 0, IP: 192.168.10.30
orinA: ping 192.168.10.30 , Unreachable
orinA||orinB: ifconfig mgbe0_0 , Rx packets 0

Test 2:
orinA: DRIVE OS 6.0.3, MGBE0 FW 7.1.8, set_mode_4364 mgbe0_0 1, IP: 192.168.10.10
orinB: DRIVE OS 6.0.5, MGBE0 FW 7.1.8, set_mode_4364 mgbe0_0 0, IP: 192.168.10.30
orinA: ping 192.168.10.30 , Unreachable
orinB: ping 192.168.10.10 , Unreachable
orinA||orinB: ifconfig mgbe0_0 , Rx packets 0

There may be other configurations that need to be set.
or
Is there a hardware configuration strap option ?

Update the last status:
Finally, it works, I changed another cable then mgbe0 ping OK.

1 Like

Dear @xiaolei.qin,
Glad to hear the issue is fixed. So, the steps in How to directly connect two orins via 10G-BASE-T1(mebe0_0) with H-MTD lines? - #6 by SivaRamaKrishnaNV are enough to fix the issue?

Hello @SivaRamaKrishnaNV,
I think the - #6 by SivaRamaKrishnaNV are enough to fix the issue.
Only one additional point: when we reboot the orin the commands "./set_mode_4364 mgbe0_0 1; ifconfig mgbe0_0 down/up " need to be set on master again.

I have one related issues:
1.How to config the master/slave role for enP7p1s0 " |LAN7431 (PCIe Ethernet Controller)|"?

Dear @xiaolei.qin,
Could you please file new topic for different issues?

Hello @SivaRamaKrishnaNV,
I created the new topic:
How to set mode(master/slave) of network(enP7p1s0) 1G-BASE-T1?

We can close this topic.

Thanks.

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