Managed switches on ASUS RT-AC88U

Hello everyone, I'm splitting this topic out from my previous post, because the WiFi issues have mostly been solved.

On my ASUS RT-AC88U with OpenWRT 23.05.5, I can't manage either of the two internal switches (neither the BCM53012 that's directly connected to the CPU, nor the RTL8365MB that's cascaded from port 5). The Network -> Switch tab in LuCI doesn't exist, and the overview page only shows the "extsw" interface for ports 5-8 on the Realtek switch, not their individual status. Any ideas how to fix this?

Thanks and best, Florian

Can you show ip link without last half of MAC-s from your device?

Sure, here you go:

root@darthwifi:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 96:d1:b3:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether a6:7a:a2:xx:xx:xx brd ff:ff:ff:ff:ff:ff
5: lan4@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
6: lan3@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
7: lan2@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
8: lan1@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
9: wan@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
10: extsw@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
11: phy0-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether 3e:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
12: phy1-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether 3e:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff
13: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 3c:7c:3f:xx:xx:xx brd ff:ff:ff:ff:ff:ff

Thanks and best, Florian

3 ports on CPU eth0-eth2

eth1 holds 5 dsa ports - these are handled as independent network devices
eth2 has wan port and extsw port (smells swconfig missing thing)

eth0 ? no idea not connected anywhere.

I think the internal layout is also summarized here: https://openwrt.org/toh/asus/rt-ac88u#switch_diagram

What I'm mostly interested in would be to get the proper status for the ports that are hidden behind extsw (i.e. connected to the Realtek switch). You mentioned swconfig, where could I find some more details on that?

Install it? It is a package. The status would be then in network/switch unlike for dsa ports on the front page.

It may be necessary to create an OpenWrt package of rtl8365mb DSA driver that exists in Linux Kernel and apply it to the device. (or enabling the kernel symbols for rtl8365mb driver (CONFIG_NET_DSA_REALTEK, CONFIG_NET_DSA_REALTEK_SMI, CONFIG_NET_DSA_REALTEK_RTL8365MB) on bcm53xx)

Better report a bug with lost functionality eg ¡%art hrre:

OK, I completely missed that. I've installed the swconfig package now, but there's still no "Switch" entry in LuCI, and if I run swconfig list on the console, I get an empty result.

At least the BCM53012 should be supported out of the box, by the b53_common and b53_mdio kernel modules, no?

(And indeed, in dmesg, I get b53-srab-switch 18007000.ethernet-switch: found switch: BCM53012, rev 0. So it's detected, but not configurable...)

These are perfectly functional netdevs Luci/Network/Interfaces/Devices , you can add them to bridges and check boxes to tag or untag br-lan.123 on individual ports.

The problem is RTL switch driver absent.

https://openwrt.org/docs/guide-user/network/dsa/dsa-mini-tutorial

https://openwrt.org/docs/guide-user/network/dsa/converting-to-dsa

1 Like

Thank you, I'll try and see if I can build a kmod-package for that.

P.S. Could you suggest an existing kmod package I can use as a starting point? Haven't yet been able to pinpoint where those live in the source tree...

here:

1 Like