openwrt/target/linux/realtek/image/rtl838x.mk
Joe Holden 17003bb0c5
Some checks failed
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
realtek: add Zyxel GS1900-24 B1 device definition
The Zyxel GS1900-24 B1 is a 24 port switch with two SFP ports, it is
identical to the A1 except for doubling the ram.

Specifications
--------------
* Device:    Zyxel GS1900-24 B1
* SoC:       Realtek RTL8382M 500 MHz MIPS 4KEc
* Flash:     16 MiB
* RAM:       128 MiB DDR2 SDRAM
* Ethernet:  24x 10/100/1000 Mbps, 2x SFP 100/1000 Mbps
* LEDs:
  * 1 PWR LED (green, not configurable)
  * 1 SYS LED (green, configurable)
  * 24 ethernet port link/activity LEDs (green, SoC controlled)
  * 2 SFP status/activity LEDs (green, SoC controlled)
* Buttons:
  * 1 "RESET" button on front panel (soft reset)
  * 1 button ('SW1') behind right hex grate (hardwired power-off)
* Power:     120-240V AC C13
* UART:      Internal populated 10-pin header ('J5') providing RS232;
             connected to SoC UART through a SIPEX 3232EC for voltage
             level shifting.

* 'J5' RS232 Pinout (dot as pin 1):
  2) SoC RXD
  3) GND
  10) SoC TXD

Serial connection parameters: 115200 8N1.

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

OEM upgrade method:

* Log in to OEM management web interface

* Navigate to Maintenance > Firmware > Management

* If "Active Image" has the first option selected, OpenWrt will need to be
  flashed to the "Active" partition. If the second option is selected,
  OpenWrt will need to be flashed to the "Backup" partition.

* Navigate to Maintenance > Firmware > Upload

* Upload the openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-initramfs-kernel.bin
  file by your preferred method to the previously determined partition.
  When prompted, select to boot from the newly flashed image, and reboot
  the switch.

* Once OpenWrt has booted, scp the sysupgrade image to /tmp and flash it:

  > sysupgrade /tmp/openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-squashfs-sysupgrade.bin

U-Boot TFTP method:

* Configure your client with a static 192.168.1.x IP (e.g. 192.168.1.10).

* Set up a TFTP server on your client and make it serve the initramfs
  image.

* Connect serial, power up the switch, interrupt U-boot by hitting the
  space bar, and enable the network:

  > rtk network on

> Since the GS1900-24 B1 is a dual-partition device, you want to keep the
  OEM firmware on the backup partition for the time being. OpenWrt can
  only be installed in the first partition anyway (hardcoded in the
  DTS). To ensure we are set to boot from the first partition, issue the
  following commands:

  > setsys bootpartition 0
  > savesys

* Download the image onto the device and boot from it:

  > tftpboot 0x81f00000 192.168.1.10:openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-initramfs-kernel.bin
  > bootm

* Once OpenWrt has booted, scp the sysupgrade image to /tmp and flash it:

  > sysupgrade /tmp/openwrt-realtek-rtl838x-zyxel_gs1900-24-b1-squashfs-sysupgrade.bin

Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Joe Holden <jwh@zorins.us>
Add memory size and adapt supported device.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21595
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-27 01:34:21 +01:00

