[R5S/R6S] Wrong Ethernet ports assignment

Hello OpenWrt team,

I normally use FriendlyWrt or ImmortalWrt since I'm Vietnamese and these forks are customized well for Asians like me.

Recently, I wanted to try to return to original OpenWrt so I installed 25.12 on both of my FriendlyElec NanoPi R5S and R6S, however, the R6S Ethernet port assignments were somehow incorrect... eth0 was swapped to eth2 or eth1 or something like that. Could you please take a look at this and fix the problem? It's kinda annoying to me, of course I can just configure the interfaces and then plug the cables in and guess, but this is only workaround.

Thank you!
Corgei

eth0 <> eth1 or something like that in /etc/config/network ?

I don't recall exactly but there was some sort of things like that.
Perhaps it was eth0 <-> eth2, I can't remember.

But if there is something I can remember, R6S has 3 Ethernet interfaces: eth0 (1 Gbps) - eth1 (2.5 Gbps) - eth2 (2.5 Gbps). And the moment I plugged into eth1 (the middle port), link speed was only 1 Gbps, that means eth0 was swapped to eth1.

This only happens in R6S, not R5S for everyone's information.

Port assignment doesn't change max port speed.

Worst case scenario, wan becomes lan, and the other way around. It won't make a 2.5gbit port cap at 1gbit.

The R5S is reversed interface with the R6S, where it has: eth2 (2.5 Gbps) - eth1 (2.5 Gbps) - eth0 (1 Gbps) order. Just FYI.

My R6S ports are mapped as follows. I am running OpenWrt 25.12.4, but these are configs I am preserving since 24.10.x, so I cannot confirm if a fresh install is reversing this mapping. What I can say is that this is my current mapping and it works as expected.

(...)
config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	list ports 'eth2'
(...)

config interface 'lan'
	option device 'br-lan'
(...)

config interface 'wan'
	option device 'eth1'
(...)

config interface 'wan6'
	option device 'eth1'
(...)

NanoPi R6S Ports Mapping to eth devices:

If you preserve the configs from 24.10, then I think you're good to go :wink:

To confirm or refute the assertion that 25.12 changes the assignments, can you please post the default network config file from 25.12 (a reset to defaults will do the trick).

You can obviously backup your settings so you can get back to your current state.

Oi, I cannot do it now since I'm running FriendlyWrt 25.10 from the manufacturer of R6S, everything is working perfectly.

In that case, there's nothing actionable here unless you or someone else can provide the default config on 25.12.

I just did a fresh install of OpenWrt 25.12.4 (squashfs image) on my R6S to verify this.

Everything seems OK and as expected:

  • eth0 and eth2 assigned to br-lan
  • eth1 assigned to wan

So, at least in this test scenario, everything is OK. So @Corgei, I am not reproducing the issue you reported.

Below is the /etc/config/network contents right after the first boot (clean install):

BusyBox v1.37.0 (2026-05-13 22:42:09 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 25.12.4, r32933-4ccb782af7 Dave's Guitar
 -----------------------------------------------------

 === WARNING! =====================================
 There is no root password defined on this device!
 Use the "passwd" command to set up a new password
 in order to prevent unauthorized SSH logins.
 --------------------------------------------------


 OpenWrt recently switched to the "apk" package manager!

 OPKG Command           APK Equivalent      Description
 ------------------------------------------------------------------
 opkg install <pkg>     apk add <pkg>       Install a package
 opkg remove <pkg>      apk del <pkg>       Remove a package
 opkg upgrade           apk upgrade         Upgrade all packages
 opkg files <pkg>       apk info -L <pkg>   List package contents
 opkg list-installed    apk info            List installed packages
 opkg update            apk update          Update package lists
 opkg search <pkg>      apk search <pkg>    Search for packages
 ------------------------------------------------------------------

For more information visit:
https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet

root@OpenWrt:~# cat /tmp/sysinfo/model
FriendlyElec NanoPi R6S
root@OpenWrt:~#
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        list ipaddr '127.0.0.1/8'

config globals 'globals'
        option dhcp_default_duid '0004a737e6fb44094bb1b8b56158216136b3'
        option ula_prefix 'fd01:37e4:71d4::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        list ports 'eth2'

config device
        option name 'eth0'
        option macaddr '62:f7:b4:fb:e0:81'

config device
        option name 'eth2'
        option macaddr '62:f7:b4:fb:e0:81'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        list ipaddr '192.168.1.1/24'
        option ip6assign '60'

config device
        option name 'eth1'
        option macaddr '62:f7:b4:fb:e0:80'

config interface 'wan'
        option device 'eth1'
        option proto 'dhcp'

config interface 'wan6'
        option device 'eth1'
        option proto 'dhcpv6'

root@OpenWrt:~#

The R6S always has eth0 - eth1 - eth2 order comparing with the image you attached (From FriendlyWrt and ImmortalWrt), I even had my label over there for indicators of each of the interfaces. Have you ever checked the link speed of them? Will the eth2 and eth1 according to your image have 2.5 Gbps?

P/S: Maybe I'll try to fresh install my R6S again and assign the cabling to fit with current OpenWrt order rather than sticking with the old one. But not now since I'm super busy with my life, perhaps this weekend I'll have sometimes to give it a try.

Yes. See below from my running R6S. I also confirmed this with a fresh install.

BTW, your labeling is incorrect for OpenWrt official for the R6S. Maybe you mixed it with R5S, which has a different port mapping? The above image is the correct one for official OpenWrt for the R6S as follows:

eth0 - LAN2 (1Gbps)
eth2 - LAN1 (2.5Gbps)
eth1 - WAN (2.5 Gbps)

In ImmortalWrt the ports are manually reorderd:

OpenWrt doesn't have such hacks currently.

Are those Realtek? If so, multiple effects might come in effect.

  • OpenWRT has 2 different PCIE kmods for 2.5 GBit Realtek. rtl8125 (proprietary, often used in derivates) and rtl8169 (OpenSource).
  • 8169 also seems to have some effect that handles port ordering differently when updating V23 to V24 and V25.
  • Mixed with non2.5 ports, kmod timing during boot might have another effect

At least I did notice changed port order on x86 with 4x 2.5realtek and 1x 1.0realtek both when updating vanilla OpenWRT version 23->24->25 and when switching between the 2 kmods.

I am not a developer, I just did notice the effects on a live system.