Unable to achieve the 940+ Mbits/sec speed in custom imx8mp(Android 11 OS)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Unable to achieve the 940+ Mbits/sec speed in custom imx8mp(Android 11 OS)

Jump to solution
908 Views
subash_p
Contributor III

Hi,

I flashed the Android 11 custom image onto my i.MX8MP custom board. However, I’m unable to achieve an Ethernet speed of 940+ Mbits/sec. In contrast, when running Android 15 on the same board, I can reach speeds above 940 Mbits/sec. The Ethernet interface uses the RTL8211FS PHY chipset. I’ve attached the iperf3 log below, which was captured during testing on Android 11.

Accepted connection from 172.21.101.114, port 39488
[ 5] local 172.21.101.110 port 5201 connected to 172.21.101.114 port 39502
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 8.04 MBytes 67.4 Mbits/sec
[ 5] 1.00-2.00 sec 44.9 MBytes 377 Mbits/sec
[ 5] 2.00-3.00 sec 105 MBytes 878 Mbits/sec
[ 5] 3.00-4.00 sec 90.0 MBytes 755 Mbits/sec
[ 5] 4.00-5.00 sec 45.8 MBytes 384 Mbits/sec
[ 5] 5.00-6.00 sec 107 MBytes 898 Mbits/sec
[ 5] 6.00-7.00 sec 43.2 MBytes 362 Mbits/sec
[ 5] 7.00-8.00 sec 67.4 MBytes 565 Mbits/sec
[ 5] 8.00-9.00 sec 22.2 MBytes 187 Mbits/sec
[ 5] 9.00-10.00 sec 74.7 MBytes 626 Mbits/sec
[ 5] 10.00-10.04 sec 4.61 MBytes 917 Mbits/sec


Thanks & Regards,
Subash P.

0 Kudos
Reply
1 Solution
821 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @subash_p,

Thank you for the update. Since our tests confirm the hardware itself is fully capable of Gigabit speeds with a standard Android 15 image, the low performance (below 940 Mbits/sec) on your custom Android 11 image is highly indicative of a software misconfiguration within your specific build environment.

The good news is that this is not a hardware defect, but a setting we can pinpoint and correct in your source code.

The difference in performance between your working Android 15 build and the slow Android 11 build almost certainly lies within one of two key areas of your custom i.MX8MP kernel source:

Device Tree Configuration: The Device Tree file for your board in the Android 11 build is the most critical place to check. You must ensure the configuration for the Ethernet interface is identical to a known working setup. Specifically, verify that the clocks and pin-control groups for the i.MX8MP's Gigabit Ethernet MAC are correctly defined. An incorrect clock or timing setting can compromise the high-speed RGMII interface, forcing a fallback to 100 Mbits/sec.

Kernel Driver Parameters: You need to inspect the settings within the i.MX8MP Ethernet MAC driver and the RTL8211FS PHY driver in your Android 11 kernel. We often see subtle driver patches or compile options that can disable full Gigabit functionality. Please confirm that the driver is correctly configured for 1000 Mbits/sec Full Duplex operation and that features like Energy Efficient Ethernet (EEE) haven't been enabled by default, as they can sometimes interfere with performance testing.

View solution in original post

3 Replies
873 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @subash_p,

Thank you for contacting NXP Support!

 

1 Gbps equals 1000 Mbps.

So if you're getting 940 Mbps, you're very close to the maximum about 94% of it. That’s normal due to small losses from network overhead and equipment limitations, it’s within the standard.

 

Best Regards,

Chavira

0 Kudos
Reply
860 Views
subash_p
Contributor III

Hi @Chavira 

Thank you for your reply, but I’m getting 187 Mbits/sec (22.2 MBytes/sec) in that log, but I can able to get 900+ Mbits/sec constantly on Android 15.

I will attach more debug log on this below.

cutsom_8mp:/ # ip -s link show eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:04:9f:01:30:e0 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
9450563298 6223620 94 0 0 0
TX: bytes packets errors dropped carrier collsns
12038020 182160 0 0 0 0


eth0 Link encap:Ethernet HWaddr 00:04:9f:01:30:e0 Driver fec
inet addr:172.21.101.110 Bcast:172.21.101.255 Mask:255.255.255.0
inet6 addr: fe80::3be4:a4d5:19a6:f8af/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:82 errors:0 dropped:0 overruns:0 frame:0
TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13934 TX bytes:5487



Thanks & Regards,
Subash P.

0 Kudos
Reply
822 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @subash_p,

Thank you for the update. Since our tests confirm the hardware itself is fully capable of Gigabit speeds with a standard Android 15 image, the low performance (below 940 Mbits/sec) on your custom Android 11 image is highly indicative of a software misconfiguration within your specific build environment.

The good news is that this is not a hardware defect, but a setting we can pinpoint and correct in your source code.

The difference in performance between your working Android 15 build and the slow Android 11 build almost certainly lies within one of two key areas of your custom i.MX8MP kernel source:

Device Tree Configuration: The Device Tree file for your board in the Android 11 build is the most critical place to check. You must ensure the configuration for the Ethernet interface is identical to a known working setup. Specifically, verify that the clocks and pin-control groups for the i.MX8MP's Gigabit Ethernet MAC are correctly defined. An incorrect clock or timing setting can compromise the high-speed RGMII interface, forcing a fallback to 100 Mbits/sec.

Kernel Driver Parameters: You need to inspect the settings within the i.MX8MP Ethernet MAC driver and the RTL8211FS PHY driver in your Android 11 kernel. We often see subtle driver patches or compile options that can disable full Gigabit functionality. Please confirm that the driver is correctly configured for 1000 Mbits/sec Full Duplex operation and that features like Energy Efficient Ethernet (EEE) haven't been enabled by default, as they can sometimes interfere with performance testing.