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.
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.
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'
(...)
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.
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.
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:
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.