Hasivo S1300WP-8XGT-4S+

I recently bought a Hasivo S1300WP-8XGT-4S+ and will try to get OpenWrt running on it. It uses

  • RTL9310
  • 512MB RAM
  • 32MB flash

Bootlogs:

U-Boot 2011.12.(3.6.8.55120) (Aug 05 2022 - 13:39:06)

Board: RTL9310 CPU:1000MHz LX:200MHz DDR:800MHz
DRAM:  512 MB
SPI-F: MXIC/C22019/MMIO32-4/ModeC 1x32 MB (plr_flash_info @ 83f7b264)
Loading 65536B env. variables from offset 0xe0000
Net:   Net Initialization Skipped
No ethernet found.
 0 
## Booting image from partition ... 0
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   RTK_SDK
   Created:      2024-11-22  16:57:38 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    6148004 Bytes = 5.9 MB
   Load Address: 80000000
   Entry Point:  80316980
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

console [ttyS0] enabled
bootconsole [early0] disabled
Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 12288 bytes)
UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
futex hash table entries: 256 (order: 0, 7168 bytes)
ntfs: driver 2.1.31 [Flags: R/W].
jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 489
random: modprobe urandom read with 1 bits of entropy available
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x0 (irq = 47, base_baud = 12327200) is a 16550A
SCSI Media Changer driver v0.25 
RTK_SPI_FLASH_MIO driver is bypassed
RTK_NORSFG3 driver is used
=================================================================
init_luna_nor_spi_map: flash map at 0xb4000000
SPI NOR driver probe...
MXIC/C22019/MMIO32-4/ModeC add SPI NOR partition
MTD partitions obtained from built-in array
Creating 7 MTD partitions on "rtk_norsf_g3":
0x000000000000-0x0000000e0000 : "LOADER"
0x0000000e0000-0x0000000f0000 : "BDINFO"
0x0000000f0000-0x000000100000 : "SYSINFO"
0x000000100000-0x000000200000 : "JFFS2 CFG"
0x000000200000-0x000000300000 : "JFFS2 LOG"
0x000000300000-0x000000a00000 : "RUNTIME"
0x000000a00000-0x000002000000 : "RUNTIME2"
=================================================================
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
rtk_gen1_hcd_cs_init: rtk_gen1_hcd_cs_init()!
rtk_gen1_hcd_cs_init: register rtk_gen1_ehci ok!
usb_phy_configure_process: usb_phy_configure_process()!
rtk_gen1-ehci rtk_gen1-ehci: Realtek On-Chip EHCI Host Controller
rtk_gen1-ehci rtk_gen1-ehci: new USB bus registered, assigned bus number 1
rtk_gen1-ehci rtk_gen1-ehci: irq 28, io mem 0x18021000
rtk_gen1-ehci rtk_gen1-ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-platform: OHCI generic platform driver
usbcore: registered new interface driver uas
usbcore: registered new interface driver usb-storage
TCP: cubic registered
Freeing unused kernel memory: 4836K (80427000 - 808e0000)
init started:  BusyBox v1.00 (2024.11.22-08:56+0000) multi-call binary
Starting pid 26, console : '/etc/rc'
RTCORE LKM Insert...
    TC util init (isr)

Starting pid 62, console /dev/ttyS0: '/bin/sh'
Decompressing /mnt/switch.tar.gz ...
switch
switch/kernel
switch/kernel/kernel_rtl9311_7v6
switch/kernel/kernel_9301_version.txt
switch/kernel/9310-sdk3.6.8
switch/other
switch/other/certificate.pem.crt
switch/other/private.pem.key
switch/other/do_next
switch/other/AmazonRootCA1.pem
switch/module
switch/module/system_gpio.ko
switch/module/inos_ifksdk.ko
switch/module/i2c-ddm.ko
switch/module/reset.ko
switch/module/i2c-poe.ko
switch/module/i2c-rtc.ko
switch/module/i2c-encyt.ko
switch/app
switch/app/ospf6d
switch/app/dropbear
switch/app/ripngd
switch/app/mstpd
switch/app/snmpd
switch/app/ripd
switch/app/nsm
switch/app/lacpd
switch/app/webfiles.tar
switch/app/ospfd
switch/app/bgpd
switch/app/dbclient
switch/app/imi
switch/app/pimd
Start to run IFKSDK ...
Start to load DDM module ...
Start to load PoE module ...
Start to load encyt module ...
Start to load GPIO module ...
Start to load reset module ...
Start to load RTC module ...
Start to run MSTP ...
Start to run LACP ...
Start to run RIP ...
Start to run RIPNG ...
Start to run OSPF ...
Start to run OSPF6 ...
Start to run BGP ...
Start to run PIM-SM ...
Layer 3 switch loading ...
Start to load configuration ...

S1300WP-8XGT-4S+ 6.8.4
Creation date:Mar 25 2025 09:21:12



User Access Verification



Username:admin
Password:
Switch>sh ver

Product: S1300WP-8XGT-4S+

Hardware:
 Version: 1.0

Firmware(Layer 3 Switch):
 Version: 6.8.4   Build time: Mar 25 2025 09:21:12

Uboot:
 Version: uboot_9310_220805.bin

Kernel(9310 7v6):
 Linux version 3.18.24 #106 Fri Nov 22 16:57:31 CST 2024

Patch:
  Version: 1.0.2

Switch>

Images and FW 6.8.4

U-Boot 2011.12.(3.6.8.55120) (Aug 05 2022 - 13:39:06)
Board: RTL9310 CPU:1000MHz LX:200MHz DDR:800MHz
DRAM:  512 MB
SPI-F: MXIC/C22019/MMIO32-4/ModeC 1x32 MB (plr_flash_info @ 83f7b264)
Loading 65536B env. variables from offset 0xe0000
*** Warning - bad CRC, using default environment

Net:   Net Initialization Skipped
No ethernet found.
0

Booting image from partition ... 0

Booting kernel from Legacy Image at 81000000 ...

Image Name:   MIPS OpenWrt Linux-6.6.86
Created:      2025-04-13  16:38:32 UTC
Image Type:   MIPS Linux Kernel Image (gzip compressed)
Data Size:    3980335 Bytes = 3.8 MB
Load Address: 80100000
Entry Point:  80100000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Starting kernel ...

Okay I managed to compile OpenWrt for it, new 931x target, and patched it into the dump. Output is the above and after that it just bootloops (~40s between each reboot)

I assume you are booting from a initramfs (via tftpboot). Can you show your make recipe for that?

This device has boardmodel=RTL9313_2x8264_4XGE_DEMO, but the network doesn’t want to start in u-boot.

