openwrt/target/linux
Harshal Gohel ce8ea739eb realtek: rtl931x: Add support for Plasma Cloud ESX28 Switch
The Plasma Cloud ESX28 Switch is a 24 + 4 port multi-GBit switch with
24x 10/100/1000/2500BaseT Ethernet ports and 4x SFP+ module slot.

Hardware:

- RTL9312C SoC
- Macronix MX25L25645G (32MB flash)
- 512MB DDR3 SDRAM
- RTL8231 GPIO extender to control the port LEDs
- 6x RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- SFP+ 4x 10GBit slot

The switch is powered directly via AC.

The external RS232 serial connector (RJ45, Cisco pinout) can be used to
access the terminal. Serial connection is via 115200 baud, 8N1.

A reset button is accessible through a hole in the front panel.

Installation
------------

* The device can be flashed by using sysupgrade command. Either from the
  original vendor firmware or using an initramfs (see "Debug")
* Connect serial on front panel. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device

      scp openwrt-realtek-rtl931x-plasmacloud_esx28-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/

* start sysupgrade without saving the original vendor configuration

      sysupgrade -n /tmp/openwrt-realtek-rtl931x-plasmacloud_esx28-squashfs-sysupgrade.bin

Installation via u-boot
-----------------------

If you have an TFTP server connected to the switch, it is possible to
directly install the device using the factory image from u-boot

    # setup networking and IP of TFP server
    rtk network on
    setenv ipaddr 10.100.100.99
    setenv serverip 10.100.100.20

    # get factory image
    tftp 0x84000000 factory.bin

    # erase firmware partitions
    sf probe 0
    sf erase 0x5e0000 0x1a20000

    # write firmware to both partitions
    sf write ${fileaddr} 0x5e0000 ${filesize}
    sf write ${fileaddr} 0x12f0000 ${filesize}

    # adjust the boot commands
    setenv bootargs "mtdparts=spi0.0:768k(u-boot),64k(u-boot-env),64k(u-boot-env2),5120k(reserved),13376k(inactive),13376k(firmware2)"
    setenv bootcmd "rtk init; bootm 0xb52f0000"

    # restart
    reset

Debug
-----

* Connect serial on front panel. Connection parameters: 115200 8N1.
* A tftp server is required, tftpd-hpa works well.
* Power the device, at U-Boot start rapidly hit Esc key to stop autoboot
* Enter passwords: "1234" or "plasmapsx"
* Enable network:

      rtk network on

* Change ip address of device:

      setenv ipaddr 192.168.1.6

* Download initramfs from TFTP server:

      tftpboot 0x84000000 192.168.1.111:openwrt-realtek-rtl931x-plasmacloud_esx28-initramfs-kernel.bin

* Boot loaded file:

      bootm 0x84000000

Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-04 16:16:22 +02:00
..
airoha airoha: fix scuclk node for an7581 2025-09-29 12:05:10 +02:00
apm821xx apm821xx: sata: refresh config 2025-07-27 18:22:31 +02:00
armsr armsr: Make kernel modules depend on target 2025-07-26 01:11:21 +02:00
at91 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
ath79 ath79: replace various mtd_get_mac_text 2025-09-30 11:21:18 +02:00
bcm27xx kernel: bump 6.12 to 6.12.49 2025-09-27 12:37:38 +02:00
bcm47xx treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
bcm53xx kernel: bump 6.6 to 6.6.103 2025-09-01 02:05:24 +02:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-04-13 10:44:19 +02:00
bmips treewide: remove of_gpio.h 2025-09-20 12:47:23 +02:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
econet econet: Add basic USB support with Mass Storage 2025-09-18 22:36:28 +02:00
gemini gemini: Add module for VSC73xx switches 2025-09-15 23:12:56 +02:00
generic rockchip: backport driver updates for rk3576 2025-10-02 22:42:34 +02:00
imx kernel: bump 6.6 to 6.6.103 2025-09-01 02:05:24 +02:00
ipq40xx ipq40xx: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade 2025-09-29 17:34:51 +01:00
ipq806x treewide: fix compatible string for ath10k 2025-08-25 10:35:39 +02:00
ixp4xx ixp4xx: Add back Actiontec MI424WR A/C/D 2025-09-26 23:40:40 +02:00
kirkwood kirkwood: add kmod-ata-ahci as default to ix4-200d 2025-07-19 17:58:41 +02:00
lantiq lantiq: use new ADSL nvmem support 2025-09-23 23:24:33 +02:00
layerscape kernel: bump 6.12 to 6.12.43 2025-08-26 21:35:36 +02:00
loongarch64 loongarch64: switch to Linux 6.12 by default 2025-09-09 00:10:31 +02:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek: fix polarity of user button on openwrt-one 2025-10-02 09:54:32 +02:00
mpc85xx mpc85xx: tl-wdr4900: add back 5ghz LED 2025-08-13 09:57:05 +02:00
mvebu mvebu: use upstream DTS for Ctera C200-V2 2025-09-27 00:39:32 +02:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon octeon: set kernel 6.12 as default and remove support for 6.6 2025-09-27 20:45:50 +01:00
omap omap: enable 6.12 testing kernel 2025-08-22 20:18:16 +02:00
pistachio kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
qoriq kernel: Activate CONFIG_NET_SWITCHDEV in generic config 2025-03-15 13:54:59 +01:00
qualcommax qualcomax: dts: fix typo "disbled" 2025-09-23 21:52:06 +02:00
qualcommbe kernel: bump 6.12 to 6.12.45 2025-09-07 11:42:46 +02:00
ramips ramips: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade 2025-09-29 17:34:51 +01:00
realtek realtek: rtl931x: Add support for Plasma Cloud ESX28 Switch 2025-10-04 16:16:22 +02:00
rockchip rockchip: make use of OpenWrt compiled dtbs 2025-10-04 15:01:50 +02:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower treewide: remove of_gpio.h 2025-09-20 12:47:23 +02:00
starfive kernel: bump 6.12 to 6.12.48 2025-09-21 12:14:36 +02:00
stm32 generic: 6.12: add new config symbols 2025-07-13 15:27:54 +02:00
sunxi sunxi: enable at24 support 2025-09-08 22:35:39 +02:00
tegra tegra: add 6.12 as testing kernel 2025-07-13 00:49:37 +02:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86: config: add CONFIG_MITIGATION_VMSCAPE=y 2025-09-18 14:01:11 +02:00
zynq zynq: disable unused Vitesse PHY 2025-09-08 14:21:50 +02:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00