NicGiga S100-0800S-M

model : S100-0800S-M brand : NicGiga availability : 2026 supportedcurrentrel : SNAPSHOT target : realtek/rtl930x subtarget : rtl930x cpu : Realtek RTL9303 cpucores : 1 flashmb : 32 flash_chip_type : SPI-NOR rammb : 512 ram_chip_type : DDR3 switch : RTL9303 (integrated) ethernet_gbit_ports_ : 0 sfpplus_ports_ : 8 serial : Yes serial_cons : Yes serial_volt : 3.3 serial_baud : 115200 serial_pinout : RJ45 front-panel console, Cisco-style pinout bootloader : U-Boot oemdevicehomepage : https://www.nicgiga.com/products/s100-0800s-m installationmethod : tftp, sysupgrade

The NicGiga S100-0800S-M is an 8-port 10G SFP+ managed switch built on the Realtek RTL9303 reference design (vendor U-Boot board model RTL9303_8XGE). It is closely related to the TP-Link TL-ST1008F v2 and the DTS is derived from it. Support was added in OpenWrt main on 2026-06-17. Discussion, flashing help and reports: OpenWrt forum thread.

  • Unlike the TL-ST1008F v2, this board exposes no software-readable MOD_ABS

GPIO for the SFP cages; module presence and hot-plug are detected by polling

  the SFP EEPROM over I2C. This relies on kernel commit ''8ac44d24c3a1''
  ("net: phy: sfp: detect presence via I2C when no MOD_DEF0 GPIO"), present in
  OpenWrt snapshots via the rtl930x SFP backport.
* One green LED per SFP cage, lit on link + activity at any speed.
* MAC addresses are read from the vendor U-Boot ''ethaddr'' env variable
  (base on the SoC ethernet controller, incrementing per-port offset per cage).

32 MiB NOR flash. A serial console (front-panel RJ45, 115200 8N1) is required. RAM-boot the initramfs image via TFTP from U-Boot as a non-destructive trial, back up the OEM firmware, validate operation, then sysupgrade to flash permanently.

Placeholders below — substitute your own: <TFTP_SERVER> (TFTP server IP), <DEVICE_IP> (switch IP during flashing), <BACKUP_HOST> (where OEM backups are copied), <LOAD_ADDR> (RAM load address your U-Boot uses for TFTP), <MGMT_IP> / <GATEWAY> / <DNS> (post-flash management settings).

RAM-boot the OpenWrt initramfs (step 2 — writes nothing to flash), then dump each MTD partition and copy it off the device:

cat /proc/mtd                       # confirm partition numbering first
for i in $(seq 0 5); do dd if=/dev/mtd$i of=/tmp/oem-mtd$i.bin; done
scp /tmp/oem-mtd*.bin user@<BACKUP_HOST>:/path/to/backups/

Keep the firmware partition (vendor OS) and u-boot especially — together they let you restore stock later.

Place openwrt-realtek-rtl930x-nicgiga_s100-0800s-m-initramfs-kernel.bin on your TFTP server. Interrupt U-Boot on the console and load it into RAM:

setenv ipaddr <DEVICE_IP>
setenv serverip <TFTP_SERVER>
tftpboot <LOAD_ADDR> openwrt-realtek-rtl930x-nicgiga_s100-0800s-m-initramfs-kernel.bin
bootm <LOAD_ADDR>

<LOAD_ADDR> is a RAM address, not an IP — use the one your U-Boot uses for TFTP loads (e.g. 0x84f00000 on Realtek rtl930x builds; check your boot log or printenv if unsure). Env-var names may also vary between U-Boot builds.

Verify ports link, SFP modules detect, hot-plug works, MACs and LEDs are correct, and dmesg shows no EIO spam on empty cages.

cd /tmp
sysupgrade -n openwrt-realtek-rtl930x-nicgiga_s100-0800s-m-squashfs-sysupgrade.bin

The device reboots into OpenWrt on NOR.

Default OpenWrt management is 192.168.1.1 (no password on first boot). Either set your computer to the 192.168.1.0/24 subnet and SSH to root@192.168.1.1 (or use LuCI), or — handy if you're remote — stay on the serial console you used for flashing, log in as root, and set the switch onto your existing network directly:

uci set network.lan.ipaddr='<MGMT_IP>'
uci set network.lan.netmask='255.255.255.0'
uci set network.lan.gateway='<GATEWAY>'
uci set network.lan.dns='<DNS>'
uci commit network
service network restart

Set a root password (passwd) and configure your VLANs from there — the -n flash starts from defaults, so nothing from the initramfs trial carries over.

Name Offset Size Notes
u-boot 0x000000 0xe0000 read-only
u-boot-env 0x0e0000 0x10000 ethaddr (nvmem)
u-boot-env2 0x0f0000 0x10000 read-only
jffs2-cfg 0x100000 0x100000
jffs2-log 0x200000 0x100000
firmware 0x300000 0x1d00000 kernel + rootfs
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2026/06/19 18:41
  • by gregspatrick