RTL9310# # rtk network on                                                       
Enable network                                                                  
RTCORE Driver Module Initialize                                                 
  IOAL init                                                                     
  Hardware-profile probe                                                        
    No hardware profile matched!                                                
      Available profiles are:                                                   
        RTL9311_6x8218D_6XGE (9310001)                                          
        RTL9311_6x8218D_6XGE_PCI (9310002)                                      
        RTL9311_6x8218D_6XGE_DEMO (9310003)                                     
        RTL9311_6x8218E_6XGE_DEMO (9310004)                                     
        RTL9311_6x8218D_6XGE1G (9310005)                                        
        RTL9311_6x8218D_6xFib1g100 (9310006)                                    
        RTL9311E (9310007)                                                      
        RTL9311R (9310008)                                                      
        RTL9311R_PCI (9310009)                                                  
        RTL9311_USERMODELKM_PCI_DEFAULT (9310010)                               
        RTL9313_12XGE (9310011)                                                 
        RTL9313_12XGE_PCI (9310012)                                             
        RTL9313_12XGE1G (9310013)                                               
        RTL9313_12xFib1g100 (9310014)                                           
        RTL9312_24X2P5G_6XGE (9310015)                                          
        RTL9313_2x8264_2x8261_2XGE_DEMO (9310016)                               
        RTL9313_2x8264_2x8261_2XGE_DEMO_B (9310017)                             
        RTL9313_2x8254L_2x8261I_2XGE_DEMO (9310018)                             
        RTL9313_2x8264B_2x8261N_2XGE_AB (9310019)                               
        RTL9313_2x8264B_2x8261N_2XGE_D (9310020)                                
        RTL9313_2x8264B_2x8261N_2XGE_GH (9310021)                               
      (uboot: setenv boardmodel 'YOUR_HARDWARE_PROFILE_NAME')                   
Hardware-profile probe fail.RTL9310# #                                          
RTL9310# #

So booting via tftpboot currently doesn’t work :upside_down_face:

Maybe you can switch over to serial (xyz)modem upload via console and expect script.

GS1920 is my favourite example to get around this blocker. Support for Zyxel GS1920 series (GS1920-24HP) - #26 by h3krn

IIRC, the next problem will be that the RTL8261N driver expects the RTL8264 chips to be activated by the bootloader, thus 8 of the 12 ports wouldn’t even activate with a proper image.

But these are the models we can learn the most from. Hard but good example is Working on the support for Zyxel XMG1915-10E

2 Likes

As @andrewjlamarche said initialising the network isn't possible rn and therefore no tftp boot. Before I was swapping out the stock image with openwrt squashfs.

Totally understood and thanks for working on that. Regarding the serial upload to RAM.

It is the same if you do

xmodem upload to 0x8xxxxxxxxx
bootm 0x8xxxxxxxxx

or

tftpboot to 0x8xxxxxxxxx
bootm 0x8xxxxxxxxx

okay, new issue. the switch is rebooting every 50 seconds which makes loading stuff via console impossible for now…

Sound like the watchdog is enabled in UBoot before startup. If you do not serve it in time it will trigger a restart. I guess 0x18003268 (or 0xb8003268) memory address has bit 31 set. Writing 0 there should disable the watchdog.

I’ll try that and come get back to you

alright update. It doesnt shut down as fast anymore, the watchdog was already off as well which is weird. I got console output going but I’m getting a kernel panic.

