From ede41371019a036af0860302af1c03739de29581 Mon Sep 17 00:00:00 2001 From: dobodu Date: Fri, 8 May 2026 08:32:07 +0200 Subject: [PATCH] Revise compiling section and add cautionary notes since #193 (#211) * Revise compiling section and add cautionary notes Updated compiling instructions and added warnings about flashing procedures. * Refactor caution messages in README.md Updated caution messages to use new formatting for emphasis. * Revise caution and reminder notes in README Updated caution and reminder sections for clarity and consistency. * Fix typos in README regarding firmware update Corrected typo errors in the README. * Add image for advanced settings Add advanced_seetings.png * Add advanced settings configuration details to README Added advanced settings section with configuration instructions. * Fix image source in README for advanced settings Corrected the image source filename for advanced settings. * Revise IP and port command descriptions in README Updated command descriptions in README for clarity. * Revise README.md for clarity and updated instructions Updated sections in README.md for clarity and accuracy, including compiling requirements, installation instructions, and cautionary notes. * Revise README for clarity and emphasis Updated formatting and emphasized important notes in the README. * Correct image file name and compilation output in README Updated README to reflect changes in image file names and compilation output. --- README.md | 187 ++++++++++++++++++++++--------- doc/images/advanced_settings.png | Bin 0 -> 65303 bytes 2 files changed, 133 insertions(+), 54 deletions(-) create mode 100644 doc/images/advanced_settings.png diff --git a/README.md b/README.md index 02fe198..a1d11bf 100644 --- a/README.md +++ b/README.md @@ -52,88 +52,145 @@ devices by looking at the image using e.g. Ghidra. If you want to contribute to design of the web-interface or get a feeling for the interface first, a standalone device simulator is provided, which runs entirely under Linux as a local webserver. -## Compiling +## (0) Compiling Requirements + Install the following particular build requisites (Debian 12/13), note that Ubuntu 24.04 still has an older version of sdcc, but you will need sdcc version 4.5 for the code to compile: ``` sudo apt install make gcc sdcc xxd python-is-python3 libjson-c-dev ``` + +## (1) Compiling for direct chip flashing AND upgrading an existing RTLPlayground running device + Edit machine.h with an editor like vi or nano. Select the correct machine the firmware should build for. + +> [!TIP] +> You can write configuration parameters in config.txt (see below) in order your switch to get +> straight at the first boot, a correct IP configuration. + Now, building the firmware image should work: ``` make ``` -Note, that the image generated ends in .bin, not .img, in order to make -IMSProg happy. +Note, that the image generated ends in .bin, not .img, in order to make IMSProg happy. + +image location is stored in `RTLPlayground/output/rtlplayground_version_machine.bin` +for example +``` +rtlplayground-v0.1.0-12c98ba-dirty-LIANGUO_ZX_SWTGW215AS.bin +``` + +> [!CAUTION] +> This image can be flashed directly to the chip OR through the firmware update/upgrade +> interface of RTLPlaygound interface + +## (2) Compiling for OEM running device with management options (web upgrade) + +Managed switches can be updated from the existing original firmware using a SPECIFIC upgrade image. +You first need to build the firmware for direct chip flashing : See below (1) + +Then + +``` +cd installer +make +``` +image location is stored in `RTLPlayground/installer/output/rtlplayground_oem_upgrade.bin` + +> [!CAUTION] +> This image must ONLY be used for original OEM firmware web interface firmware upgrade. +> You do not need this image if you are already on RTLplayground firmware. +> Unless you go back to the original OEM firmware, you would only flash this specific firmware +> only once. Future upgrades of RTLPlayground will only need to follow (1) + +example of compilation console output -Managed switches can be updated from the existing original firmware using an upgrade image. -In the `installer`folder of the source code you will need to run `make` which will build -an image out of `rtlplayground.bin` built in the previous step: ``` RTLPlayground/installer$ make -mkdir -p output/ +mkdir -p output gcc updatebuilder.c -o output/updatebuilder sdas8051 -plosgff -o output/crtstart.rel crtstart.asm sdcc -mmcs51 --code-loc 0x1000 -o output/installer.rel -c installer.c sdcc -mmcs51 -Wl-bHOME=0x1100 -Wl-r -o output/rtlinstaller.ihx output/crtstart.rel output/installer.rel -cp ../output//rtlplayground.bin output/ -./output//updatebuilder -i output/rtlinstaller.ihx output/rtlplayground.bin +./output/updatebuilder -i output/rtlinstaller.ihx -o output/rtlplayground_oem_upgrade.bin ../output/rtlplayground.bin Input file size: 524288 Bytes read: 524288 EOF -Payload sum 1 is: 0x29d10 -Payload sum 2 is: 0x29d10 -Payload sum with header is: 0x2b0fc -Payload sum is: 0xad8a75 -Header checksum is: 0x4c3 +Payload sum 1 is: 0x25100 +Payload sum 2 is: 0x25100 +Payload sum with header is: 0x264ec +Payload sum is: 0xf8fe94 +Header checksum is: 0x5a1 ``` -The resulting image can be found in `RTLPlayground/installer/output/rtlplayground.bin` -> [!CAUTION] -> DO NOT UPLOAD THE UPGADE IMAGE UNLESS YOU CAN MAKE A BACKUP USING A SOIC CLAMP OF THE -> ORIGINAL FIRMWARE! -## Installation +## (3) Sandbox Usage with Ghidra (optional) + You can play with the image using ghidra or flash real Switch Hardware. For ghidra see this information about [Ghidra images](ghidra.md). +## (4) Installation through the Web interface (software way) + +Managed switches (OEM firmware of RTLplaygroud firmware) can be upgraded via the web interface. +Unmanaged switch cannot be flashed this way (see 5). + +Go to "Firmware update" tab, select the correct file. + +> [!IMPORTANT] +> If your device already runs RTLPlayground, you must upload the binary file /RTLPlayground/output/rtlplayground_Version_Machine.bin +> If your device is OEM, you must upload the binary file /RTLPlayground/installer/outputrtlplayground_oem_upgrade.bin + > [!CAUTION] -> NOTE THAT WHILE THIS PROCEDURE HAS BEEN SUCCESSFULLY TESTED ON ALL DEVICES ABOVE, -> ABSOLUTELY NO GUARANTY CAN BE GIVEN THAT YOU WILL NOT DESTROY YOUR SWITCH, -> ANY OTHER EQUIPMENT INVOLVED OR HARM YOURSELF BY OPENING THE ELECTRONIC -> DEVICE. OPENING THE SWITCH WILL VOID ITS WARRANTY. +> Check one more time that your device matches the machine type before flashing. +> Be shure you have a backup of the original firmware before diving in RTLPlaygroung. -You can upload the upgrade image of managed switches via the web interface of the -original firmware just as if you were installing a firmware upgrade. However, -this is strongly discouraged, as you may brick your device, unless you can make -firmware backups via a SOIC clamp or soldered flash socket, first! +Finally, push the Upload File Button and you're done ! -For unmanaged devices, the only way to install RTLPlayground is by flashing the -Flash memory directly. -You will need to open your switch to flash the image directly onto the flash chip, -which is done easiest using a SOIC-8 clip (alternatively you de-solder the -flash chip and install a SOIC adapter): -- Disconnect power from switch -- Attach the clip onto the flash chip -- Connect USB of flash programmer, the power LED on the switch will light - up, check cabling if not. Don't panic, mixing up GND and 3.3V does not - seem to destroy the switch (at leasts the on I did this to). -- Use IMSProg (flashrom should work, too) to detect the clip -- MAKE A BACKUP OF THE EXISTING FIRMWARE! -- then load the firmware into IMSProg -- and program flash +## (5) Flashing the ROM directly (hardware way, but also only way to rescue) -Now you can connect a serial cable to the UART port found on all the -devices, set 8N1 @ 115200 baud and power up the switch. +This procedure is the only way to flash unmanaged switches, if the ROM chip is large enough. +This is also the only way to unbrick your device if something went wroong. -The device will perform some examples and provide a minimal console, the -documentation of which can be found in the source code rtlplayground.c`. +> [!IMPORTANT] +> You need a SOIC-8 clip to flash the ROM chip directly onboard. +> Alternatively you can de-solder the flash chip and install a SOIC adapter). +> For flashing the chip directly, you must use the binary file /RTLPlayground/output/rtlplayground_Version_Machine.bin -## The web-interface -The web-interface can be reached under the [default 192.168.10.247](http://192.168.10.247). -The default password is `1234`. +> [!CAUTION] +> As you need to open your switch case, consider that the warranty is gone. + +- Disconnect power from switch. +- Open the switch. +- Attach the clip onto the flash chip (Red line on Pin 1, Pin 1 has a point marker). +- Connect USB of flash programmer, the power LED on the switch will light up, check cabling if not. +- Don't panic, mixing up GND and 3.3V usually does not destroy the switch. +- Use IMSProg, Flashrom, or whatever Programmer to detect the chip. +- MAKE A BACKUP (DUMP) OF THE EXISTING FIRMWARE ! +- ERASE THE ROM (BLANK) ! +- Load the firmware into IMSProg. +- Flash is to the ROM chip. +- Disconect the clip from the ROM chip. +- You're done, ready for the first boot. + +## (6) Connecting a serial interface (optional) + +You can connect a serial cable to the UART port found on all the devices, set 8N1 @ 115200 baud. + +## (7) Power Up + +When you power up the switch, the device will perform some examples and provide a minimal console +(if wired to a serial interface), the documentation of which can be found in the source code rtlplayground.c`. + +## (8) The web-interface + +The web-interface can be reached under the [default 192.168.10.247](http://192.168.10.247) unless you +specified an IP adress in the config.txt before compilation. + +> [!TIP] +> The default password is `1234`. + +## (9) The command line -## The command line The command line is very rudimentary and mostly for testing purposes. The following is a boot-log with some examples: ``` @@ -198,7 +255,6 @@ PORT 04 1G Rate: 67 Encoding: 01 Lightron Inc. WSPXG-ES3LC-IHA 0000 - > stat CMD: stat Port State Link TxGood TxBad RxGood RxBad @@ -216,17 +272,40 @@ Lightron Inc. WSPXG-ES3LC-IHA 0000 CMD: sfp Rate: 67 Encoding: 01 Lightron Inc. WSPXG-ES3LC-IHA 0000 +``` + +## (10) Advanced configuration + +You can configure more deeply the switch without the need of the console mode. + +While in compilation part, you might write directly to config.txt file before making the binary firmware ``` +nano config.txt +``` + +If you want to modify settings after the flash is done, go to the Advanced Settings tab in System Settings + +ADVANCED SETTINGS + +``` +ip xxx.xxx.xxx.xxx = IP adress of the switch +gw yyy.yyy.yyy.yyy = IP adress of the gateway +netmask zzz.zzz.zzz.zzz = Network mask of the switch +port x name xxx = Name xxx the port number x +port z 1g = Set 1g speed for port z +igmp on/off = Turn IGMP on or off +``` +[To be continue] + Enjoy playing! -## Other documents -The following documents give further documentation on specific features of -the RTL837x SoCs: +## (11) Other documents + +The following documents give further documentation on specific features of the RTL837x SoCs: - [RTL8372/3 Feature support](doc/hardware.md) - [CPU Port](doc/CpuPort.md) - [L2 learning](doc/l2.md) -- [CPU Port](doc/CpuPort.md) - [IGMP (IP-MC streaming)](doc/igmp.md) - [SFP+ ports](doc/sfp.md) - [Trunking aka. port aggregation](doc/trunking.md) diff --git a/doc/images/advanced_settings.png b/doc/images/advanced_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..fec750d0a9c15a3d093ceb81a9af239662b2644a GIT binary patch literal 65303 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 z

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 z