[HOWTO] How to make your H2 talk 2.5 GbE with an H2+

Post Reply
domih
Posts: 232
Joined: Mon Feb 11, 2019 4:48 pm
languages_spoken: English, French
ODROIDs: UX4, HC2, N2, H2, C4, H2+
Location: San Francisco Bay Area
Has thanked: 78 times
Been thanked: 86 times
Contact:

[HOWTO] How to make your H2 talk 2.5 GbE with an H2+

Post by domih »

The newly released Odroid H2+ has two onboard 2.5 GbE NIC with the Realtek RTL8125 chipset.The original H2 (rev. A and B) has two onboard 1 GbE NIC with the Realtek RTL8111/8168/8411 chipset. So if you connect an H2 to an H2+, you will get the auto-negotiated speed of 1 GbE. If you want your already owned H2 to speak 2.5 GbE with the new H2+ you are going to have to overhaul your H2 with a 2.5 GbE NIC. There are two ways to do so:

1. Use a 2.5 GbE USB3 adapter. However, the current 3rd party models are not ready for use IMHO. See discussion there: viewtopic.php?f=172&t=38713. So if this is what you would love to do, wait for the new models.
2. Use an M2. NVMe to PCIe 2.0 x4 cable adapter with a 2.5 GbE PCIe card. There are already multiple card models based on the same RTL8125 chipset. I evaluated two of them in the testing discussed below.

For the PCIe 2.0 x4 cable adapter you can use the newly available one from Ameridroid: https://ameridroid.com/collections/new/ ... r-straight. If you do not want a full physical x16 (x4 wired) or are looking for a longer one or using a different orientation you can alternatively look for such an adapter on eBay or AliExpress, but make sure the x4 lanes are wired.

See below two H2's using such an adapter with 2.5 GbE PCIe card, the whole thing powered by an SFX PSU via an outbreak card and custom 12V power jack cables:

h2 and 2.5 GbE 3rd party cards.png
h2 and 2.5 GbE 3rd party cards.png (3.16 MiB) Viewed 394 times
h2 power by same SFX PSU.png
h2 power by same SFX PSU.png (3.2 MiB) Viewed 394 times
The two PCIe cards I evaluated so far are an unbranded one and a Syba model. I recommend the first one, I do not recommend the second one. See why in the discussion below. Here are the front and back view of the two cards. I found the unbranded model on eBay: https://www.ebay.com/itm/2-5G-1000-100- ... 3376113606

Unbranded model

unbranded-front.png
unbranded-front.png (2.25 MiB) Viewed 394 times
unbranded-back.png
unbranded-back.png (1.97 MiB) Viewed 394 times
[TO BE CONTINUED]
Last edited by domih on Mon Jun 22, 2020 1:50 pm, edited 4 times in total.
These users thanked the author domih for the post (total 2):
odroid (Mon Jun 22, 2020 12:23 pm) • Ameridroid (Tue Jun 23, 2020 11:28 am)

domih
Posts: 232
Joined: Mon Feb 11, 2019 4:48 pm
languages_spoken: English, French
ODROIDs: UX4, HC2, N2, H2, C4, H2+
Location: San Francisco Bay Area
Has thanked: 78 times
Been thanked: 86 times
Contact:

[HOWTO] How to make your H2 talk 2.5 GbE with an H2+

Post by domih »

[CONTINUED]

Syba Model

syba-front.png
syba-front.png (2.17 MiB) Viewed 385 times
syba-back.png
syba-back.png (1.98 MiB) Viewed 385 times
Note that the unbranded model has all the certification icons you want for the US and the EU markets. Not so for the Syba model. I bought the Syba model a few months ago from NewEgg. It is no longer available. These are two initial little red flags. The next red flag appeared during testing: I did not get the expected speed of 2.35 Gbits/sec depending on direction (tested in different situations not involving an H2). This is a big red flag. I am not planning to use that card in the future and will place it in the "forget about it" box for future recycling. Note that it is possible that a future edition of this card will work fine.

In the meantime and while waiting for an H2+ I'm using both cards to make two H2's talk at 2.5 GbE.

