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> |
||
---|---|---|
.devcontainer/ci-env | ||
.github | ||
.vscode | ||
config | ||
include | ||
LICENSES | ||
package | ||
scripts | ||
target | ||
toolchain | ||
tools | ||
.gitattributes | ||
.gitignore | ||
BSDmakefile | ||
Config.in | ||
COPYING | ||
feeds.conf.default | ||
Makefile | ||
README.md | ||
rules.mk |
OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
Sunshine!
Download
Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to OpenWrt, try the Firmware Selector.
If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.
An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:
Development
To build your own firmware you need a GNU/Linux, BSD or macOS system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.
Requirements
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.7+ rsync subversion unzip which
Quickstart
-
Run
./scripts/feeds update -a
to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -a
to install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfig
to select your preferred configuration for the toolchain, target system & firmware packages. -
Run
make
to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
Related Repositories
The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called opkg
. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
-
LuCI Web Interface: Modern and modular interface to control the device via a web browser.
-
OpenWrt Packages: Community repository of ported packages.
-
OpenWrt Routing: Packages specifically focused on (mesh) routing.
-
OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).
Support Information
For a list of supported devices see the OpenWrt Hardware Database
Documentation
Support Community
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrt
on oftc.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on oftc.net.
License
OpenWrt is licensed under GPL-2.0