openwrt/target/linux/realtek/image/rtl839x.mk
Davide Fioravanti ea42a04161 realtek: add support for Netgear GS750E
This is an RTL8393-based switch with 48 RJ-45 and 2 SFP ports.

Hardware
--------
SoC:	Realtek RTL8393M
RAM:	128MB DDR3 (Nanya NT5CC64M16GP-DI)
FLASH:	8MB NOR (Macronix MX25L6433F)
ETH:	48x 10/100/1000 Mbps RJ-45 Ethernet
SFP:	2x SFP
BTN:
  - 1x	Reset button
LEDS:
  - 50x	Green-Amber leds: lan/sfp status
  - 1x	Green led: power (Always on)
UART:
  - 115200-8-N-1 (CN3, pin-out on PCB)

Everything works correctly except for the 2 SFP ports that are not
working unless you enable it every boot in U-Boot with the command:
	rtk network on

Installation
------------
You can install Openwrt using one of the following methods.

Warning: flashing OpenWrt will delete your current configuration.
Warning 2: if the -factory.bix file is not available anymore, you must
follow Method 2.

Method 1:
Check the firmware version currently running on your switch. If you are
running FW V1.0.1.10 or greater, you have to download the firmware
V1.0.1.8 from Netgear website and then flash this version. When the
switch restarts, it should be on version V1.0.1.8. Now you can get the
OpenWrt -factory.bix file and then flash it using the OEM web interface.

Method 2 (requires the UART connection):
Boot the -initramfs-kernel.bin image from U-Boot with these commands:
	rtk network on;
	tftpboot 0x8f000000 openwrt-realtek-rtl839x-netgear_gs750e-initramfs-kernel.bin;
	bootm;
And then flash the -sysupgrade.bin file from OpenWrt.

Revert to stock
---------------
Get the stock firmware from the Netgear website and flash it using the
OpenWrt web interface. Remember to not keep the current configuration
and check the "Force upgrade" checkbox

Once reverted to stock the firmware could complain in the UART console
about mtdblock3 and/or mtdblock4 not being mounted correctly but it
seems to work anyway without any problems. Sample error:
	mount: Mounting /dev/mtdblock4 on /mntlog failed: Input/output error

If you want to get rid of these error messages you can boot the
-initramfs-kernel.bin image from U-Boot with these commands:
	rtk network on;
	tftpboot 0x8f000000 openwrt-realtek-rtl839x-netgear_gs750e-initramfs-kernel.bin;
	bootm;

And then erase the corresponding partitions using the command:
	For mtdblock3:
		mtd erase jffs2_cfg
	For mtdblock4:
		mtd erase jffs2_log

Now you can reboot the switch and the errors should be gone

Note
----
To get the SFP ports fully working, all the right GPIOs must be found.
In the GPL sources I found these:
 - GPIO_14: SFP_TX_DIS1;
 - GPIO_19: SFP_TX_DIS0;

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
2023-01-13 22:28:36 +01:00

66 lines
1.5 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
include ./common.mk
define Device/d-link_dgs-1210-52
$(Device/d-link_dgs-1210)
SOC := rtl8393
DEVICE_MODEL := DGS-1210-52
endef
TARGET_DEVICES += d-link_dgs-1210-52
# When the factory image won't fit anymore, it can be removed.
# New installation will be performed booting the initramfs image from
# ram and then flashing the sysupgrade image from OpenWrt
define Device/netgear_gs750e
SOC := rtl8393
IMAGE_SIZE := 7552k
FACTORY_SIZE := 6528k
DEVICE_VENDOR := NETGEAR
DEVICE_MODEL := GS750E
UIMAGE_MAGIC := 0x174e4741
IMAGES += factory.bix
IMAGE/factory.bix := \
append-kernel | \
pad-to 64k | \
append-rootfs | \
pad-rootfs | \
check-size $$$$(FACTORY_SIZE)
endef
TARGET_DEVICES += netgear_gs750e
define Device/panasonic_m48eg-pn28480k
SOC := rtl8393
IMAGE_SIZE := 16384k
DEVICE_VENDOR := Panasonic
DEVICE_MODEL := Switch-M48eG
DEVICE_VARIANT := PN28480K
DEVICE_PACKAGES := \
kmod-hwmon-gpiofan \
kmod-hwmon-lm75 \
kmod-i2c-mux-pca954x \
kmod-thermal
endef
TARGET_DEVICES += panasonic_m48eg-pn28480k
define Device/tplink_sg2452p-v4
SOC := rtl8393
KERNEL_SIZE := 6m
IMAGE_SIZE := 26m
DEVICE_VENDOR := TP-Link
DEVICE_MODEL := SG2452P
DEVICE_VARIANT := v4
DEVICE_PACKAGES := \
kmod-hwmon-gpiofan \
kmod-hwmon-tps23861
endef
TARGET_DEVICES += tplink_sg2452p-v4
define Device/zyxel_gs1900-48
$(Device/zyxel_gs1900)
SOC := rtl8393
DEVICE_MODEL := GS1900-48
ZYXEL_VERS := AAHN
endef
TARGET_DEVICES += zyxel_gs1900-48