```
U-Boot 2011.12.(3.6.8.55120) (Aug 05 2022 - 13:39:06)

Board: RTL9310 CPU:1000MHz LX:200MHz DDR:800MHz
DRAM: 512 MB
SPI-F: MXIC/C22019/MMIO32-4/ModeC 1x32 MB (plr_flash_info @ 83f7b264)
Loading 65536B env. variables from offset 0xe0000
Net: Net Initialization Skipped
No ethernet found.
0

Booting image from partition ... 0

Booting kernel from Legacy Image at 81000000 ...

Image Name: MIPS OpenWrt Linux-6.12.40
Created: 2025-08-04 17:03:06 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 4159768 Bytes = 4 MB
Load Address: 80100000
Entry Point: 80100000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Starting kernel ...

[ 0.000000] Linux version 6.12.40 (tk22@tk22-PC) (mips-openwrt-linux-musl-gc5
[ 0.000000] RTL838X model is 0
[ 0.000000] RTL839X model is 0
[ 0.000000] RTL93XX model is 93130001
[ 0.000000] SoC Type: RTL9313
[ 0.000000] printk: legacy bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 0001a120 (MIPS interAptiv (multi))
[ 0.000000] MIPS: machine is Hasivo S1300WP-8XGT-4S-plus
[ 0.000000] earlycon: ns16550a0 at MMIO 0x18002000 (options '38400n8')
[ 0.000000] printk: legacy bootconsole [ns16550a0] enabled
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Using appended Device Tree.
[ 0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in thT
[ 0.000000] VPE topology {2,2} total 4
[ 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 bys
[ 0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x000000001fffffff]
[ 0.000000] HighMem empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000001fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[ 0.000000] percpu: Embedded 12 pages/cpu s18384 r8192 d22576 u49152
[ 0.000000] pcpu-alloc: s18384 r8192 d22576 u49152 alloc=12*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Kernel command line: console=ttyS0,38400 earlycon
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, )
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, l)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 131072
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 ji.
[ 0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adj.
[ 0.000000] NR_IRQS: 256
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] Failed to get CPU clock: -2
[ 0.000000] CPU frequency from device tree: 1000MHz
[ 0.000000] clocksource: realtek_otto_timer: mask: 0xfffffff max_cycles: 0xfs
[ 0.000003] sched_clock: 28 bits at 3125kHz, resolution 320ns, wraps every 4s
[ 0.027055] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
[ 0.097599] pid_max: default: 32768 minimum: 301
[ 0.122396] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, line)
[ 0.146718] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes,)
[ 0.186247] rcu: Hierarchical SRCU implementation.
[ 0.202212] rcu: Max phase no-delay instances is 1000.
[ 0.222163] smp: Bringing up secondary CPUs ...
[ 0.239552] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[ 0.239611] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bys
[ 0.239628] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[ 0.239698] CPU1 revision is: 0001a120 (MIPS interAptiv (multi))
[ 0.356882] Counter synchronization [CPU#0 -> CPU#1]:
[ 0.460823] Measured 6 cycles counter warp between CPUs
[ 0.464462] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[ 0.464513] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bys
[ 0.464528] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[ 0.464574] CPU2 revision is: 0001a120 (MIPS interAptiv (multi))
[ 0.826894] Counter synchronization [CPU#0 -> CPU#2]:
[ 0.948107] Measured 4 cycles counter warp between CPUs
[ 0.950727] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[ 0.950780] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bys
[ 0.950794] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[ 0.950847] CPU3 revision is: 0001a120 (MIPS interAptiv (multi))
[ 1.046882] Counter synchronization [CPU#0 -> CPU#3]: passed
[ 1.170479] smp: Brought up 1 node, 4 CPUs
[ 1.187056] Memory: 506256K/524288K available (7482K kernel code, 643K rwdat)
[ 1.238827] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ms
[ 1.271544] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[ 1.299884] pinctrl core: initialized pinctrl subsystem
[ 1.320501] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 1.341515] FPU Affinity set after 13320 emulations
[ 1.378423] clocksource: Switched to clocksource realtek_otto_timer
[ 1.409491] NET: Registered PF_INET protocol family
[ 1.426125] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linea)
[ 1.451733] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096)
[ 1.479536] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes,)
[ 1.505316] TCP established hash table entries: 4096 (order: 2, 16384 bytes,)
[ 1.531142] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[ 1.555192] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.577515] MPTCP token hash table entries: 512 (order: 1, 8192 bytes, linea)
[ 1.602024] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 1.623798] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 1.648117] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 1.672433] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[ 1.696809] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.716243] jffs2: version 2.2 (NAND) (SUMMARY) (ZLIB) (LZMA) (RTIME) (CMODE.
[ 1.756863] pinctrl-single 1b001358.pinmux: could not get mem_region
[ 1.778120] pinctrl-single 1b001358.pinmux: probe with driver pinctrl-single6
[ 1.808609] realtek-otto-gpio 18003300.gpio-controller: error -EBUSY: can't ]
[ 1.847921] realtek-otto-gpio 18003300.gpio-controller: probe with driver re6
[ 1.883056] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 1.906367] printk: legacy console [ttyS0] disabled
[ 1.923514] 18002000.uart: ttyS0 at MMIO 0x18002000 (irq = 20, base_baud = 1A
[ 1.952797] CPU 0 Unable to handle kernel paging request at virtual address 0
[ 1.952843] Oops[#1]:
[ 1.952855] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.40 #0
[ 1.952868] Hardware name: Hasivo S1300WP-8XGT-4S-plus
[ 1.952875] $ 0 : 00000000 00000001 00000010 00000002
[ 1.952901] $ 4 : 80c074f0 00000010 00000000 81859868
[ 1.952921] $ 8 : 00000000 ffffefff 00000001 80a16c08
[ 1.952941] $12 : ffffffea 81859864 00000062 00000498
[ 1.952962] $16 : 00000000 80c074f0 00000001 81990694
[ 1.952982] $20 : 80a86898 80a80000 80ac8278 00000000
[ 1.953002] $24 : 00000000 00000000
[ 1.953022] $28 : 81858000 81859a10 00000000 804e6880
[ 1.953042] Hi : 0000005c
[ 1.953047] Lo : 59999b0b
[ 1.953051] epc : 804e6204 mem_serial_out+0x18/0x24
[ 1.953088] ra : 804e6880 serial8250_do_set_mctrl+0x74/0xe0
[ 1.953103] Status: 11000402 KERNEL EXL
[ 1.953116] Cause : 4080000c (ExcCode 03)
[ 1.953122] BadVA : 00000010
[ 1.953128] PrId : 0001a120 (MIPS interAptiv (multi))
[ 1.953134] Modules linked in:
[ 1.953140] Process swapper/0 (pid: 1, threadinfo=(ptrval), task=(ptrval), t)
[ 1.953152] Stack : 81990600 8018bc68 81990694 80a86898 80a80000 80c074f0 810
[ 1.953190] 81a3fa00 81a3f200 80a80000 80c074f0 80c074f0 81990600 800
[ 1.953225] 81c6b400 80a86870 8093e9f8 00000000 00000000 80c074f0 810
[ 1.953259] 80c074f0 80a86870 80a80000 00000000 81a3f200 804e2274 800
[ 1.953294] 00000000 80a80000 80c074f0 81859b10 81c68f80 80a80000 804
[ 1.953329] ...
[ 1.953338] Call Trace:
[ 1.953342] [<804e6204>] mem_serial_out+0x18/0x24
[ 1.953360] [<804e6880>] serial8250_do_set_mctrl+0x74/0xe0
[ 1.953375] [<804dea80>] uart_configure_port.isra.0+0x160/0x320
[ 1.953417] [<804dedb0>] serial_core_add_one_port+0x170/0x284
[ 1.953433] [<804e2274>] serial_core_register_port+0x118/0x174
[ 1.953445] [<804e3ac4>] serial8250_register_8250_port+0x3a0/0x590
[ 1.953458] [<804eb7c8>] of_platform_serial_probe+0x1ac/0x1d4
[ 1.953479] [<804fd218>] platform_probe+0x50/0xb0
[ 1.953499] [<804fa624>] really_probe+0xd4/0x34c
[ 1.953541] [<804fab60>] driver_probe_device+0x48/0x110
[ 1.953558] [<804fadf0>] __driver_attach+0xb0/0x180
[ 1.953574] [<804f808c>] bus_for_each_dev+0x70/0xb8
[ 1.953590] [<804f9788>] bus_add_driver+0x17c/0x228
[ 1.953606] [<804fba08>] driver_register+0x88/0x154
[ 1.953617] [<80100358>] do_one_initcall+0x50/0x1c8
[ 1.953632] [<80a991a8>] do_initcalls+0x114/0x15c
[ 1.953667] [<80a993f0>] kernel_init_freeable+0x190/0x1d4
[ 1.953683] [<80846140>] kernel_init+0x20/0x110
[ 1.953716] [<801014d8>] ret_from_kernel_thread+0x14/0x1c
[ 1.953732]
[ 1.953736] Code: 30c600ff 00451021 0000000f 03e00008 00000000
[ 1.953782]
[ 1.953787] ---[ end trace 0000000000000000 ]---
[ 1.953797] Kernel panic - not syncing: Fatal exception
```

Please start with 256MB lowmem only. @jonasj might now how to properly activate the highmem part on RTL931x.

The kernel panic probably is connected to the bad memory description, it fails at a plain memory write.

As plappermaul said, the memory seems to be specified in the wrong way. Looks like you tried to specify the whole 512 MiB in one memory entry. This won’t work because in MIPS, the memory is split at 256 MiB so you have one block with 256 MiB and another one with 256(+?) MiB.

EDIT: Not sure if this is true for all MIPS but at least it’s the case for current Realtek MIPS where dealing with in OpenWrt. Couldn’t quickly find a reference that explains this.

