Are you sure that the bootloader configuration for the ethernet isn't overwritten by the kernel driver? However tomorrow I'll try to look for any hint, actualy I searched only in the kernel side of the GPL tarball without any success...
In the meantime let me recap the current situation and my tests for everyone.
The "Orbi Pro Router" is the SRR60 while the "Orbi Pro Satellite" is the SRS60.
Those are respectively the RBR50 and RBS50
I own just the SRS60, so from now on I will refer to my unit only. I'll call the ports from 1 (the one near the Sync button) to 4 (the one near the power button)
TEST 1 - OK
LAN: 1,2,3
WAN: 4
\etc\board.d\02_network:
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0u@eth0" "1:lan" "2:lan" "3:lan"
DTS:
/ {
soc {
ess-switch@c000000 {
status = "okay";
switch_lan_bmp = <0x0e>;
switch_wan_bmp = <0x10>;
};
};
};
&gmac0 {
qcom,phy_mdio_addr = <4>;
vlan_tag = <1 0x0e>;
};
&gmac1 {
qcom,phy_mdio_addr = <3>;
vlan_tag = <2 0x10>;
};
This configuration is working but it's not like the OEM configuration (port 1 and 4 are swapped).
If I connect the port 4 I have also this message (look at 90 seconds)
[ 36.434811] ess_edma c080000.edma: eth1: GMAC Link is down
[ 37.441007] br-lan: port 1(eth0) entered blocking state
[ 37.441174] br-lan: port 1(eth0) entered forwarding state
[ 37.446656] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 90.552461] ess_edma c080000.edma: eth1: GMAC Link is up with phy_speed=1000
[ 90.553446] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
TEST 2 - KO
LAN: 2,3,3
WAN: 1
\etc\board.d\02_network:
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0u@eth0" "2:lan" "3:lan" "4:lan"
DTS:
/ {
soc {
ess-switch@c000000 {
status = "okay";
switch_lan_bmp = <0x1c>;
switch_wan_bmp = <0x02>;
};
};
};
&gmac0 {
vlan_tag = <1 0x1c>;
};
&gmac1 {
qcom,phy_mdio_addr = <0>;
vlan_tag = <2 0x02>;
};
This configuration should mimic the OEM configuration. The Lan ports are working but the WAN port is not working correctly. I receive frames on the WAN port of the router (the RX counter increases when the wan is connected, but the TX counter is always 0).
Moreover, when I connect the WAN port I don't receive the message ess_edma c080000.edma: eth1: GMAC Link is up with phy_speed=1000
The cause of this seems to be qcom,phy_mdio_addr = <0>;
. However the phy_mdio_addr 0 should be right because it shoud be tied to LAN 1. In fact if I change it to qcom,phy_mdio_addr = <1>;
the WAN port detects the link if I connect the LAN port 2 and so on.
I managed to "solve" this using qcom,poll_required = <0>;
in the &gmac1
section, but I don't like it very much because Openwrt thinks that the WAN port is always connected