Once everything is connected. I proceeded with power up and Ubuntu Mate 20.04 LTS installation + upgrade on both(I'm pretty sure Ubuntu [Mate] 18.04 LTS is fine too). The kernel does not include the Realtek RTL8125 driver. I got it from there: https://www.realtek.com/en/component/zo ... s-software. The thingy to download is "2.5G Ethernet LINUX driver r8125 for kernel up to 5.6" from the UNIX/Linux section. Once downloaded you get the file "r8125-9.003.05.tar.bz2".

Note: r8125-9.003.05 is the latest version but the testing discussed below was performed with r8125-9.003.04.

After extraction, I proceeded with the DKMS driver installation. Pretty simple: they provide a script.

Code: Select all

cd ~/Downloads/r8125-9.003.04/
sudo ./autorun.sh 
After that, I checked that the module was loaded with:

Code: Select all

lsmod | grep r8
Then the 2.5 GbE port shows up and can be configured with for instance the nmtui command.

Note: the two H2's I used for this testing are named h2b and h2c.

On h2b, after configuration, ip a returns:

Code: Select all

domih@h2b:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:8e:25:71:01:76 brd ff:ff:ff:ff:ff:ff
    inet 172.16.25.71/16 brd 172.16.255.255 scope global noprefixroute enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::54f5:48b5:f27e:e19d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1e:06:45:14:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.71/24 brd 192.168.1.255 scope global noprefixroute enp2s0
       valid_lft forever preferred_lft forever
    inet6 fe80::cae6:c536:ef78:6065/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 00:1e:06:45:14:ce brd ff:ff:ff:ff:ff:ff
enp1s0 is the 2.5 GbE port on the card. enp2s0 and enp3s0 are the 1 GbE onboard ports.

Using ethtool, if it confirmed that the port is configured as 2500Mb/s:

Code: Select all

domih@h2b:~$ ethtool enp1s0
Settings for enp1s0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	                        2500baseT/Full 
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	                        2500baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	                                     1000baseT/Full 
	                                     2500baseT/Full 
	Link partner advertised pause frame use: Symmetric Receive-only
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 2500Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
	Current message level: 0x00000033 (51)
			       drv probe ifdown ifup
	Link detected: yes
Note: I proceeded with the similar installation, configuration and checking on the h2c.

"h2b" and "h2c" are the domain names for the 1 GbE connection. "h2b.25" and "h2c.25" are the domain names for the 2.5 GbE connection. Both H2's have this in their host files:

Code: Select all

domih@h2b:~$ sudo vi /etc/hosts

Code: Select all

.../...
# 2.5Gb Ethernet
# --------------
.../...
172.16.25.70 h2a.25
172.16.25.71 h2b.25
172.16.25.72 h2c.25
.../...
# 1Gb Ethernet
#=============
.../...
192.168.1.70 h2a
192.168.1.71 h2b
192.168.1.72 h2c
.../...
Note: I'm not a networking expert. To avoid creating sub-nets and routes, I just use a different intranet class for the 1 GbE and 2.5 GbE networks.

Before proceeding with iperf3 speed testing, let's check that the two computers see each other on both networks (they do):

Code: Select all

domih@h2b:~$ ping h2c -c 10
PING h2c (192.168.1.72) 56(84) bytes of data.
64 bytes from h2c (192.168.1.72): icmp_seq=1 ttl=64 time=0.406 ms
64 bytes from h2c (192.168.1.72): icmp_seq=2 ttl=64 time=0.416 ms
64 bytes from h2c (192.168.1.72): icmp_seq=3 ttl=64 time=0.435 ms
64 bytes from h2c (192.168.1.72): icmp_seq=4 ttl=64 time=0.420 ms
64 bytes from h2c (192.168.1.72): icmp_seq=5 ttl=64 time=0.431 ms
64 bytes from h2c (192.168.1.72): icmp_seq=6 ttl=64 time=0.274 ms
64 bytes from h2c (192.168.1.72): icmp_seq=7 ttl=64 time=0.420 ms
64 bytes from h2c (192.168.1.72): icmp_seq=8 ttl=64 time=0.559 ms
64 bytes from h2c (192.168.1.72): icmp_seq=9 ttl=64 time=0.430 ms
64 bytes from h2c (192.168.1.72): icmp_seq=10 ttl=64 time=0.196 ms

--- h2c ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9204ms
rtt min/avg/max/mdev = 0.196/0.398/0.559/0.093 ms
	
	
domih@h2b:~$ ping h2c.25 -c 10
PING h2c.25 (172.16.25.72) 56(84) bytes of data.
64 bytes from h2c.25 (172.16.25.72): icmp_seq=1 ttl=64 time=0.277 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=2 ttl=64 time=0.290 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=3 ttl=64 time=0.277 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=4 ttl=64 time=0.283 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=5 ttl=64 time=0.291 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=6 ttl=64 time=0.285 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=7 ttl=64 time=0.251 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=8 ttl=64 time=0.222 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=9 ttl=64 time=0.281 ms
64 bytes from h2c.25 (172.16.25.72): icmp_seq=10 ttl=64 time=0.274 ms

--- h2c.25 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9198ms
rtt min/avg/max/mdev = 0.222/0.273/0.291/0.020 ms
[TO BE CONTINUED]
Last edited by domih on Mon Jun 22, 2020 12:07 pm, edited 7 times in total.

domih
Posts: 232
Joined: Mon Feb 11, 2019 4:48 pm
languages_spoken: English, French
ODROIDs: UX4, HC2, N2, H2, C4, H2+
Location: San Francisco Bay Area
Has thanked: 78 times
Been thanked: 86 times
Contact:

[HOWTO] How to make your H2 talk 2.5 GbE with an H2+

Post by domih »

[CONTINUED]

On the h2c, let's start a console and run:

Code: Select all

domih@h2c:~$ iperf3 -s --bind 192.168.1.72
Then let's open another console and run:

Code: Select all

domih@h2c:~$ iperf3 -s --bind 172.16.25.72
On the h2b, let's measure the 1 Gbe speed in the default direction:

Code: Select all

domih@h2b:~$ iperf3 -c h2c --bind 192.168.1.71
Connecting to host h2c, port 5201
[  5] local 192.168.1.71 port 51983 connected to 192.168.1.72 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   953 Mbits/sec    0    339 KBytes       
[  5]   1.00-2.00   sec   113 MBytes   952 Mbits/sec    0   1.09 MBytes       
[  5]   2.00-3.00   sec   112 MBytes   944 Mbits/sec    0   1.09 MBytes       
[  5]   3.00-4.00   sec   112 MBytes   944 Mbits/sec    0   1.09 MBytes       
[  5]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0   1.09 MBytes       
[  5]   5.00-6.00   sec   111 MBytes   933 Mbits/sec    0   1.09 MBytes       
[  5]   6.00-7.00   sec   112 MBytes   944 Mbits/sec    0   1.09 MBytes       
[  5]   7.00-8.00   sec   112 MBytes   944 Mbits/sec    0   1.09 MBytes       
[  5]   8.00-9.00   sec   112 MBytes   944 Mbits/sec    0   1.09 MBytes       
[  5]   9.00-10.00  sec   111 MBytes   933 Mbits/sec    0   1.09 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver
And then in the reverse direction:

Code: Select all

domih@h2b:~$ iperf3 -c h2c --bind 192.168.1.71 -R
Connecting to host h2c, port 5201
Reverse mode, remote host h2c is sending
[  5] local 192.168.1.71 port 59749 connected to 192.168.1.72 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   2.00-3.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   3.00-4.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   4.00-5.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   7.00-8.00   sec   112 MBytes   937 Mbits/sec                  
[  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver
No surprises there, we get the expected 1 GbE max practical speed.

Let's now measure the 2.5 GbE speed in the default direction:

Code: Select all

domih@h2b:~$ iperf3 -c h2c.25 --bind 172.16.25.71
Connecting to host h2c.25, port 5201
[  5] local 172.16.25.71 port 33259 connected to 172.16.25.72 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   283 MBytes  2.37 Gbits/sec    0    714 KBytes       
[  5]   1.00-2.00   sec   281 MBytes  2.36 Gbits/sec    0    751 KBytes       
[  5]   2.00-3.00   sec   280 MBytes  2.35 Gbits/sec    0    751 KBytes       
[  5]   3.00-4.00   sec   281 MBytes  2.36 Gbits/sec    0    751 KBytes       
[  5]   4.00-5.00   sec   280 MBytes  2.35 Gbits/sec    0    751 KBytes       
[  5]   5.00-6.00   sec   279 MBytes  2.34 Gbits/sec    0    871 KBytes       
[  5]   6.00-7.00   sec   280 MBytes  2.35 Gbits/sec    0    871 KBytes       
[  5]   7.00-8.00   sec   281 MBytes  2.36 Gbits/sec    0    871 KBytes       
[  5]   8.00-9.00   sec   280 MBytes  2.35 Gbits/sec    0    871 KBytes       
[  5]   9.00-10.00  sec   281 MBytes  2.36 Gbits/sec    0    871 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  2.74 GBytes  2.35 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  2.74 GBytes  2.35 Gbits/sec                  receiver
Yeah! We now have two H2's talking 2.5 GbE to each other at a very honest 2.35 Gbits/sec and ready for when the new H2+ will join them!

And then in the reverse direction:

Code: Select all

domih@h2b:~$ iperf3 -c h2c.25 --bind 172.16.25.71 -R
Connecting to host h2c.25, port 5201
Reverse mode, remote host h2c.25 is sending
[  5] local 172.16.25.71 port 50221 connected to 172.16.25.72 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   207 MBytes  1.74 Gbits/sec                  
[  5]   1.00-2.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   2.00-3.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   3.00-4.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   4.00-5.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   5.00-6.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   6.00-7.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   7.00-8.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   8.00-9.00   sec   208 MBytes  1.74 Gbits/sec                  
[  5]   9.00-10.00  sec   208 MBytes  1.74 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  2.03 GBytes  1.75 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  2.03 GBytes  1.74 Gbits/sec                  receiver
Oops! As mentioned earlier, the Syba card is temperamental.

How about CPU resources consumption during 2.5 GbE exchanges? See below htop screenshot on the h2b while running iperf3 in the default direction. It "only" consumes two thirds of one core.

htop.png
htop.png (265.31 KiB) Viewed 384 times

CONCLUSION

1. You will be able to mix H2 and H2+ on a 2.5 GbE network. While waiting for stable 2.5 GbE USB 3 adapters, this can be done using PCIe 2.5 GbE cards if you cannot wait. Doing the latter requires the "sacrifice" of the M.2 NVMe port(*) and the additional cost of the PCIe adapter and a 12V separate source. You can use an SFX PSU powering the whole thing as I did here. As an alternative to you can use the 15V/4A power brick from HK, or reused a laptop 19V power brick (check polarity!) to power the board and reuse a 12V power brick from your stash with custom cable to power the PCIe card. In this matter, see discussions there viewtopic.php?f=171&p=296901 and there viewtopic.php?f=171&p=296922.

(*) You still have the eMMC as well as 2 x SATA III HDD or SSD for OS and storage.

2. What works for an H2 also works for a regular PC. Using PCIe 2.5 GbE cards (or onboard 2.5 GbE) you can have your PC(s) talking 2.5 GbE to the H2+ and an "overhauled" H2. Given the small price difference between the H2 and the H2+, acquiring H2+(s) make more sense than acquiring H2(s) and overhauling then with 2.5 GbE hardware.

3. What works for 2.5 Gbe works for 5 GbE and 10 GbE. You just need to find the parts. For 10 GbE see discussion there: viewtopic.php?f=171&t=39174. Note that other users successfully used RJ45-based 10 GbE, lookup the forums.

4. Switch? Yeah, that's where it aches for now. Multi-gigabit switches are just appearing and the major brands price them quite expensively *&^%$#@! My two cents: dig into eBay, AliExpress, etc for the cheap models coming from the East; they will undoubtedly start to appear in the short or middle term.

[END]

User avatar
Mullcom
Posts: 192
Joined: Sun Jun 30, 2019 1:41 am
languages_spoken: english
Has thanked: 99 times
Been thanked: 19 times
Contact:

Re: [HOWTO] How to make your H2 talk 2.5 GbE with an H2+

Post by Mullcom »

WOW!!! God work !

domih
Posts: 232
Joined: Mon Feb 11, 2019 4:48 pm
languages_spoken: English, French
ODROIDs: UX4, HC2, N2, H2, C4, H2+
Location: San Francisco Bay Area
Has thanked: 78 times
Been thanked: 86 times
Contact:

[HOWTO] How to make your H2 talk 2.5 GbE with an H2+ and then to the reverse

Post by domih »

[HOWTO] How to make your H2+ talk 1 GbE with an H2

If you connect an H2+ to a 1 GbE switch or directly to an H2, auto-negotiation between the devices will settle on 1 GbE. You have therefore nothing to do if you want your H2+ to talk 1 GbE.

However if you want to reserve the two H2+ network ports for 2.5 GbE usage, you need to add a 1 GbE NIC to your H2+. It can be done using a PCIe card (with the M.2 NVMe slot converted to PCIe2 x4) or with a USB3 1 GbE Ethernet adapter. The latter will probably be your preferred solution so you can keep your M.2 slot for an NVMe SSD or PCIe2 x4.

What result can you expect? USB3 has a max theoretical 5 Gbps bandwidth so it will carry 1 GbE with no problem.

See below a USB3 1 GbE Ethernet adapter plugged into an H2 (while waiting for the ordered H2+, will work exactly the same way):

Note: the output obviously depends on the USB3 1 GbE Ethernet adapter model you use.

Code: Select all

domih@h2a:~$ lsusb
.../...
Bus 002 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
.../...

domih@h2a:~$ sudo lsusb -v -s 002:002
[sudo] password for domih:

Bus 002 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x0b95 ASIX Electronics Corp.
  idProduct          0x1790 AX88179 Gigabit Ethernet
  bcdDevice            1.00
  iManufacturer           1 ASIX Elec. Corp.
  iProduct                2 AX88179
  iSerial                 3 0000249B4995AC
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0039
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              496mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      0
      iInterface              4 Network_Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              11
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0016
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat           1 micro seconds
    bU2DevExitLat         101 micro seconds
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x000c
  (Bus Powered)
  U1 Enabled
  U2 Enabled
Once configured with for instance the nmtui command, iperf3 shows results similar to the ones shown below:

Code: Select all

domih@h2a:~$ iperf3 -c h2c --bind=192.168.1.70
Connecting to host h2c, port 5201
[  5] local 192.168.1.70 port 44177 connected to 192.168.1.72 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   111 MBytes   927 Mbits/sec    0    260 KBytes      
[  5]   1.00-2.00   sec   109 MBytes   918 Mbits/sec    0    273 KBytes      
[  5]   2.00-3.00   sec   110 MBytes   922 Mbits/sec    0    300 KBytes      
[  5]   3.00-4.00   sec   109 MBytes   917 Mbits/sec    0    313 KBytes      
[  5]   4.00-5.00   sec   110 MBytes   922 Mbits/sec    0    313 KBytes      
[  5]   5.00-6.00   sec   109 MBytes   915 Mbits/sec    0    327 KBytes      
[  5]   6.00-7.00   sec   110 MBytes   925 Mbits/sec    0    344 KBytes      
[  5]   7.00-8.00   sec   110 MBytes   919 Mbits/sec    0    344 KBytes      
[  5]   8.00-9.00   sec   110 MBytes   919 Mbits/sec    0    344 KBytes      
[  5]   9.00-10.00  sec   110 MBytes   923 Mbits/sec    0    451 KBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.07 GBytes   921 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.07 GBytes   919 Mbits/sec                  receiver

iperf Done.
domih@h2a:~$ iperf3 -c h2c --bind=192.168.1.70 -R
Connecting to host h2c, port 5201
Reverse mode, remote host h2c is sending
[  5] local 192.168.1.70 port 34551 connected to 192.168.1.72 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   110 MBytes   926 Mbits/sec                 
[  5]   1.00-2.00   sec   110 MBytes   926 Mbits/sec                 
[  5]   2.00-3.00   sec   110 MBytes   924 Mbits/sec                 
[  5]   3.00-4.00   sec   111 MBytes   927 Mbits/sec                 
[  5]   4.00-5.00   sec   110 MBytes   923 Mbits/sec                 
[  5]   5.00-6.00   sec   110 MBytes   925 Mbits/sec                 
[  5]   6.00-7.00   sec   110 MBytes   926 Mbits/sec                 
[  5]   7.00-8.00   sec   110 MBytes   926 Mbits/sec                 
[  5]   8.00-9.00   sec   110 MBytes   925 Mbits/sec                 
[  5]   9.00-10.00  sec   110 MBytes   926 Mbits/sec                 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.08 GBytes   927 Mbits/sec   91             sender
[  5]   0.00-10.00  sec  1.08 GBytes   925 Mbits/sec                  receiver

iperf Done.
CONCLUSION
- From 919 to 927 Mbits/sec via the USB3 1 GbE Ethernet adapter is quasi the same as the usual 940 Mbits/sec you get with a HSIO/PCIe line. You lose about 20 Mbits/sec in the USB overhead.
- You can dedicate the two H2+ ports to 2.5 GbE networking while keeping the H2+ connected to your 1 GbE local net.
- It is probable you could plug in a 2nd USB3 1 GbE Ethernet adapter and therefore have an H2+ with 2 x 2.5 GbE + 2 x 1 GbE. If you need even more ports, your can use the M.2 for PCIe 2.0 x4 and a PCIe card with 2 x 1 GbE (or more) or 2 x 2.5 GbE thus bringing your H2+ to 6 or more Ethernet ports and use your H2 or H2+ as a network appliance.
These users thanked the author domih for the post:
odroid (Mon Jun 29, 2020 10:37 am)

Post Reply

Return to “General Topics”

Who is online

Users browsing this forum: No registered users and 1 guest