1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Jonas Jelonek 39b9b491bb realtek: add support for TP-Link TL-ST1008F v2.0
The TP-Link TL-ST1008F is an 8-port multi-gig switch with 8x SFP+ ports
which support 1G/2.5G/10G speeds. Out of the box it is an unmanaged
switch but with RTL9303 and sufficient RAM + Flash it easily can run as
a managed Linux switch.

Hardware:
 - Realtek RTL9303 Switch SoC
 - Winbond 25Q256JVFQ (32MB flash)
 - Samsung K4B4G1646E-BYMA (512MB DDR3 SDRAM)
 - TCA9534 GPIO extender to control the port LEDs
 - 8x SFP+ 1/2.5/10G slot
 - Serial: 3V3 logic, 115200 8N1
 - 5-pin JTAG
 - physical tri-state switch (used by stock firmware for port speed
   config)
 - 24-LED port speed matrix
 - robust full-metal case

Power is supplied via a 12V 2A standard barrel connector.
There are THT holes on the PCB for serial console next to the flash chip
and JTAG pads. Serial uses 3V3 logic and standard 115200-8N1 config.
Pinout is labeled on the PCB.

All ports/connectors and LEDs are on the back, only Power LED is on the
front.

Hints before flashing
----------------------

* It is recommended to backup the stock flash contents before proceeding.
  Backup can be done from U-Boot (with memory display), from OpenWrt
  initramfs or probably with SPI flash programmer.
  There is no stock recovery functionality.
* Use a small image for RAM boot or first flash. Since you need to use
  ymodem, this is really slow and takes time.
* This does not keep the dual-partition layout for firmware to have more
  space available for a single OpenWrt installation.

Initial flashing
----------------------

The stock U-boot has broken networking thus no TFTP available. Serial
transfer only.

1. Open device and connect serial as per layout and settings
   (recommended to use picocom, ymodem not working with minicom)
2. Connect power to device and press Esc when prompted to enter
   the U-Boot console.
3. Boot initramfs
  * in the U-Boot console:
      loady 0x82000000			(load OpenWrt image via ymodem)
      CTRL-A CTRL-S <initramfs.bin>	(specify initramfs image for
                                         picocom to upload)
      bootm 0x82000000			(boot initramfs from RAM)
(Just to be on the safe side, backup your flash now while RAM-booted)
4. Connect network to your device
5. Upload the sysupgrade image (e.g. with scp)
6. Do sysupgrade

There's no need to adjust the bootcmd in U-Boot. Networking is running
fine once the realtek driver initialized everything in OpenWrt. No
functional difference with running 'rtk network on' within U-Boot
before. Running this even fails and returns with an error.

Return to stock
------------------

This only works if you did a backup of the flash before flashing
OpenWrt. Stock dump then can be flashed from within U-Boot or OpenWrt.
There is no vendor firmware image because this is an unmanaged switch!

CAUTION: Make sure to not overwrite the U-Boot partition(s). If you do
	 not have a flash programmer, you may not be able to debrick
	 your device then.

Co-authored-by: Balázs Triszka <balika011@gmail.com>
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2025-06-16 13:30:52 +02:00
..
airoha kernel: bump 6.6 to 6.6.89 2025-05-03 19:57:53 +02:00
apm821xx apm821xx: replace kmod-usb3 with kmod-usb-xhci-pci-renesas 2025-05-17 20:14:27 +02:00
armsr kernel: bump 6.6 to 6.6.93 2025-06-06 10:01:31 +02:00
at91 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
ath79 kernel: bump 6.6 to 6.6.93 2025-06-06 10:01:31 +02:00
bcm27xx kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
bcm47xx treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
bcm53xx kernel: bump 6.6 to 6.6.90 2025-05-13 21:43:34 +02:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-04-13 10:44:19 +02:00
bmips bmips: bcm6358: add support for Huawei HG553 2025-06-12 12:38:31 +02:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
gemini gemini: Move back to using statically compiled PHYs 2025-06-03 23:05:15 +02:00
generic generic: 6.12: disable cont read for MX35LFxGE4AD 2025-06-13 11:15:08 +02:00
imx imx: add 6.12 kernel as testing 2025-06-07 08:38:07 +02:00
ipq40xx ipq40xx: config-6.6: add new option 2025-06-06 10:01:31 +02:00
ipq806x ipq806x: fix Extreme Networks AP3935 LAN/WAN ports 2025-06-11 18:42:54 +02:00
ixp4xx ixp4xx: Switch to kernel v6.12 2025-06-03 01:45:40 +02:00
kirkwood treewide: dts: trim "#size-cells" from "gpio-export" node 2025-05-18 19:35:00 +02:00
lantiq treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
layerscape kernel: bump 6.6 to 6.6.88 2025-05-03 19:57:53 +02:00
loongarch64 kernel: Add KERNEL_DCB (Data Center Bridging) 2025-03-09 17:05:26 +01:00
malta malta: 6.12: enable kernel for testing 2025-05-29 22:46:47 +02:00
mediatek mediatek: cleanup device tree for mt7988 devices 2025-06-13 11:15:08 +02:00
mpc85xx mpc85xx: fix function name 2025-06-11 18:39:55 +02:00
mvebu mvebu: armada37xx: add pending PXA I2C recovery fix 2025-05-20 20:54:48 +02:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon kernel: reorder kernel symbol configs 2025-05-29 23:05:02 +02:00
omap kernel: Activate CONFIG_NET_SWITCHDEV in generic config 2025-03-15 13:54:59 +01: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 qualcommax: ipq50xx: Add support for Xiaomi AX6000 2025-06-13 12:02:39 +02:00
qualcommbe kernel: bump 6.12 to 6.12.32 2025-06-05 21:11:28 +02:00
ramips ramips/mt7621: mark EEE as broken in devicetree 2025-06-11 15:38:25 +02:00
realtek realtek: add support for TP-Link TL-ST1008F v2.0 2025-06-16 13:30:52 +02:00
rockchip rockchip: add kernel 6.12 as testing kernel 2025-06-14 17:22:52 +02:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
starfive starfive: drop 6.6 support 2025-06-14 00:53:19 +02:00
stm32 stm32: add missing config option 2025-05-25 17:57:19 +02:00
sunxi sunxi: enable crypto offload engine 2025-05-30 15:39:00 +02:00
tegra kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
zynq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00