Although this is RTL930x, see https://github.com/openwrt/openwrt/blob/39b9b491bb585ba6c16dfc28e5dd0316c8fe7b0d/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f_v2.dts

This device has 512 MiB too. I’m not entirely sure about RTL931x because both my RTL931x devices I’m working on only have 256 MiB. So I’d try to only use the first 256 MiB and if that runs, try 512 MiB as in the DTS I referenced.

Apart, it would be great if you share the tree/branch you’re working on. We could have a brighter look at it instead of just seeing some snippets here.

256MiB boots, I am struggling getting the network interfaces to work tho…

Thanks for providing this.

There seem to be some issues regarding the network configuration in the DTS:

  • the CPU port isn’t correct. CPU port for RTL931x is 0x38 or 56 (dec) but not 48. This will block anything like ping, etc. going from your device to the ports
  • the SMI addresses at least look somehow weird, where did you get them from?

Regarding the SMI addresses, I guess you won’t get the correct information from U-Boot because networking seems broken there. Can you read arbitrary memory from within the stock firmware? Not sure if there’s a better way than just trial & error then.

And not to forget, RTL931x support is still WIP in OpenWrt with several valuable, open PRs. I still had quite some issues getting any networking to run on my RTL931x devices (not working yet but haven’t tried for several days actually). So it might still be the case that the driver causes non-working networking.

U-Boot 2011.12.(3.6.8.55120) (Aug 05 2022 - 13:39:06)

Board: RTL9310 CPU:1000MHz LX:200MHz DDR:800MHz
DRAM:  512 MB
SPI-F: MXIC/C22019/MMIO32-4/ModeC 1x32 MB (plr_flash_info @ 83f7b264)
Loading 65536B env. variables from offset 0xe0000
Net:   Net Initialization Skipped
No ethernet found.
 0 
## Booting image from partition ... 0
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-6.12.40
   Created:      2025-08-06  15:09:59 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    6764976 Bytes = 6.5 MB
   Load Address: 80100000
   Entry Point:  80100000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 6.12.40 (tk22@tk22-PC) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r30694-1399807f60) 14.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Wed Aug  6 15:09:59 2025
