New Rev. (B1) of Zyxel XGS1250 udn XGS1210 - ports missing

Hello everyone,

I've been struggling with two Zyxel switches (RTL9302-based: XGS1250-12 and XGS1210-12) for a few days and haven't been able to get them working properly. Specifically, the multi-gigabit ports on both switches aren't functioning as expected: on the XGS1250, it’s ports 9-11 (100M-10G copper), and on the XGS1210, it’s ports 9 and 10 (100M-2.5G).

What I noticed after finding a relevant note about a new version here: [https://forum.openwrt.org/t/rtl930x-rtl8221b-phy-registered-but-no-traffic-or-link/187079] , is that both switches are Rev. B1 and likely use different chips for these ports than the Rev. A1 (or what ever the older Rev. was) models. Unfortunately, the changes from the link above didn't resolve the issue (I set up a development environment for testing), but I didn't want to revive that thread, so I'm starting a new one here, because I believe bothe switches have the same Issue and also documenting the different revisions should be included in the Wiki.

So, my questions are:

  • How can I determine which chips are being used on these ports?
  • How can I properly implement the solution from the link above with the current versions of OpenWrt?
  • How can I (or someone else) turn all of this into a pull request and ensure that everything is properly documented?

Here's the technical documentation for the models, but it refers to the Rev. A1 models I guess:

...and this is the dmesg:

[    0.000000] Linux version 6.6.93 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28739-d9340319c6) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 Mon Jun 23 20:40:36 2025
[    0.000000] RTL838X model is 0
[    0.000000] RTL839X model is 0
[    0.000000] RTL93XX model is 93021001
[    0.000000] SoC Type: RTL9302B
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019555 (MIPS 34Kc)
[    0.000000] MIPS: machine is Zyxel XGS1250-12 Switch
[    0.000000] earlycon: ns16550a0 at MMIO 0x18002000 (options '115200n8')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Using appended Device Tree.
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Kernel command line: earlycon
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=0002d48a
[    0.000000] Readback ErrCtl register=0002d48a
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 119836K/131072K available (6945K kernel code, 630K rwdata, 884K rodata, 1196K init, 235K bss, 11236K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] Failed to get CPU clock: -2
[    0.000000] CPU frequency from device tree: 800MHz
[    0.000000] clocksource: realtek_otto_timer: mask: 0xfffffff max_cycles: 0xfffffff, max_idle_ns: 38225208801 ns
[    0.000002] sched_clock: 28 bits at 3125kHz, resolution 320ns, wraps every 42949672800ns
[    0.009030] Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)
[    0.065701] pid_max: default: 32768 minimum: 301
[    0.080823] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.088816] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.106838] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.
[    0.122979] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.133775] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.143844] pinctrl core: initialized pinctrl subsystem
[    0.152167] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.159376] thermal_sys: Registered thermal governor 'step_wise'
[    0.173719] clocksource: Switched to clocksource realtek_otto_timer
[    0.198357] NET: Registered PF_INET protocol family
[    0.204033] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.213525] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.222841] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.231338] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.239745] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.247491] TCP: Hash tables configured (established 1024 bind 1024)
[    0.255228] MPTCP token hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.263397] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.270622] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.279255] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.291677] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.300548] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.306998] jffs2: version 2.2 (NAND) (SUMMARY) (ZLIB) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.326210] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.335844] pinctrl-single 1b00cc00.pinmux: 32 pins, size 4
[    0.343693] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.357719] printk: console [ttyS0] disabled
[    0.362975] 18002000.uart: ttyS0 at MMIO 0x18002000 (irq = 30, base_baud = 10937500) is a 16550A
[    0.372685] printk: console [ttyS0] enabled
[    0.382038] printk: bootconsole [early0] disabled
[    0.427189] printk: bootconsole [ns16550a0] disabled
[    0.476997] brd: module loaded
[    0.485383] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
[    0.491292] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.498475] OF: Bad cell count for /soc/spi@1200/flash@0/partitions
[    0.505520] OF: Bad cell count for /soc/spi@1200/flash@0/partitions
[    0.512745] Creating 7 MTD partitions on "spi0.0":
[    0.518144] 0x000000000000-0x0000000e0000 : "u-boot"
[    0.526954] 0x0000000e0000-0x0000000f0000 : "u-boot-env"
[    0.535439] 0x0000000f0000-0x000000100000 : "u-boot-env2"
[    0.543909] 0x000000100000-0x000000200000 : "jffs"
[    0.551610] 0x000000200000-0x000000300000 : "jffs2"
[    0.559602] 0x000000300000-0x000000fe0000 : "firmware"
[    0.568042] 2 uimage-fw partitions found on MTD device firmware
[    0.574718] Creating 2 MTD partitions on "firmware":
[    0.580249] 0x000000000000-0x000000380000 : "kernel"
[    0.588168] 0x000000380000-0x000000ce0000 : "rootfs"
[    0.596119] mtd: setting mtd7 (rootfs) as root device
[    0.601819] 1 squashfs-split partitions found on MTD device rootfs
[    0.608769] 0x0000005e0000-0x000000ce0000 : "rootfs_data"
[    0.617230] 0x000000fe0000-0x000001000000 : "log"
[    0.637324] Probing RTL838X eth device pdev: 818a9e00, dev: 818a9e10
[    0.663679] Found SoC ID: 9302: RTL9302B, family 9300
[    0.669474] Using MAC 000000e04c000000
[    0.673688] set sds port 0 to 2
[    0.677264] set sds port 24 to 6
[    0.680859] set sds port 25 to 7
[    0.684498] set sds port 26 to 8
[    0.688099] set sds port 27 to 9
[    0.692474] c45_mask: 000e0000
[    0.761118] mdio_bus mdio-bus: MDIO device at address 24 is missing.
[    0.774688] mdio_bus mdio-bus: MDIO device at address 25 is missing.
[    0.788205] mdio_bus mdio-bus: MDIO device at address 26 is missing.
[    0.798861] REALTEK RTL9300 SERDES mdio-bus:1b: Detected internal RTL9300 Serdes
[    0.816538] i2c_dev: i2c /dev entries driver
[    0.821544] rtl9300_i2c_probe probing I2C adapter
[    0.826889] i2c-rtl9300 1b00036c.i2c-rtl9300: SCL speed 100000, mode is 0
[    0.834484] rtl9300_i2c_probe scl_num 0
[    0.838755] rtl9300_i2c_probe sda_num 1
[    0.846927] NET: Registered PF_INET6 protocol family
[    0.866478] Segment Routing with IPv6
[    0.870681] In-situ OAM (IOAM) with IPv6
[    0.875318] NET: Registered PF_PACKET protocol family
[    0.881013] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.896160] 8021q: 802.1Q VLAN Support v1.8
[    0.923483] sfp sfp-p12: Host maximum power 1.0W
[    0.993982] REALTEK RTL9300 SERDES rtldsa_mdio-0:1b: Detected internal RTL9300 Serdes
[    1.014809] REALTEK RTL9300 SERDES rtldsa_mdio-0:3f: Detected internal RTL9300 Serdes
[    1.033701] rtl93xx_setup called
[    1.037412] In rtl83xx_vlan_setup
[    1.041094] In rtl930x_vlan_profile_setup
[    1.045575] In rtl930x_vlan_profile_setup
[    1.050040] UNKNOWN_MC_PMASK: 000000001fffffff
[    1.055001] VLAN 0: L2 learn: 0; Unknown MC PMasks: L2 1fffffff, IPv4 1fffffff, IPv6: 1fffffff
[    1.055022]   Routing enabled: IPv4 UC y, IPv6 UC y, IPv4 MC y, IPv6 MC y
[    1.072165]   Bridge enabled: IPv4 MC n, IPv6 MC n,
[    1.077616] VLAN profile 0: raw 00033000 00000000 1fffffff 1fffffff 1fffffff
[    1.273088] sfp sfp-p12: module FINISAR CORP.    FCLF8521P2BTL-N2 rev A    sn FNSRMYPX9023H    dc 170227
[    2.173763] rtl83xx_enable_phy_polling:          f0000ff
[    2.179695] rtl930x_pie_init
[    2.183104] rtl930x_led_init called
[    2.187122] rtl930x_led_init led_set configuration invalid skipping over this set
[    2.195512] rtl930x_led_init bb00cc00: 01052659
[    2.200554] rtl930x_led_init bb00cc04: aaaa5555
[    2.205613] rtl930x_led_init bb00cc08: 007faaaa
[    2.210656] rtl930x_led_init bb00cc0c: 00000000
[    2.215713] rtl930x_led_init bb00cc10: 00000000
[    2.220750] rtl930x_led_init bb00cc14: 00000000
[    2.225808] rtl930x_led_init bb00cc18: 0a200a01
[    2.230852] rtl930x_led_init bb00cc1c: 0a0b0a28
[    2.235910] rtl930x_led_init bb00cc20: 0a820a0b
[    2.240955] rtl930x_led_init bb00cc24: 00000000
[    2.246013] rtl930x_led_init bb00cc28: 0a200b80
[    2.251058] rtl930x_led_init bb00cc2c: 00000000
[    2.256115] rtl930x_led_init bb00cc30: 00950000
[    2.261160] rtl930x_led_init bb00cc34: 00000000
[    2.266218] rtl930x_led_init bb00cc38: 00950000
[    2.271263] rtl930x_led_init bb00cc3c: 0f0000ff
[    2.276320] rtl930x_led_init bb00cc40: 0f0000ff
[    2.281365] rtl930x_led_init bb00cc44: 0f0000ff
[    2.286422] rtl930x_led_init bb00cc48: 00000000
[    2.291459] rtl930x_led_init bb00cc4c: 00000000
[    2.296524] rtl930x_led_init bb00cc50: 00000000
[    2.301561] rtl930x_led_init bb00cc54: 00000000
[    2.306638] rtl930x_led_init bb00cc58: 00000000
[    2.311681] rtl930x_led_init bb00cc5c: 00000000
[    2.316920] rtl83xx-switch switch@1b000000: configuring for fixed/internal link mode
[    2.327293] rtl83xx-switch switch@1b000000 lan1 (uninitialized): PHY [mdio-bus:00] driver [Generic PHY] (irq=POLL)
[    2.341734] rtl83xx-switch switch@1b000000 lan2 (uninitialized): PHY [mdio-bus:01] driver [Generic PHY] (irq=POLL)
[    2.356279] rtl83xx-switch switch@1b000000 lan3 (uninitialized): PHY [mdio-bus:02] driver [Generic PHY] (irq=POLL)
[    2.370741] rtl83xx-switch switch@1b000000 lan4 (uninitialized): PHY [mdio-bus:03] driver [Generic PHY] (irq=POLL)
[    2.385207] rtl83xx-switch switch@1b000000 lan5 (uninitialized): PHY [mdio-bus:04] driver [Generic PHY] (irq=POLL)
[    2.399686] rtl83xx-switch switch@1b000000 lan6 (uninitialized): PHY [mdio-bus:05] driver [Generic PHY] (irq=POLL)
[    2.414190] rtl83xx-switch switch@1b000000 lan7 (uninitialized): PHY [mdio-bus:06] driver [Generic PHY] (irq=POLL)
[    2.428602] rtl83xx-switch switch@1b000000 lan8 (uninitialized): PHY [mdio-bus:07] driver [Generic PHY] (irq=POLL)
[    2.441995] rtl83xx-switch switch@1b000000 lan9 (uninitialized): no phy at 24
[    2.450027] rtl83xx-switch switch@1b000000 lan9 (uninitialized): failed to connect to PHY: -ENODEV
[    2.460040] rtl83xx-switch switch@1b000000 lan9 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 24
[    2.472301] rtl83xx-switch switch@1b000000 lan10 (uninitialized): no phy at 25
[    2.480422] rtl83xx-switch switch@1b000000 lan10 (uninitialized): failed to connect to PHY: -ENODEV
[    2.490531] rtl83xx-switch switch@1b000000 lan10 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 25
[    2.502893] rtl83xx-switch switch@1b000000 lan11 (uninitialized): no phy at 26
[    2.511010] rtl83xx-switch switch@1b000000 lan11 (uninitialized): failed to connect to PHY: -ENODEV
[    2.521130] rtl83xx-switch switch@1b000000 lan11 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 26
[    2.535108] rtl838x-eth 1b00a300.ethernet eth0: entered promiscuous mode
[    2.542683] DSA: tree 0 setup
[    2.546122] LINK state irq: 23
[    2.549558] In rtl83xx_setup_qos
[    2.553207] L3_IPUC_ROUTE_CTRL 00002000, IPMC_ROUTE 0000077e, IP6UC_ROUTE 00014400, IP6MC_ROUTE 0001db7e
[    2.563794] L3_IPUC_ROUTE_CTRL 00002001, IPMC_ROUTE 00000501, IP6UC_ROUTE 00014581, IP6MC_ROUTE 00012881
[    2.574375] L3_IP_ROUTE_CTRL 0000013f
[    2.578585] rtl930x_dbgfs_init called
[    2.587680] rtl83xx-switch switch@1b000000: Link is Up - 10Gbps/Full - flow control off
[    2.596840] rtl83xx_fib_event_work_do: FIB4 default rule failed
[    2.603448] rtl83xx_fib_event_work_do: FIB4 default rule failed
[    2.622363] clk: Disabling unused clocks
[    2.632904] VFS: Mounted root (squashfs filesystem) readonly on device 31:7.
[    2.645951] Freeing unused kernel image (initmem) memory: 1196K
[    2.652553] This architecture does not have kernel memory protection.
[    2.659764] Run /sbin/init as init process
[    2.664350]   with arguments:
[    2.667647]     /sbin/init
[    2.670648]   with environment:
[    2.674152]     HOME=/
[    2.676775]     TERM=linux
[    3.150154] init: Console is alive
[    3.154474] init: - watchdog -
[    3.457571] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.497608] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    3.509853] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.528632] init: - preinit -
[    7.123776] random: crng init done
[    8.565594] RESETTING 9300, CPU_PORT 28
[    8.770237] rtl838x-eth 1b00a300.ethernet eth0: configuring for fixed/internal link mode
[    8.779239] In rtl838x_mac_config, mode 1
[    8.784496] rtl83xx-switch switch@1b000000 lan1: configuring for phy/xgmii link mode
[    8.793144] rtl93xx_phylink_mac_config SDS is 2
[    8.798432] 8021q: adding VLAN 0 to HW filter on device lan1
[    8.805066] rtl838x-eth 1b00a300.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    8.814425] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[    8.821800] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[    8.837892] rtl83xx_fib_event_work_do: FIB4 failed
[    8.843253] rtl83xx_fib_event_work_do: FIB4 failed
[    8.849203] rtl83xx_fib_event_work_do: FIB4 failed
[   10.894298] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   13.128399] jffs2: notice: (722) jffs2_build_xattr_subsystem: complete building xattr subsystem, 11 of xdatum (0 unchecked, 3 orphan) and 13 of xref (1 dead, 2 orphan) found.
[   13.147631] mount_root: switching to jffs2 overlay
[   13.157288] overlayfs: upper fs does not support tmpfile.
[   13.173184] urandom-seed: Seeding with /etc/urandom.seed
[   13.267918] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   13.273680] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   13.294527] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   13.304980] procd: - early -
[   13.308547] procd: - watchdog -
[   14.014820] procd: - watchdog -
[   14.019583] procd: - ubus -
[   14.086456] procd: - init -
[   15.194099] kmodloader: loading kernel modules from /etc/modules.d/*
[   15.267228] gpio-fan gpio-fan: GPIO fan initialized
[   15.429998] kmodloader: done loading kernel modules from /etc/modules.d/*
[   16.870763] urngd: v1.0.2 started.
[   18.599683] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   25.702025] in rtl838x_eth_stop
[   25.710077] rtl838x-eth 1b00a300.ethernet eth0: Link is Down
[   26.217803] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   26.225190] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   26.232489] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   26.239841] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   26.412825] Using MAC 00007049a21d6636
[   26.423115] RESETTING 9300, CPU_PORT 28
[   26.627764] rtl838x-eth 1b00a300.ethernet eth0: configuring for fixed/internal link mode
[   26.636765] In rtl838x_mac_config, mode 1
[   26.682346] rtl838x-eth 1b00a300.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   26.693262] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   26.700717] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   26.748508] rtl83xx-switch switch@1b000000 lan1: configuring for phy/xgmii link mode
[   26.757218] rtl93xx_phylink_mac_config SDS is 2
[   26.762600] 8021q: adding VLAN 0 to HW filter on device lan1
[   26.794423] switch: port 1(lan1) entered blocking state
[   26.800269] switch: port 1(lan1) entered disabled state
[   26.806197] rtl83xx-switch switch@1b000000 lan1: entered allmulticast mode
[   26.813907] rtl838x-eth 1b00a300.ethernet eth0: entered allmulticast mode
[   26.822318] rtl83xx-switch switch@1b000000 lan1: entered promiscuous mode
[   26.904629] rtl930x_set_l3_egress_intf writing to index 0: 00000201 10101492
[   26.967378] rtl83xx-switch switch@1b000000 lan2: configuring for phy/xgmii link mode
[   26.976104] rtl93xx_phylink_mac_config SDS is -1
[   26.981466] 8021q: adding VLAN 0 to HW filter on device lan2
[   27.054402] switch: port 2(lan2) entered blocking state
[   27.060247] switch: port 2(lan2) entered disabled state
[   27.066178] rtl83xx-switch switch@1b000000 lan2: entered allmulticast mode
[   27.196480] rtl83xx-switch switch@1b000000 lan2: entered promiscuous mode
[   27.286266] rtl83xx-switch switch@1b000000 lan3: configuring for phy/xgmii link mode
[   27.294996] rtl93xx_phylink_mac_config SDS is -1
[   27.300355] 8021q: adding VLAN 0 to HW filter on device lan3
[   27.383025] switch: port 3(lan3) entered blocking state
[   27.388937] switch: port 3(lan3) entered disabled state
[   27.394868] rtl83xx-switch switch@1b000000 lan3: entered allmulticast mode
[   27.518587] rtl83xx-switch switch@1b000000 lan3: entered promiscuous mode
[   27.576325] rtl83xx-switch switch@1b000000 lan4: configuring for phy/xgmii link mode
[   27.585032] rtl93xx_phylink_mac_config SDS is -1
[   27.590412] 8021q: adding VLAN 0 to HW filter on device lan4
[   27.677120] switch: port 4(lan4) entered blocking state
[   27.683008] switch: port 4(lan4) entered disabled state
[   27.688940] rtl83xx-switch switch@1b000000 lan4: entered allmulticast mode
[   27.834411] rtl83xx-switch switch@1b000000 lan4: entered promiscuous mode
[   27.867054] rtl83xx-switch switch@1b000000 lan5: configuring for phy/xgmii link mode
[   27.875759] rtl93xx_phylink_mac_config SDS is -1
[   27.881140] 8021q: adding VLAN 0 to HW filter on device lan5
[   27.945573] switch: port 5(lan5) entered blocking state
[   27.951418] switch: port 5(lan5) entered disabled state
[   27.957358] rtl83xx-switch switch@1b000000 lan5: entered allmulticast mode
[   28.084435] rtl83xx-switch switch@1b000000 lan5: entered promiscuous mode
[   28.173443] rtl83xx-switch switch@1b000000 lan6: configuring for phy/xgmii link mode
[   28.182160] rtl93xx_phylink_mac_config SDS is -1
[   28.187581] 8021q: adding VLAN 0 to HW filter on device lan6
[   28.279556] switch: port 6(lan6) entered blocking state
[   28.285469] switch: port 6(lan6) entered disabled state
[   28.291333] rtl83xx-switch switch@1b000000 lan6: entered allmulticast mode
[   28.299945] rtl83xx-switch switch@1b000000 lan6: entered promiscuous mode
[   28.419891] rtl83xx-switch switch@1b000000 lan7: configuring for phy/xgmii link mode
[   28.428596] rtl93xx_phylink_mac_config SDS is -1
[   28.434027] 8021q: adding VLAN 0 to HW filter on device lan7
[   28.514524] switch: port 7(lan7) entered blocking state
[   28.520369] switch: port 7(lan7) entered disabled state
[   28.526313] rtl83xx-switch switch@1b000000 lan7: entered allmulticast mode
[   28.534911] rtl83xx-switch switch@1b000000 lan7: entered promiscuous mode
[   28.573848] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   28.581207] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   28.660635] rtl83xx-switch switch@1b000000 lan8: configuring for phy/xgmii link mode
[   28.669345] rtl93xx_phylink_mac_config SDS is -1
[   28.674774] 8021q: adding VLAN 0 to HW filter on device lan8
[   28.744525] switch: port 8(lan8) entered blocking state
[   28.750366] switch: port 8(lan8) entered disabled state
[   28.756296] rtl83xx-switch switch@1b000000 lan8: entered allmulticast mode
[   28.764903] rtl83xx-switch switch@1b000000 lan8: entered promiscuous mode
[   28.877916] rtl83xx-switch switch@1b000000 lan12: configuring for inband/1000base-x link mode
[   28.887493] rtl93xx_phylink_mac_config SDS is 9
[   28.892540] rtl9300_sds_rst 31
[   29.022828] rtl9300_phy_enable_10g_1g 1gbit phy: 00001140
[   29.029878] rtl9300_phy_enable_10g_1g 1gbit phy enabled: 00001140
[   29.037692] rtl9300_phy_enable_10g_1g 10gbit phy: 00002040
[   29.044820] rtl9300_phy_enable_10g_1g 10gbit phy after: 00002040
[   29.052500] rtl9300_phy_enable_10g_1g set medium: 00000002
[   29.059638] rtl9300_phy_enable_10g_1g set medium after: 00000002
[   29.086340] rtl9300_serdes_setup: Configuring RTL9300 SERDES 9
[   29.094863] rtl9300_serdes_mac_link_config: registers before 00000000 00001403
[   29.106926] rtl9300_serdes_mac_link_config: registers after 00000000 00001403
[   29.114896] rtl9300_force_sds_mode: SDS: 9, mode 23
[   29.120323] rtl9300_force_sds_mode --------------------- serdes 9 forcing to 4 ...
[   29.385406] rtl9300_force_sds_mode --------------------- serdes 9 forced to 4 DONE
[   29.695508] rtl9300_sds_10g_idle WARNING: Waiting for RX idle timed out, SDS 9
[   29.703570] start_1.1.1 initial value for sds 9
[   29.765578] end_1.1.1 --
[   29.768402] start_1.1.2 Load DFE init. value
[   29.775168] end_1.1.2
[   29.777697] start_1.1.3 disable LEQ training,enable DFE clock
[   29.796116] end_1.1.3 --
[   29.798938] start_1.1.4 offset cali setting
[   29.805609] end_1.1.4
[   29.808136] start_1.1.5 LEQ and DFE setting
[   29.826796] end_1.1.5
[   29.838343] start_1.2.1 ForegroundOffsetCal_Manual
[   29.847699] end_1.2.1
[   29.858708] start_1.2.3 Foreground Calibration
[   29.877181] rtl9300_do_rx_calibration_2_3: fgcal_gray: 31, fgcal_binary 31
[   29.885860] rtl9300_do_rx_calibration_2_3: end_1.2.3
[   29.891378] start_1.4.1
[   30.114984] end_1.4.1
[   30.117706] start_1.4.2
[   30.130233] vth_set_bin = 7
[   30.132961] vth_set_bin = 3
[   30.137092] Vth Maunal = 0
[   30.256017] Tap0 Sign : +
[   30.259035] tap0_coef_bin = 31
[   30.262937] tap0 manual = 0
[   30.272347] end_1.4.2
[   30.373480] 8021q: adding VLAN 0 to HW filter on device lan12
[   30.634406] switch: port 9(lan12) entered blocking state
[   30.640347] switch: port 9(lan12) entered disabled state
[   30.646374] rtl83xx-switch switch@1b000000 lan12: entered allmulticast mode
[   30.655090] rtl83xx-switch switch@1b000000 lan12: entered promiscuous mode
[   30.713166] sfp sfp-p12: module FINISAR CORP.    FCLF8521P2BTL-N2 rev A    sn FNSRMYPX9023H    dc 170227
[   30.771506] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   30.984150] rtl83xx-switch switch@1b000000 lan12: validation with support 00,00000000,00000000,00000000 failed: -EINVAL
[   30.996388] sfp sfp-p12: sfp_add_phy failed: -EINVAL

especialy this is what shows the Problem:

[    2.316920] rtl83xx-switch switch@1b000000: configuring for fixed/internal link mode
[    2.327293] rtl83xx-switch switch@1b000000 lan1 (uninitialized): PHY [mdio-bus:00] driver [Generic PHY] (irq=POLL)
[    2.341734] rtl83xx-switch switch@1b000000 lan2 (uninitialized): PHY [mdio-bus:01] driver [Generic PHY] (irq=POLL)
[    2.356279] rtl83xx-switch switch@1b000000 lan3 (uninitialized): PHY [mdio-bus:02] driver [Generic PHY] (irq=POLL)
[    2.370741] rtl83xx-switch switch@1b000000 lan4 (uninitialized): PHY [mdio-bus:03] driver [Generic PHY] (irq=POLL)
[    2.385207] rtl83xx-switch switch@1b000000 lan5 (uninitialized): PHY [mdio-bus:04] driver [Generic PHY] (irq=POLL)
[    2.399686] rtl83xx-switch switch@1b000000 lan6 (uninitialized): PHY [mdio-bus:05] driver [Generic PHY] (irq=POLL)
[    2.414190] rtl83xx-switch switch@1b000000 lan7 (uninitialized): PHY [mdio-bus:06] driver [Generic PHY] (irq=POLL)
[    2.428602] rtl83xx-switch switch@1b000000 lan8 (uninitialized): PHY [mdio-bus:07] driver [Generic PHY] (irq=POLL)
[    2.441995] rtl83xx-switch switch@1b000000 lan9 (uninitialized): no phy at 24
[    2.450027] rtl83xx-switch switch@1b000000 lan9 (uninitialized): failed to connect to PHY: -ENODEV
[    2.460040] rtl83xx-switch switch@1b000000 lan9 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 24
[    2.472301] rtl83xx-switch switch@1b000000 lan10 (uninitialized): no phy at 25
[    2.480422] rtl83xx-switch switch@1b000000 lan10 (uninitialized): failed to connect to PHY: -ENODEV
[    2.490531] rtl83xx-switch switch@1b000000 lan10 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 25
[    2.502893] rtl83xx-switch switch@1b000000 lan11 (uninitialized): no phy at 26
[    2.511010] rtl83xx-switch switch@1b000000 lan11 (uninitialized): failed to connect to PHY: -ENODEV
[    2.521130] rtl83xx-switch switch@1b000000 lan11 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 26

Unfortunatelly I missed to save the dmesg from the XGS1210 with the fix from the link. Rightnow it is my working switch with stock firmware and I want to investigate the XGS1250 first.

Thanks and all the best

Toxic

Regarding ports 1-8 I assume it has an RTL8218E. More in this not yet merged PR https://github.com/openwrt/openwrt/pull/18362

Regarding the other ports I think you first need the proper SMI bus mapping. If you have no other details from the vendor GPL sources start with dumping the SMI registers. For this:

  • go into U-Boot
  • configure network with "rtk network on"
  • dump registers with md 0x1b00xxxx (or md 0xbb00xxxx if that does not work)

Registers of interest are:

2 Likes

No need to dump anything, I already posted the SMI bus information in the RTL838x thread some time ago:

Hi Jan,

Thank you very much, the 3 ports are working rightnow! I just had to modify the dts-file.

So the last Problem is, that the sfp+ port doesnt work (wich is documented inthe wiki). Actualy it creates a link and sends at least broadcasts, but does not receive anything. Is there any progress on that? Anything I can test?

Thanks

Toxic

It would probably be a good idea to create a pull request adding the v2 as a separate device.

SFP+ ports should work in general (at least they do on other devices). For the moment, support for 2500Base-X still requires some small changes, though (see https://github.com/openwrt/openwrt/pull/19429 - but if that was the issue, you shouldn't even get a link).

What kind of module are you trying to use?

1 Like

I use two different DAC Cable, 10GBit btw. and I can check with some 1gbit SFPs tomorrow!

Actualy I tested the 3 copperports a bit more an they still have issues. They only give me a 100mbit-link for gigabit-clients and even if the speed is right (tested with a 2.5gbit connection) there is no communication possible. I have to test a bit more later...

PS.: looks the same, packages send but none received:

Checked with an 24.10 (at first it was a snapshot), the 100mbit problem persists, but the communication is possible with the copper-Ports. The 10gbit-Port has not even a link with this Firmware...

I think DAC cables are not yet supported properly. But I'm not quite sure, so you may want to search the RTL838x thread for more information.

For the XGS1250 v2: It should have RTL8261BE PHYs for the multi-gig ports. This PR and its discussion might be relevant: https://github.com/openwrt/openwrt/pull/19081

For the XGS1210 v2: The 2.5G ports use RTL8221B. Apparently there are issues even detecting the PHY with that one (see this comment). Aside from that, the drivers for RTL8226/RTL8221B need work anyway, so it would at best be half working right now (some recent discussion about making RTL8226 work with the upstream driver is here: https://github.com/openwrt/openwrt/pull/19220).

Check this out: Debugging phy/driver (rtl8261n/rtl8261be) - #7 by hanswurstian

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.