471 lines
11 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
include ./common.mk
define Device/allnet_all-sg8208m
SOC := rtl8382
IMAGE_SIZE := 7168k
DEVICE_VENDOR := ALLNET
DEVICE_MODEL := ALL-SG8208M
UIMAGE_MAGIC := 0x00000006
UIMAGE_NAME := 2.2.2.0
endef
TARGET_DEVICES += allnet_all-sg8208m
define Device/apresia_aplgs120gtss
$(Device/cameo-fw)
SOC := rtl8382
IMAGE_SIZE := 14848k
DEVICE_VENDOR := APRESIA
DEVICE_MODEL := ApresiaLightGS120GT-SS
UIMAGE_MAGIC := 0x12345000
CAMEO_KERNEL_PART_SIZE := 1572864
CAMEO_KERNEL_PART := 3
CAMEO_ROOTFS_PART := 4
CAMEO_CUSTOMER_SIGNATURE := 2
CAMEO_BOARD_MODEL := APLGS120GTSS
CAMEO_BOARD_VERSION := 4
endef
TARGET_DEVICES += apresia_aplgs120gtss
define Device/d-link_dgs-1210-10mp-f
$(Device/d-link_dgs-1210)
SOC := rtl8380
DEVICE_MODEL := DGS-1210-10MP
DEVICE_VARIANT := F
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += d-link_dgs-1210-10mp-f
define Device/d-link_dgs-1210-10p
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-10P
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += d-link_dgs-1210-10p
define Device/d-link_dgs-1210-16
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-16
endef
TARGET_DEVICES += d-link_dgs-1210-16
define Device/d-link_dgs-1210-20
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-20
endef
TARGET_DEVICES += d-link_dgs-1210-20
define Device/d-link_dgs-1210-26
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-26
endef
TARGET_DEVICES += d-link_dgs-1210-26
define Device/d-link_dgs-1210-28
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-28
endef
TARGET_DEVICES += d-link_dgs-1210-28
define Device/d-link_dgs-1210-28mp-f
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-28MP
DEVICE_VARIANT := F
DEVICE_PACKAGES += realtek-poe kmod-hwmon-lm63
endef
TARGET_DEVICES += d-link_dgs-1210-28mp-f
define Device/d-link_dgs-1210-28p-f
$(Device/d-link_dgs-1210)
SOC := rtl8382
DEVICE_MODEL := DGS-1210-28P
DEVICE_VARIANT := F
DEVICE_PACKAGES += realtek-poe kmod-hwmon-lm63
endef
TARGET_DEVICES += d-link_dgs-1210-28p-f
define Device/engenius_ews2910p-v1
$(Device/engenius_ews2910p)
SOC := rtl8380
DEVICE_MODEL := EWS2910P
DEVICE_VARIANT := v1
DEVICE_PACKAGES += realtek-poe
UIMAGE_MAGIC := 0x03802910
SUPPORTED_DEVICES += engenius,ews2910p
endef
TARGET_DEVICES += engenius_ews2910p-v1
define Device/engenius_ews2910p-v3
$(Device/engenius_ews2910p)
SOC := rtl8380
DEVICE_MODEL := EWS2910P
DEVICE_VARIANT := v3
UIMAGE_MAGIC := 0x03010500
endef
TARGET_DEVICES += engenius_ews2910p-v3
define Device/hpe_1920-8g
$(Device/hpe_1920)
SOC := rtl8380
DEVICE_MODEL := 1920-8G (JG920A)
H3C_DEVICE_ID := 0x00010023
endef
TARGET_DEVICES += hpe_1920-8g
define Device/hpe_1920-8g-poe-65w
$(Device/hpe_1920)
SOC := rtl8380
DEVICE_MODEL := 1920-8G-PoE+ 65W (JG921A)
DEVICE_PACKAGES += realtek-poe
H3C_DEVICE_ID := 0x00010024
endef
TARGET_DEVICES += hpe_1920-8g-poe-65w
define Device/hpe_1920-8g-poe-180w
$(Device/hpe_1920)
$(Device/hwmon-fan-migration)
SOC := rtl8380
DEVICE_MODEL := 1920-8G-PoE+ 180W (JG922A)
DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
H3C_DEVICE_ID := 0x00010025
SUPPORTED_DEVICES += hpe,1920-8g-poe
endef
TARGET_DEVICES += hpe_1920-8g-poe-180w
define Device/hpe_1920-16g
$(Device/hpe_1920)
SOC := rtl8382
DEVICE_MODEL := 1920-16G (JG923A)
H3C_DEVICE_ID := 0x00010026
endef
TARGET_DEVICES += hpe_1920-16g
define Device/hpe_1920-24g
$(Device/hpe_1920)
SOC := rtl8382
DEVICE_MODEL := 1920-24G (JG924A)
H3C_DEVICE_ID := 0x00010027
endef
TARGET_DEVICES += hpe_1920-24g
define Device/hpe_1920-24g-poe-180w
$(Device/hpe_1920)
$(Device/hwmon-fan-migration)
SOC := rtl8382
DEVICE_MODEL := 1920-24G-PoE+ 180W (JG925A)
DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
H3C_DEVICE_ID := 0x00010028
endef
TARGET_DEVICES += hpe_1920-24g-poe-180w
define Device/hpe_1920-24g-poe-370w
$(Device/hpe_1920)
$(Device/hwmon-fan-migration)
SOC := rtl8382
DEVICE_MODEL := 1920-24G-PoE+ 370W (JG926A)
DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
H3C_DEVICE_ID := 0x00010029
endef
TARGET_DEVICES += hpe_1920-24g-poe-370w
define Device/inaba_aml2-17gp
SOC := rtl8382
IMAGE_SIZE := 13504k
DEVICE_VENDOR := INABA
DEVICE_MODEL := Abaniact AML2-17GP
UIMAGE_MAGIC := 0x83800000
endef
TARGET_DEVICES += inaba_aml2-17gp
define Device/iodata_bsh-g24mb
SOC := rtl8382
IMAGE_SIZE := 13696k
DEVICE_VENDOR := I-O DATA
DEVICE_MODEL := BSH-G24MB
UIMAGE_MAGIC := 0x83800013
endef
TARGET_DEVICES += iodata_bsh-g24mb
define Device/linksys_lgs310c
$(Device/uimage-rt-loader)
SOC := rtl8380
IMAGE_SIZE := 13504k
DEVICE_VENDOR := Linksys
DEVICE_MODEL := LGS310C
BELKIN_MODEL := BKS-RTL83xx
BELKIN_HEADER := 0x07800001
LINKSYS_MODEL := 60402060
IMAGES += factory.imag
IMAGE/factory.imag := \
append-kernel | \
pad-to 64k | \
append-rootfs | \
pad-rootfs | \
check-size | \
append-metadata | \
linksys-image | \
belkin-header
endef
TARGET_DEVICES += linksys_lgs310c
# "NGE" refers to the uImage magic
define Device/netgear_nge
$(Device/uimage-rt-loader)
SOC := rtl8380
IMAGE_SIZE := 14848k
UIMAGE_MAGIC := 0x4e474520
UIMAGE_NAME := 9.9.9.9
DEVICE_VENDOR := NETGEAR
endef
# "NGG" refers to the uImage magic
define Device/netgear_ngg
KERNEL := \
kernel-bin | \
append-dtb | \
lzma | \
uImage lzma
KERNEL_INITRAMFS := \
kernel-bin | \
append-dtb | \
lzma | \
uImage lzma
SOC := rtl8380
IMAGE_SIZE := 14848k
UIMAGE_MAGIC := 0x4e474720
DEVICE_VENDOR := NETGEAR
endef
define Device/netgear_gs108t-v3
$(Device/netgear_nge)
DEVICE_MODEL := GS108T
DEVICE_VARIANT := v3
endef
TARGET_DEVICES += netgear_gs108t-v3
define Device/netgear_gs110tpp-v1
$(Device/netgear_nge)
DEVICE_MODEL := GS110TPP
DEVICE_VARIANT := v1
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += netgear_gs110tpp-v1
define Device/netgear_gs110tup-v1
$(Device/netgear_ngg)
DEVICE_MODEL := GS110TUP
DEVICE_VARIANT := v1
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += netgear_gs110tup-v1
define Device/netgear_gs308t-v1
$(Device/netgear_nge)
DEVICE_MODEL := GS308T
DEVICE_VARIANT := v1
UIMAGE_MAGIC := 0x4e474335
endef
TARGET_DEVICES += netgear_gs308t-v1
define Device/netgear_gs310tp-v1
$(Device/netgear_nge)
DEVICE_MODEL := GS310TP
DEVICE_VARIANT := v1
UIMAGE_MAGIC := 0x4e474335
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += netgear_gs310tp-v1
define Device/panasonic_m16eg-pn28160k
SOC := rtl8382
IMAGE_SIZE := 16384k
DEVICE_VENDOR := Panasonic
DEVICE_MODEL := Switch-M16eG
DEVICE_VARIANT := PN28160K
DEVICE_PACKAGES := kmod-i2c-mux-pca954x
endef
TARGET_DEVICES += panasonic_m16eg-pn28160k
define Device/panasonic_m24eg-pn28240k
SOC := rtl8382
IMAGE_SIZE := 16384k
DEVICE_VENDOR := Panasonic
DEVICE_MODEL := Switch-M24eG
DEVICE_VARIANT := PN28240K
DEVICE_PACKAGES := kmod-i2c-mux-pca954x
endef
TARGET_DEVICES += panasonic_m24eg-pn28240k
define Device/panasonic_m8eg-pn28080k
SOC := rtl8380
IMAGE_SIZE := 16384k
DEVICE_VENDOR := Panasonic
DEVICE_MODEL := Switch-M8eG
DEVICE_VARIANT := PN28080K
DEVICE_PACKAGES := kmod-i2c-mux-pca954x
endef
TARGET_DEVICES += panasonic_m8eg-pn28080k
define Device/tplink_sg2008p-v1
SOC := rtl8380
KERNEL_SIZE := 6m
IMAGE_SIZE := 26m
DEVICE_VENDOR := TP-Link
DEVICE_MODEL := SG2008P
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-hwmon-tps23861
endef
TARGET_DEVICES += tplink_sg2008p-v1
define Device/tplink_sg2210p-v3
SOC := rtl8380
KERNEL_SIZE := 6m
IMAGE_SIZE := 26m
DEVICE_VENDOR := TP-Link
DEVICE_MODEL := SG2210P
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-hwmon-tps23861
endef
TARGET_DEVICES += tplink_sg2210p-v3
define Device/tplink_t1600g-28ts-v3
SOC := rtl8382
KERNEL_SIZE := 6m
IMAGE_SIZE := 26m
DEVICE_VENDOR := TP-Link
DEVICE_MODEL := T1600G-28TS
DEVICE_VARIANT := v3
endef
TARGET_DEVICES += tplink_t1600g-28ts-v3
define Device/zyxel_gs1900-10hp-a1
$(Device/zyxel_gs1900)
SOC := rtl8380
DEVICE_MODEL := GS1900-10HP
DEVICE_VARIANT := A1
ZYXEL_VERS := AAZI
DEVICE_PACKAGES += realtek-poe
SUPPORTED_DEVICES += zyxel,gs1900-10hp
endef
TARGET_DEVICES += zyxel_gs1900-10hp-a1
define Device/zyxel_gs1900-16-a1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-16
DEVICE_VARIANT := A1
ZYXEL_VERS := AAHJ
SUPPORTED_DEVICES += zyxel,gs1900-16
endef
TARGET_DEVICES += zyxel_gs1900-16-a1
define Device/zyxel_gs1900-8-a1
$(Device/zyxel_gs1900)
SOC := rtl8380
DEVICE_MODEL := GS1900-8
DEVICE_VARIANT := A1
ZYXEL_VERS := AAHH
SUPPORTED_DEVICES += zyxel,gs1900-8 zyxel,gs1900-8-v1
endef
TARGET_DEVICES += zyxel_gs1900-8-a1
define Device/zyxel_gs1900-8-b1
$(Device/zyxel_gs1900)
SOC := rtl8380
DEVICE_MODEL := GS1900-8
DEVICE_VARIANT := B1
ZYXEL_VERS := AAHH
SUPPORTED_DEVICES += zyxel,gs1900-8 zyxel,gs1900-8-v2
endef
TARGET_DEVICES += zyxel_gs1900-8-b1
define Device/zyxel_gs1900-8hp-a1
$(Device/zyxel_gs1900)
SOC := rtl8380
DEVICE_MODEL := GS1900-8HP
DEVICE_VARIANT := A1
ZYXEL_VERS := AAHI
SUPPORTED_DEVICES += zyxel,gs1900-8hp-v1
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += zyxel_gs1900-8hp-a1
define Device/zyxel_gs1900-8hp-b1
$(Device/zyxel_gs1900)
SOC := rtl8380
DEVICE_MODEL := GS1900-8HP
DEVICE_VARIANT := B1
ZYXEL_VERS := AAHI
SUPPORTED_DEVICES += zyxel,gs1900-8hp-v2
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += zyxel_gs1900-8hp-b1
define Device/zyxel_gs1900-24-a1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-24
DEVICE_VARIANT := A1
ZYXEL_VERS := AAHL
SUPPORTED_DEVICES += zyxel,gs1900-24-v1
endef
TARGET_DEVICES += zyxel_gs1900-24-a1
define Device/zyxel_gs1900-24-b1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-24
DEVICE_VARIANT := B1
ZYXEL_VERS := AAHL
endef
TARGET_DEVICES += zyxel_gs1900-24-b1
define Device/zyxel_gs1900-24e-a1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-24E
DEVICE_VARIANT := A1
ZYXEL_VERS := AAHK
SUPPORTED_DEVICES += zyxel,gs1900-24e
endef
TARGET_DEVICES += zyxel_gs1900-24e-a1
define Device/zyxel_gs1900-24ep-a1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-24EP
DEVICE_VARIANT := A1
ZYXEL_VERS := ABTO
SUPPORTED_DEVICES += zyxel,gs1900-24ep
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += zyxel_gs1900-24ep-a1
define Device/zyxel_gs1900-24hp-a1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-24HP
DEVICE_VARIANT := A1
ZYXEL_VERS := AAHM
SUPPORTED_DEVICES += zyxel,gs1900-24hp-v1
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += zyxel_gs1900-24hp-a1
define Device/zyxel_gs1900-24hp-b1
$(Device/zyxel_gs1900)
SOC := rtl8382
DEVICE_MODEL := GS1900-24HP
DEVICE_VARIANT := B1
ZYXEL_VERS := ABTP
SUPPORTED_DEVICES += zyxel,gs1900-24hp-v2
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += zyxel_gs1900-24hp-b1