[    0.000000] SoC Type: Realtek RTL9313 rev B (6567)
[    0.000000] printk: legacy bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.000000] MIPS: machine is Hasivo S1300WP-8XGT-4S-plus
[    0.000000] earlycon: ns16550a0 at MMIO 0x18002000 (options '38400n8')
[    0.000000] printk: legacy bootconsole [ns16550a0] enabled
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Using appended Device Tree.
[    0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in the DT
[    0.000000] VPE topology {2,2} total 4
[    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] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s18384 r8192 d22576 u49152
[    0.000000] pcpu-alloc: s18384 r8192 d22576 u49152 alloc=12*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Kernel command line: console=ttyS0,38400 earlycon
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 65536
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] NR_IRQS: 256
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] Failed to get CPU clock: -2
[    0.000000] CPU frequency from device tree: 1000MHz
[    0.000000] clocksource: realtek_otto_timer: mask: 0xfffffff max_cycles: 0xfffffff, max_idle_ns: 38225208801 ns
[    0.000003] sched_clock: 28 bits at 3125kHz, resolution 320ns, wraps every 42949672800ns
[    0.027074] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
[    0.097599] pid_max: default: 32768 minimum: 301
[    0.122329] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.146641] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.186027] rcu: Hierarchical SRCU implementation.
[    0.202003] rcu:     Max phase no-delay instances is 1000.
[    0.221910] smp: Bringing up secondary CPUs ...
[    0.239270] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.239331] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.239347] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.239417] CPU1 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.336877] Counter synchronization [CPU#0 -> CPU#1]: passed
[    0.446392] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.446444] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.446458] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.446504] CPU2 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.796869] Counter synchronization [CPU#0 -> CPU#2]: passed
[    0.905367] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.905420] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.905434] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.905488] CPU3 revision is: 0001a120 (MIPS interAptiv (multi))
[    1.016880] Counter synchronization [CPU#0 -> CPU#3]: passed
[    1.123203] smp: Brought up 1 node, 4 CPUs
[    1.139616] Memory: 237796K/262144K available (7493K kernel code, 710K rwdata, 1692K rodata, 10064K init, 244K bss, 22980K reserved, 0K cma-reserved, 0K highmem)
[    1.192304] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    1.224985] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    1.253184] pinctrl core: initialized pinctrl subsystem
[    1.273768] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    1.294735] FPU Affinity set after 13320 emulations
[    1.331205] clocksource: Switched to clocksource realtek_otto_timer
[    1.362189] NET: Registered PF_INET protocol family
[    1.378856] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    1.404043] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    1.431873] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    1.457661] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    1.483162] TCP bind hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    1.507044] TCP: Hash tables configured (established 2048 bind 2048)
[    1.529392] MPTCP token hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.553937] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.575703] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.599999] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.622988] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    1.648072] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.667534] jffs2: version 2.2 (NAND) (SUMMARY) (ZLIB) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    1.709606] pinctrl-single 1b001358.pinmux: 32 pins, size 4
[    1.731748] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    1.755282] printk: legacy console [ttyS0] disabled
[    1.772503] 18002000.uart: ttyS0 at MMIO 0x18002000 (irq = 21, base_baud = 12500000) is a 16550A
[    1.801750] printk: legacy console [ttyS0] enabled
[    1.801750] printk: legacy console [ttyS0] enabled
[    1.833634] printk: legacy bootconsole [early0] disabled
[    1.833634] printk: legacy bootconsole [early0] disabled
[    1.870911] printk: legacy bootconsole [ns16550a0] disabled
[    1.870911] printk: legacy bootconsole [ns16550a0] disabled
[    1.937317] brd: module loaded
[    1.952151] 7 fixed-partitions partitions found on MTD device spi0.0
[    1.973362] Creating 7 MTD partitions on "spi0.0":
[    1.989363] 0x000000000000-0x0000000e0000 : "LOADER"
[    2.007445] 0x0000000e0000-0x0000000f0000 : "BDINFO"
[    2.025482] 0x0000000f0000-0x000000100000 : "SYSINFO"
[    2.043551] 0x000000100000-0x000000200000 : "CFG"
[    2.061596] 0x000000200000-0x000000300000 : "LOG"
[    2.079327] 0x000000300000-0x000000a00000 : "RUNTIME"
[    2.098451] 0x000000a00000-0x000002000000 : "RUNTIME2"
[    2.132637] Probing RTL838X eth device pdev: 8191ba00, dev: 8191ba10
[    2.164738] Found SoC ID: 9313: RTL9313, family 9310
[    2.181313] In rtl931x_chip_init
[    2.192085] rtl931x_chip_init: init ENCAP done
[    2.206857] rtl931x_chip_init: init MIB done
[    2.221058] rtl931x_chip_init: init ACL done
[    2.235380] rtl931x_chip_init: init ALE done
[    2.249885] Using MAC 00008095217c8000
[    2.262517] set sds port 0 to 0
[    2.273005] set sds port 1 to 1
[    2.283463] set sds port 2 to 2
[    2.293943] set sds port 3 to 3
[    2.304439] set sds port 4 to 4
[    2.314907] set sds port 5 to 5
[    2.325371] set sds port 6 to 6
[    2.335878] set sds port 7 to 7
[    2.347211] rtmdio_931x_reset called
[    2.471238] poll sel 0, 0000ff00
[    2.482057] poll sel 1, 00000000
[    2.492826] poll sel 2, 00000000
[    2.503583] poll sel 3, 00000000
[    2.514339] rtmdio_931x_reset: WAS RTL931X_MAC_L2_GLOBAL_CTRL2 16208109
[    2.536324] c45_mask: 00000000, RTL931X_SMI_GLB_CTRL0 was 550
[    2.536354] rtmdio_931x_reset: RTL931X_MAC_L2_GLOBAL_CTRL2 16209309
[    2.576201] c45_mask: 00000082, RTL931X_SMI_GLB_CTRL0 was 550
[    2.917828] i2c_dev: i2c /dev entries driver
[    2.954701] NET: Registered PF_INET6 protocol family
[    2.976072] Segment Routing with IPv6
[    2.988504] In-situ OAM (IOAM) with IPv6
[    3.001785] NET: Registered PF_PACKET protocol family
[    3.019445] 8021q: 802.1Q VLAN Support v1.8
[    3.069133] rtl83xx-switch switch@1b000000: Port node 24 misses phy-handle
[    3.092038] rtl83xx-switch switch@1b000000: Port node 25 misses phy-handle
[    3.114939] rtl83xx-switch switch@1b000000: Port node 26 misses phy-handle
[    3.137830] rtl83xx-switch switch@1b000000: Port node 27 misses phy-handle
[    3.160713] rtl83xx-switch switch@1b000000: Port node 28 misses phy-handle
[    3.203384] rtl93xx_setup called
[    3.214230] > 00000000 00000080
[    3.224696] > 00000000 00000100
[    3.235174] > 00000000 00000200
[    3.245634] > 00000000 00000400
[    3.256074] > 00000000 00000800
[    3.266525] > 00000000 00001000
[    3.276976] > 00000000 00002000
[    3.287413] > 00000000 00004000
[    3.297851] > ffffffff ffffff80
[    3.308288] > ffffffff ffffff80
[    3.318737] > ffffffff ffffff80
[    3.329212] > ffffffff ffffff80
[    3.339655] > ffffffff ffffff80
[    3.350093] > ffffffff ffffff80
[    3.360529] > ffffffff ffffff80
[    3.370979] > ffffffff ffffff80
[    3.381422] > ffffffff ffffff80
[    3.391869] > ffffffff ffffff80
[    3.402308] > ffffffff ffffff80
[    3.412744] > ffffffff ffffff80
[    3.423194] > ffffffff ffffff80
[    3.433650] > ffffffff ffffff80
[    3.444131] > ffffffff ffffff80
[    3.454577] > ffffffff ffffff80
[    3.465014] > ffffffff ffffff80
[    3.475463] > ffffffff ffffff80
[    3.485917] > ffffffff ffffff80
[    3.496354] > ffffffff ffffff80
[    3.506791] > ffffffff ffffff80
[    3.517229] > ffffffff ffffff80
[    3.527678] > ffffffff ffffff80
[    3.538132] > ffffffff ffffff80
[    3.548568] > ffffffff ffffff80
[    3.559007] > ffffffff ffffff80
[    3.569463] > ffffffff ffffff80
[    3.579963] > ffffffff ffffff80
[    3.590432] > ffffffff ffffff80
[    3.600892] > ffffffff ffffff80
[    3.611345] > ffffffff ffffff80
[    3.621795] > ffffffff ffffff80
[    3.632270] > ffffffff ffffff80
[    3.642724] > ffffffff ffffff80
[    3.653188] > ffffffff ffffff80
[    3.663653] > ffffffff ffffff80
[    3.674113] > ffffffff ffffff80
[    3.684616] > ffffffff ffffff80
[    3.695070] > ffffffff ffffff80
[    3.705533] > ffffffff ffffff80
[    3.715994] > ffffffff ffffff80
[    3.726434] > ffffffff ffffff80
[    3.736910] > ffffffff ffffff80
[    3.747363] > ffffffff ffffff80
[    3.757826] > ffffffff ffffff80
[    3.768290] > ffffffff ffffff80
[    3.778754] > ffffffff ffffff80
[    3.789231] > ffffffff ffffff80
[    3.799682] > 80000000 00000000
[    3.810169] > ffffffff ffffff80
[    3.820637] > ffffffff ffffff80
[    3.831128] > ffffffff ffffff80
[    3.841603] > ffffffff ffffff80
[    3.852055] > ffffffff ffffff80
[    3.862519] > ffffffff ffffff80
[    3.872982] > ffffffff ffffff80
[    3.883472] In rtl83xx_vlan_setup
[    3.894530] UNKNOWN_MC_PMASK: 0000000000000000
[    4.941209] rtl83xx_enable_phy_polling:               ff
[    4.959307] rtl83xx-switch switch@1b000000: configuring for fixed/internal link mode
[    4.985033] rtl931x_phylink_mac_config: speed -1 sds_num 0
[    5.003261] rtl931x_phylink_mac_config: unknown serdes mode: internal
[    5.024959] Realtek RTL8264 mdio-bus:00: rtkphy_config_init:71 [RTL8261N/RTL8264/RTL826XB] phy_id: 0x1CCAF2 PHYAD:0
[    5.059984] rtl83xx-switch switch@1b000000 lan1 (uninitialized): PHY [mdio-bus:00] driver [Realtek RTL8264] (irq=POLL)
[    5.097353] Realtek RTL8264 mdio-bus:01: rtkphy_config_init:71 [RTL8261N/RTL8264/RTL826XB] phy_id: 0x1CCAF2 PHYAD:1
[    5.132357] rtl83xx-switch switch@1b000000 lan2 (uninitialized): PHY [mdio-bus:01] driver [Realtek RTL8264] (irq=POLL)
[    5.169574] Realtek RTL8264 mdio-bus:02: rtkphy_config_init:71 [RTL8261N/RTL8264/RTL826XB] phy_id: 0x1CCAF2 PHYAD:2
[    5.204563] rtl83xx-switch switch@1b000000 lan3 (uninitialized): PHY [mdio-bus:02] driver [Realtek RTL8264] (irq=POLL)
[    5.242212] Realtek RTL8264 mdio-bus:03: rtkphy_config_init:71 [RTL8261N/RTL8264/RTL826XB] phy_id: 0x1CCAF2 PHYAD:3
[    5.277293] rtl83xx-switch switch@1b000000 lan4 (uninitialized): PHY [mdio-bus:03] driver [Realtek RTL8264] (irq=POLL)
[    5.315090] rtl83xx-switch switch@1b000000 lan5 (uninitialized): validation of usxgmii with support 00,00000000,00000000,00006000 and advertisement 00,00000000,00000000,00006000 failed: -EINVAL
[    5.372642] rtl83xx-switch switch@1b000000 lan5 (uninitialized): failed to connect to PHY: -EINVAL
[    5.402438] rtl83xx-switch switch@1b000000 lan5 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 4
[    5.438759] rtl83xx-switch switch@1b000000 lan6 (uninitialized): validation of usxgmii with support 00,00000000,00000000,00006000 and advertisement 00,00000000,00000000,00006000 failed: -EINVAL
[    5.496311] rtl83xx-switch switch@1b000000 lan6 (uninitialized): failed to connect to PHY: -EINVAL
[    5.526096] rtl83xx-switch switch@1b000000 lan6 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 5
[    5.562411] rtl83xx-switch switch@1b000000 lan7 (uninitialized): validation of usxgmii with support 00,00000000,00000000,00006000 and advertisement 00,00000000,00000000,00006000 failed: -EINVAL
[    5.619956] rtl83xx-switch switch@1b000000 lan7 (uninitialized): failed to connect to PHY: -EINVAL
[    5.649753] rtl83xx-switch switch@1b000000 lan7 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 6
[    5.686170] rtl83xx-switch switch@1b000000 lan8 (uninitialized): validation of usxgmii with support 00,00000000,00000000,00006000 and advertisement 00,00000000,00000000,00006000 failed: -EINVAL
[    5.743704] rtl83xx-switch switch@1b000000 lan8 (uninitialized): failed to connect to PHY: -EINVAL
[    5.773479] rtl83xx-switch switch@1b000000 lan8 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 7
[    5.817869] rtl838x-eth 1b00a300.ethernet eth0: entered promiscuous mode
[    5.840453] DSA: tree 0 setup
[    5.850470] LINK state irq: 24
[    5.860746] In rtl83xx_setup_qos
[    5.871639] rtl838x_dbgfs_init called
[    5.883932] rtl83xx-switch switch@1b000000: Link is Up - 10Gbps/Full - flow control off
[    5.911364] clk: Disabling unused clocks
[    5.944290] Freeing unused kernel image (initmem) memory: 10064K
[    5.964370] This architecture does not have kernel memory protection.
[    5.985836] Run /init as init process
[    5.998067]   with arguments:
[    6.007990]     /init
[    6.015606]   with environment:
[    6.026084]     HOME=/
[    6.033952]     TERM=linux
[    6.043501] rtl83xx_fib_event_work_do: FIB4 default rule failed
[    6.063424] rtl83xx_fib_event_work_do: FIB4 default rule failed
[    6.669673] init: Console is alive
[    6.681820] init: - watchdog -
[    6.713623] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    6.740413] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    6.766451] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    6.795803] init: - preinit -
[   10.701292] random: crng init done
mtd_get_mac_ascii: partition u-boot-env2 not found!
mtd_get_mac_ascii: partition u-boot-env2 not found!
mtd_get_mac_ascii: partition u-boot-env not found!
Cannot parse config file '/etc/fw_env.config': No such file or directory
Failed to find NVMEM device
[   11.464012] RESETTING 9310, CPU_PORT 56
[   12.641381] rtl838x-eth 1b00a300.ethernet eth0: configuring for fixed/internal link mode
[   12.668223] In rtl838x_mac_config, mode 1
[   12.682423] rtl83xx-switch switch@1b000000 lan1: configuring for phy/usxgmii link mode
[   12.708770] rtl931x_phylink_mac_config: speed -1 sds_num 0
[   12.731026] rtl931x_sds_cmu_band_get band is: 0
[   12.746107] rtl931x_sds_init: set sds 0 to mode 30
[   12.764052] rtl931x_sds_init: fibermode 00000000 stored mode 0x0 analog SDS 0
[   12.765084] rtl931x_sds_init: SGMII mode 0000FFFF in 0x24 0x9 analog SDS 0
[   12.789760] rtl931x_sds_init: CMU mode 00000000 stored even SDS 0
[   12.812626] rtl931x_sds_init: serdes_mode_ctrl 000013CC
[   12.833866] rtl931x_sds_init CMU page 0x24 0x7 0000ff01
[   12.869584] rtl931x_sds_init CMU page 0x26 0x7 0000ff01
[   12.887966] rtl931x_sds_init CMU page 0x28 0x7 0000ff01
[   12.906328] rtl931x_sds_init XSG page 0x0 0xe 00002053
[   12.924416] rtl931x_sds_init XSG2 page 0x0 0xe 00002053
[   12.941816] detected chiptype 0
[   12.953283] rtl931x_sds_init: 2.5gbit 00000100 dsds 0
[   12.953314] rtl931x_sds_init: RTL931X_PS_SERDES_OFF_MODE_CTRL_ADDR 0x00003FFF
[   13.013875] rtl931x_sds_fiber_mode_set writing analog SerDes Mode value 1b
[   13.038734] rtl931x_phylink_mac_config reading FORCE_MODE_CTRL: 00032800
[   13.061356] 8021q: adding VLAN 0 to HW filter on device lan1
[   13.080610] rtl838x-eth 1b00a300.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   13.081445] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   13.129992] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   14.691361] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   17.354400] rtl83xx_fib4_del: found a route with id 1, nh-id 0
[   17.373875] rtl83xx-switch switch@1b000000: unknown nexthop, id 0
[   17.394745] rtl931x_fast_age port 0
[   17.407783] rtl83xx-switch switch@1b000000: unknown nexthop, id 0
[   17.423088] procd: - early -
[   17.428179] rtl83xx_fib4_del: no such gateway: 0.0.0.0
[   17.438179] procd: - watchdog -
[   18.060261] procd: - watchdog -
[   18.071654] procd: - ubus -
[   18.240405] procd: - init -
Please press Enter to activate this console.
[   18.828517] kmodloader: loading kernel modules from /etc/modules.d/*
[   18.943551] kmodloader: done loading kernel modules from /etc/modules.d/*
[   19.848138] urngd: v1.0.2 started.
[   21.920036] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   32.892373] in rtl838x_eth_stop
[   32.903200] rtl838x-eth 1b00a300.ethernet eth0: Link is Down
[   33.477467] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   33.499287] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   33.521188] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   33.542994] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   33.578430] RESETTING 9310, CPU_PORT 56
[   34.741411] rtl838x-eth 1b00a300.ethernet eth0: configuring for fixed/internal link mode
[   34.768245] In rtl838x_mac_config, mode 1
[   34.782237] rtl838x-eth 1b00a300.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   34.782759] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   34.831644] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   34.856771] rtl83xx-switch switch@1b000000 lan1: configuring for phy/usxgmii link mode
[   34.883296] rtl931x_phylink_mac_config: speed -1 sds_num 0
[   34.905643] rtl931x_sds_cmu_band_get band is: 0
[   34.920874] rtl931x_sds_init: set sds 0 to mode 30
[   34.938893] rtl931x_sds_init: fibermode 00000000 stored mode 0x0 analog SDS 0
[   34.939924] rtl931x_sds_init: SGMII mode 0000FFFF in 0x24 0x9 analog SDS 0
[   34.964666] rtl931x_sds_init: CMU mode 00000000 stored even SDS 0
[   34.987595] rtl931x_sds_init: serdes_mode_ctrl 000013CC
[   35.008955] rtl931x_sds_init CMU page 0x24 0x7 0000ff01
[   35.044874] rtl931x_sds_init CMU page 0x26 0x7 0000ff01
[   35.063326] rtl931x_sds_init CMU page 0x28 0x7 0000ff01
[   35.081886] rtl931x_sds_init XSG page 0x0 0xe 00002053
[   35.099038] rtl931x_sds_init XSG2 page 0x0 0xe 00002053
[   35.116486] detected chiptype 0
[   35.128050] rtl931x_sds_init: 2.5gbit 00000100 dsds 0
[   35.128084] rtl931x_sds_init: RTL931X_PS_SERDES_OFF_MODE_CTRL_ADDR 0x00003FFE
[   35.188909] rtl931x_sds_fiber_mode_set writing analog SerDes Mode value 1b
[   35.213799] rtl931x_phylink_mac_config reading FORCE_MODE_CTRL: 00032800
[   35.236567] 8021q: adding VLAN 0 to HW filter on device lan1
[   35.257205] switch: port 1(lan1) entered blocking state
[   35.274679] switch: port 1(lan1) entered disabled state
[   35.292215] rtl83xx-switch switch@1b000000 lan1: entered allmulticast mode
[   35.315135] rtl838x-eth 1b00a300.ethernet eth0: entered allmulticast mode
[   35.338317] rtl931x_fast_age port 0
[   35.350962] rtl83xx-switch switch@1b000000 lan1: entered promiscuous mode
[   35.374500] rtl83xx-switch switch@1b000000: port 0 failed to delete de:cc:49:16:7f:ce vid 1 from fdb: -2
[   35.420420] rtl83xx-switch switch@1b000000 lan2: configuring for phy/usxgmii link mode
[   35.446911] rtl931x_phylink_mac_config: speed -1 sds_num 1
[   35.468675] rtl931x_sds_cmu_band_get band is: 0
[   35.483868] rtl931x_sds_init: set sds 1 to mode 30
[   35.500938] rtl931x_sds_init: fibermode 00000000 stored mode 0x0 analog SDS 1
[   35.502150] rtl931x_sds_init: SGMII mode 0000FFFF in 0x24 0x9 analog SDS 1
[   35.526898] rtl931x_sds_init: CMU mode 00000000 stored even SDS 0
[   35.549788] rtl931x_sds_init: serdes_mode_ctrl 000013CC
[   35.571230] rtl931x_sds_init CMU page 0x24 0x7 0000ff01
[   35.607203] rtl931x_sds_init CMU page 0x26 0x7 0000ff01
[   35.625670] rtl931x_sds_init CMU page 0x28 0x7 0000ff01
[   35.644103] rtl931x_sds_init XSG page 0x0 0xe 00002053
[   35.661281] rtl931x_sds_init XSG2 page 0x0 0xe 00002053
[   35.678797] detected chiptype 0
[   35.689423] rtl931x_sds_init: 2.5gbit 00000100 dsds 1
[   35.689466] rtl931x_sds_init: RTL931X_PS_SERDES_OFF_MODE_CTRL_ADDR 0x00003FFE
[   35.753251] rtl931x_sds_fiber_mode_set writing analog SerDes Mode value 1b
[   35.778531] rtl931x_phylink_mac_config reading FORCE_MODE_CTRL: 00032800
[   35.801475] 8021q: adding VLAN 0 to HW filter on device lan2
[   35.822417] switch: port 2(lan2) entered blocking state
[   35.839913] switch: port 2(lan2) entered disabled state
[   35.857458] rtl83xx-switch switch@1b000000 lan2: entered allmulticast mode
[   35.880933] rtl931x_fast_age port 1
[   35.893624] rtl83xx-switch switch@1b000000 lan2: entered promiscuous mode
[   35.935208] rtl83xx-switch switch@1b000000 lan3: configuring for phy/usxgmii link mode
[   35.961602] rtl931x_phylink_mac_config: speed -1 sds_num 2
[   35.984340] rtl931x_sds_cmu_band_get band is: 16
[   35.999776] rtl931x_sds_init: set sds 2 to mode 30
[   36.017933] rtl931x_sds_init: fibermode 00000000 stored mode 0x0 analog SDS 2
[   36.019135] rtl931x_sds_init: SGMII mode 000080E4 in 0x24 0x9 analog SDS 2
[   36.042986] rtl931x_sds_init: CMU mode 00000000 stored even SDS 2
[   36.065973] rtl931x_sds_init: serdes_mode_ctrl 000013CC
[   36.086363] rtl931x_sds_init CMU page 0x24 0x7 0000000e
[   36.121308] rtl931x_sds_init CMU page 0x26 0x7 0000000e
[   36.139972] rtl931x_sds_init CMU page 0x28 0x7 0000000e
[   36.157510] rtl931x_sds_init XSG page 0x0 0xe 00002053
[   36.174676] rtl931x_sds_init XSG2 page 0x0 0xe 00002053
[   36.192152] detected chiptype 0
[   36.203713] rtl931x_sds_init: 2.5gbit 00000000 dsds 2
[   36.203756] rtl931x_sds_init: RTL931X_PS_SERDES_OFF_MODE_CTRL_ADDR 0x00003FFC
[   36.324004] rtl931x_sds_fiber_mode_set writing analog SerDes Mode value 1b
[   36.348864] rtl931x_phylink_mac_config reading FORCE_MODE_CTRL: 00032800
[   36.371561] 8021q: adding VLAN 0 to HW filter on device lan3
[   36.392397] switch: port 3(lan3) entered blocking state
[   36.409974] switch: port 3(lan3) entered disabled state
[   36.427575] rtl83xx-switch switch@1b000000 lan3: entered allmulticast mode
[   36.451552] rtl931x_fast_age port 2
[   36.464298] rtl83xx-switch switch@1b000000 lan3: entered promiscuous mode
[   36.488440] rtl83xx-switch switch@1b000000: port 2 failed to delete 02:00:01:00:00:02 vid 1 from fdb: -2
[   36.506139] rtl83xx-switch switch@1b000000 lan4: configuring for phy/usxgmii link mode
[   36.546379] rtl931x_phylink_mac_config: speed -1 sds_num 3
[   36.567793] rtl931x_sds_cmu_band_get band is: 28
[   36.583226] rtl931x_sds_init: set sds 3 to mode 30
[   36.601355] rtl931x_sds_init: fibermode 00000000 stored mode 0x0 analog SDS 3
[   36.602405] rtl931x_sds_init: SGMII mode 000080E4 in 0x24 0x9 analog SDS 3
[   36.626197] rtl931x_sds_init: CMU mode 00000000 stored even SDS 2
[   36.649142] rtl931x_sds_init: serdes_mode_ctrl 000013CC
[   36.670569] rtl931x_sds_init CMU page 0x24 0x7 0000000e
[   36.705411] rtl931x_sds_init CMU page 0x26 0x7 0000000e
[   36.722845] rtl931x_sds_init CMU page 0x28 0x7 0000000e
[   36.741429] rtl931x_sds_init XSG page 0x0 0xe 00002053
[   36.758560] rtl931x_sds_init XSG2 page 0x0 0xe 00002053
[   36.776045] detected chiptype 0
[   36.786578] rtl931x_sds_init: 2.5gbit 00000000 dsds 4
[   36.786624] rtl931x_sds_init: RTL931X_PS_SERDES_OFF_MODE_CTRL_ADDR 0x00003FF8
[   36.905563] rtl931x_sds_fiber_mode_set writing analog SerDes Mode value 1b
[   36.930418] rtl931x_phylink_mac_config reading FORCE_MODE_CTRL: 00032800
[   36.953008] 8021q: adding VLAN 0 to HW filter on device lan4
[   36.972396] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   36.994455] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
[   37.016854] switch: port 4(lan4) entered blocking state
[   37.034349] switch: port 4(lan4) entered disabled state
[   37.051926] rtl83xx-switch switch@1b000000 lan4: entered allmulticast mode
[   37.075449] rtl931x_fast_age port 3
[   37.088125] rtl83xx-switch switch@1b000000 lan4: entered promiscuous mode
[   37.112349] rtl83xx-switch switch@1b000000: port 3 failed to delete 02:00:01:00:00:03 vid 1 from fdb: -2
[   37.123859] rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported



BusyBox v1.37.0 (2025-08-06 14:43:58 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r30695-7fb0aa6503
 -----------------------------------------------------
=== 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 https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet

root@OpenWrt:~





root@OpenWrt:~# mdio fixed-0
 DEV      PHY-ID  LINK
root@OpenWrt:~# 
root@OpenWrt:~# 
root@OpenWrt:~# mdio mdio-bus
 DEV      PHY-ID  LINK
0x00  0x00000000  down
0x01  0x00000000  down
0x02  0x00000000  down
0x03  0x00000000  down
0x04  0x00000000  down
0x05  0x00000000  down
0x06  0x00000000  down
0x07  0x00000000  down
0x08  0x00000000  down
0x09  0x00000000  down
0x0a  0x00000000  down
0x0b  0x00000000  down
0x0c  0x008a0000  down
0x0d  0x80000000  down
0x0e  0x00000000  down
0x0f  0x00000000  down
0x10  0x00000000  down
0x11  0x00000000  down
0x12  0x00008000  down
0x13  0x00000000  down
0x14  0x00000000  down
0x15  0x00000000  down
0x16  0x00000000  down
0x17  0x00000000  down
0x18  0x00000000  down
0x19  0x00000000  down
0x1a  0x00000000  down
0x1b  0x00000000  down
0x1c  0x00000000  down
0x1d  0x00000000  down
0x1e  0x00000000  down
0x1f  0x00000000  down
root@OpenWrt:~# mdio rtldsa_mdio-0
 DEV      PHY-ID  LINK
0x00  0x00000000  down
0x01  0x00000000  down
0x02  0x00000000  down
0x03  0x00000000  down
0x04  0x00000000  down
0x05  0x00000000  down
0x06  0x00000000  down
0x07  0x00000000  down
0x08  0x00000000  down
0x09  0x00000000  down
0x0a  0x00000000  down
0x0b  0x00000000  down
0x0c  0x00000000  down
0x0d  0x00000000  down
0x0e  0x00000000  down
0x0f  0x00000000  down
0x10  0x00000000  down
0x11  0x00000000  down
0x12  0x00000000  down
0x13  0x00000000  down
0x14  0x00000000  down
0x15  0x00000000  down
0x16  0x00000000  down
0x17  0x00000000  down
0x18  0x00000000  down
0x19  0x00000000  down
0x1a  0x00000000  down
0x1b  0x00000000  down
0x1c  0x00000000  down
0x1d  0x00000000  down
0x1e  0x00000000  down
0x1f  0x00000000  down
root@OpenWrt:~# 

thanks for your reply, right now the addresses are trial and error attempts. I tried mapping it out using mdio but I dont have a clue on how to proceed from here…

Guessing from the kernel log it’s seeing something on the mdio bus at the configured addresses, so I’d guess they are correct. Last time I worked on my devices, I always got another error in case the SMI address was wrong. But this could be wrong now, since there were quite some important changes regarding realtek mdio recently.

Are ports 5-8 also behind a RTL8264 or is there another chip? Looks a bit weird because if so, they should be detected like ports 1-4. The validation error then comes because what the PHY supports/advertises doesn’t match with the ‘usxgmii’ you defined in the DTS. Assuming, that the PHY can be communicated with and the supported/advertised bits are read correctly from the PHY.
I’m not sure what 00,00000000,00000000,00006000 actually means but there seems to be a mismatch.