mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-10-29 17:54:14 +08:00
extracted ONT-S207CW-62TS-SE into separate device
This commit is contained in:
1 parent
c514eb8bf3
commit
a4e3b4368b
4 files changed
+362
-397
No files matched your search
+219
-107
@@ -1,24 +1,18 @@
|
||||
# ONT-S207CW-62TS-SE
|
||||
# ONT-S207CW-62TS-SE / Binardat 2G06-04210GSM
|
||||
|
||||
## Overview
|
||||
ONT-S207CW-62TS-SE is a managed switch with **4x 2.5G RJ45 ports** and **2x 10G SFP+ ports**.
|
||||
|
||||
**Note:** This device is **identical in hardware** to PCB-SWTG024AS-A-2.0.1. The only difference is the brand label.
|
||||
ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM are **managed switches with identical hardware**:
|
||||
- **CPU:** RTL8372N (confirmed via serial: "Detecting CPU: RTL8372N")
|
||||
- **Flash:** GD25Q128E (16MB)
|
||||
- **Ports:** 4x 2.5G RJ45 + 2x 10G SFP+
|
||||
- **Console:** 115200 baud (RTLPlayground firmware) / 9600 baud (stock firmware)
|
||||
|
||||
## Compatible Devices
|
||||
**Note:** These devices use **PCB-SWTG024AS-A-2.0.1** but with different port mapping and LED configuration than the stock PCB-SWTG024AS-A-2.0.1 firmware. Therefore, they require their own machine definition (`MACHINE_ONT_S207CW_62TS_SE`).
|
||||
|
||||
The following devices use the **same PCB-SWTG024AS-A-2.0.1 hardware** and are fully compatible with the same firmware configuration:
|
||||
## Device Photos
|
||||
|
||||
| Brand | Model | Notes |
|
||||
|---|---|---|
|
||||
| ONT | ONT-S207CW-62TS-SE | Original device |
|
||||
| Binardat | 2G06-04210GSM | Identical hardware, same firmware |
|
||||
| Mokerlink | KP-9000-6XH-X2 / KP-9000-6XHML-X2 | See [2M-PCB43-V1.1/V2.1](2M-PCB43-V1.1.md) |
|
||||
| Horaco | ZX-SWTG124AS | See [SWTG024AS-A-V2.0.1_4C_2SFP](SWTG024AS-A-V2.0.1_4C_2SFP.md) |
|
||||
|
||||
All these devices can use **MACHINE_PCB_SWTG024AS_A_2_0_1** with the LED configuration from this document.
|
||||
|
||||
### Binardat 2G06-04210GSM Photos
|
||||
### Binardat 2G06-04210GSM
|
||||
|
||||
**Front View:**
|
||||
<img src="photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-front.jpg" width="400" />
|
||||
@@ -29,18 +23,19 @@ All these devices can use **MACHINE_PCB_SWTG024AS_A_2_0_1** with the LED configu
|
||||
**PCB View:**
|
||||
<img src="photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-pcb.jpg" width="400" />
|
||||
|
||||
*Note: Photos courtesy of [andreas5232](https://github.com/andreas5232) from [emesix/ONT-S207CW-62TS-SE#1](https://github.com/emesix/ONT-S207CW-62TS-SE/issues/1)*
|
||||
*Photos courtesy of [andreas5232](https://github.com/andreas5232) from [emesix/ONT-S207CW-62TS-SE#1](https://github.com/emesix/ONT-S207CW-62TS-SE/issues/1)*
|
||||
|
||||
## Hardware Specification
|
||||
|
||||
| Feature | Value |
|
||||
|---|---|
|
||||
| **CPU** | RTL8372N (detected via serial: "Detecting CPU: RTL8372N") |
|
||||
| **CPU** | RTL8372N |
|
||||
| **Flash** | GD25Q128E (16MB) |
|
||||
| **RAM** | Integrated in RTL8372N |
|
||||
| **RJ45 Ports** | 4x 2.5GBase-T (Ports 1-4) |
|
||||
| **SFP+ Ports** | 2x 10G (Ports 5-6) |
|
||||
| **Console** | 115200 baud (RTLPlayground firmware) / 9600 baud (stock firmware) |
|
||||
| **Web UI IP** | 192.168.2.1 |
|
||||
| **Console** | UART (115200 baud for RTLPlayground, 9600 baud for stock) |
|
||||
| **Stock Web UI IP** | 192.168.2.1 |
|
||||
| **Loader Mode IP** | 192.168.10.247 |
|
||||
|
||||
## Port Layout
|
||||
@@ -56,152 +51,269 @@ All these devices can use **MACHINE_PCB_SWTG024AS_A_2_0_1** with the LED configu
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## LED Behavior (RTLPlayground v10+)
|
||||
## LED Behavior
|
||||
|
||||
### RJ45 Ports (1-4)
|
||||
| LED Color | Speed |
|
||||
|---|---|
|
||||
| **Green** | 2.5G |
|
||||
| **Orange** | 1G / 100M / 10M |
|
||||
| **Off** | No link |
|
||||
### RJ45 Ports (Physical 1-4, Logical 0-3)
|
||||
|
||||
### SFP+ Ports (5-6)
|
||||
| LED Color | Speed |
|
||||
|---|---|
|
||||
| **Green** | 10G |
|
||||
| **Orange** | 2.5G / 1G |
|
||||
| **Off** | No link / No SFP module |
|
||||
| LED Color | Speed | Physical LED Position |
|
||||
|---|---|---|
|
||||
| **Green** | 2.5G | Right LED |
|
||||
| **Orange** | 1G / 100M / 10M | Left LED |
|
||||
| **Off** | No link | - |
|
||||
|
||||
### SFP+ Ports (Physical 5-6, Logical 4-5)
|
||||
|
||||
| LED Color | Speed | Physical LED Position |
|
||||
|---|---|---|
|
||||
| **Green** | 10G | Right LED |
|
||||
| **Orange** | 2.5G / 1G | Left LED |
|
||||
| **Off** | No link / No SFP module | - |
|
||||
|
||||
## RTLPlayground Configuration
|
||||
|
||||
### machine.h
|
||||
|
||||
```c
|
||||
#define MACHINE_PCB_SWTG024AS_A_2_0_1
|
||||
// #define MACHINE_PCB_SWTG024AS_A_2_0_1 // Different port/LED mapping
|
||||
#define MACHINE_ONT_S207CW_62TS_SE
|
||||
// ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM
|
||||
// RTL8372N, 4x2.5G RJ45 + 2x10G SFP+, GD25Q128E (16MB)
|
||||
// Physical ports: 1-4 = RJ45, 5-6 = SFP
|
||||
// Logical ports: 0-3 = RJ45 (phys 1-4), 4-5 = SFP (phys 5-6)
|
||||
// LED colors: RJ45 = Green@2.5G, Orange@1G/100M/10M; SFP = Green@10G, Orange@1G/2.5G
|
||||
// LED mux: Original firmware values (0x08144040, 0x1037f309, ...)
|
||||
```
|
||||
|
||||
### machine.c (relevant section for PCB_SWTG024AS_A_2_0_1)
|
||||
### machine.c Configuration
|
||||
|
||||
```c
|
||||
#elif defined MACHINE_ONT_S207CW_62TS_SE
|
||||
__code const struct machine machine = {
|
||||
.machine_name = "PCB-SWTG024AS-A-2.0.1",
|
||||
.machine_name = "ONT-S207CW-62TS-SE / Binardat 2G06-04210GSM",
|
||||
.isRTL8373 = 0, // RTL8372N
|
||||
.mac_flash_offset = 0x1FC000,
|
||||
.min_port = 3,
|
||||
.max_port = 8,
|
||||
.mac_flash_offset = 0x1FC000, // MAC address storage offset
|
||||
.min_port = 0, // First logical port
|
||||
.max_port = 5, // Last logical port (0-5 = 6 ports)
|
||||
.n_sfp = 2,
|
||||
.log_to_phys_port = {0, 0, 0, 5, 1, 2, 3, 4, 6},
|
||||
.phys_to_log_port = {4, 5, 6, 7, 3, 8, 0, 0, 0},
|
||||
.is_sfp = {0, 0, 0, 1, 0, 0, 0, 0, 2},
|
||||
|
||||
// SFP port on SDS0 / logical port 3
|
||||
// Physical to logical port mapping:
|
||||
// Physical port 1 -> Logical port 0 (RJ45)
|
||||
// Physical port 2 -> Logical port 1 (RJ45)
|
||||
// Physical port 3 -> Logical port 2 (RJ45)
|
||||
// Physical port 4 -> Logical port 3 (RJ45)
|
||||
// Physical port 5 -> Logical port 4 (SFP on SDS0)
|
||||
// Physical port 6 -> Logical port 5 (SFP on SDS1)
|
||||
.log_to_phys_port = {1, 2, 3, 4, 5, 6, 0, 0, 0},
|
||||
.phys_to_log_port = {0, 1, 2, 3, 4, 5, 0, 0, 0},
|
||||
.is_sfp = {0, 0, 0, 0, 1, 1, 0, 0, 0}, // Logical ports 4,5 are SFP
|
||||
|
||||
// SFP port on SDS0 / logical port 4 / physical port 5
|
||||
.sfp_port[0].pin_detect = GPIO37,
|
||||
.sfp_port[0].pin_los = GPIO_NA,
|
||||
.sfp_port[0].pin_tx_disable = GPIO_NA,
|
||||
.sfp_port[0].sds = 0,
|
||||
.sfp_port[0].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 },
|
||||
|
||||
// SFP port on SDS1 / logical port 8
|
||||
|
||||
// SFP port on SDS1 / logical port 5 / physical port 6
|
||||
.sfp_port[1].pin_detect = GPIO38,
|
||||
.sfp_port[1].pin_los = GPIO_NA,
|
||||
.sfp_port[1].pin_tx_disable = GPIO_NA,
|
||||
.sfp_port[1].sds = 1,
|
||||
.sfp_port[1].i2c = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 },
|
||||
|
||||
|
||||
.reset_pin = GPIO_NA,
|
||||
.high_leds = { .mux = LED_28_SYS | LED_29, .enable = LED_27 | LED_28_SYS | LED_29 },
|
||||
.port_led_set = { 0, 0, 0, 1, 0, 0, 0, 0, 1 },
|
||||
.port_led_set = { 0, 0, 0, 0, 1, 1, 0, 0, 0 }, // RJ45=SET0, SFP=SET1
|
||||
|
||||
/* LED Configuration from original firmware:
|
||||
* RJ45 ports (logical 0-3, physical 1-4): SET0
|
||||
* LED0 (Green): 2.5G Link+Activity
|
||||
* LED1 (Orange): 1G/100M/10M Link+Activity
|
||||
* SFP+ ports (logical 4-5, physical 5-6): SET1
|
||||
* LED0 (Green): 10G Link+Activity
|
||||
* LED1 (Orange): 1G/2.5G Link+Activity
|
||||
*/
|
||||
.led_sets = {
|
||||
{ // SET0: RJ45 - Green for 2.5G, Orange for 1G/100M/10M
|
||||
LEDS_2G5 | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{ // SET1: SFP+ - Green for 10G, Orange for 1G/2.5G
|
||||
LEDS_10G | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{ // SET0: RJ45 Ports
|
||||
LEDS_2G5 | LEDS_LINK | LEDS_ACT, // Green: 2.5G
|
||||
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT, // Orange: 1G/100M/10M
|
||||
0,
|
||||
0 },
|
||||
{ // SET1: SFP+ Ports
|
||||
LEDS_10G | LEDS_LINK | LEDS_ACT, // Green: 10G
|
||||
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT, // Orange: 1G/2.5G
|
||||
0,
|
||||
0 },
|
||||
},
|
||||
.led_mux_custom = 1,
|
||||
.led_mux = {
|
||||
0x00,0x01,0x04,0x05,0x08,0x09,0x0c,0x3f,0x0d,0x10,0x11,0x0e,
|
||||
0x14,0x11,0x12,0x15,0x15,0x16,0x18,0x19,0x1a,0x19,0x1d,0x1e,
|
||||
0x1c,0x1d,0x20,0x21
|
||||
},
|
||||
// LED mux configuration extracted from original firmware
|
||||
// Corresponds to register values:
|
||||
// RTL837X_REG_LED_GLB_MUX_1: 0x08144040
|
||||
// RTL837X_REG_LED_GLB_MUX_2: 0x1037f309
|
||||
// RTL837X_REG_LED_GLB_MUX_3: 0x12454391
|
||||
// RTL837X_REG_LED_GLB_MUX_4: 0x19616555
|
||||
// RTL837X_REG_LED_GLB_MUX_5: 0x1c79d65a
|
||||
// RTL837X_REG_LED_GLB_MUX_6: 0x0002181d
|
||||
.led_mux = { 0x08, 0x14, 0x40, 0x40, 0x10, 0x37, 0xf3, 0x09,
|
||||
0x12, 0x45, 0x43, 0x91, 0x19, 0x61, 0x65, 0x55,
|
||||
0x1c, 0x79, 0xd6, 0x5a, 0x00, 0x02, 0x18, 0x1d,
|
||||
0x00, 0x00, 0x00, 0x00 },
|
||||
};
|
||||
```
|
||||
|
||||
## Port to Logical Mapping
|
||||
|
||||
| Physical Port | Logical Port | Type | LED Set | Web UI Port |
|
||||
| Physical Port | Logical Port | Type | LED Set | Web UI Display |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 4 | RJ45 | 0 | 1 |
|
||||
| 2 | 5 | RJ45 | 0 | 2 |
|
||||
| 3 | 6 | RJ45 | 0 | 3 |
|
||||
| 4 | 7 | RJ45 | 0 | 4 |
|
||||
| 5 | 3 | SFP+ | 1 | 5 |
|
||||
| 6 | 8 | SFP+ | 1 | 6 |
|
||||
| 1 | 0 | RJ45 | 0 | Port 1 |
|
||||
| 2 | 1 | RJ45 | 0 | Port 2 |
|
||||
| 3 | 2 | RJ45 | 0 | Port 3 |
|
||||
| 4 | 3 | RJ45 | 0 | Port 4 |
|
||||
| 5 | 4 | SFP+ (SDS0) | 1 | Port 5 |
|
||||
| 6 | 5 | SFP+ (SDS1) | 1 | Port 6 |
|
||||
|
||||
## Firmware History
|
||||
|
||||
| Version | Date | Changes | Status |
|
||||
|---|---|---|---|
|
||||
| v3 | 2026-09-14 | Original PCB_SWTG024AS_A_2_0_1 config | ✅ All ports working, LEDs wrong |
|
||||
| v10 | 2026-09-17 | LED colors corrected for RJ45 and SFP+ | ✅ All ports + LEDs working |
|
||||
**Important:** The web UI will show ports in the correct physical order (1-4 RJ45, 5-6 SFP) because the logical-to-physical mapping preserves the order.
|
||||
|
||||
## Firmware Files
|
||||
|
||||
| File | Purpose |
|
||||
|---|---|
|
||||
| `rtlplayground-ONT_S207CW-v10.bin` | Direct flash via CH341A |
|
||||
| `rtlplayground_oem_upgrade-ONT_S207CW-v10.bin` | OEM upgrade via web UI |
|
||||
| File | Size | Purpose |
|
||||
|---|---|---|
|
||||
| `rtlplayground-ONT_S207CW_62TS_SE-v11.bin` | 524288 bytes | Direct flash via CH341A/SPI programmer |
|
||||
| `rtlplayground_oem_upgrade-ONT_S207CW_62TS_SE-v11.bin` | 540710 bytes | OEM upgrade via web UI (Loader Mode) |
|
||||
|
||||
### Firmware Size Check
|
||||
- **Flash chip:** GD25Q128E = 16MB = 16777216 bytes
|
||||
- **Firmware size:** ~512KB-528KB
|
||||
- **Status:** ✅ **Plenty of space available** - No size issues with either old or new web UI
|
||||
|
||||
## Flashing Instructions
|
||||
|
||||
### Via Loader Mode (CH341A)
|
||||
### Prerequisites
|
||||
- **GD25Q128E** flash chip (16MB)
|
||||
- **CH341A** SPI programmer (recommended)
|
||||
- **flashrom** tool (Linux) or **Flashrom GUI** (Windows)
|
||||
|
||||
### Via CH341A (Direct Flash)
|
||||
|
||||
**Linux (flashrom):**
|
||||
```bash
|
||||
flashrom -p ch341a_spi -c "GD25Q128E" -w rtlplayground-ONT_S207CW-v10.bin
|
||||
# Install flashrom first
|
||||
sudo apt install flashrom
|
||||
|
||||
# Flash the firmware (may need sudo)
|
||||
flashrom -p ch341a_spi -c "GD25Q128E/GD25B128E/GD25R128E/GD25Q127C" -w rtlplayground-ONT_S207CW_62TS_SE-v11.bin --noverify-all
|
||||
```
|
||||
|
||||
### Via Web UI
|
||||
1. Access the web interface at `http://192.168.2.1`
|
||||
2. Navigate to **Firmware Update** (under System tab)
|
||||
3. Upload `rtlplayground_oem_upgrade-ONT_S207CW-v10.bin`
|
||||
4. Wait for flash completion and automatic reboot
|
||||
**Alternative command (if above fails):**
|
||||
```bash
|
||||
flashrom -p ch341a_spi -c "GD25Q128E" -w rtlplayground-ONT_S207CW_62TS_SE-v11.bin
|
||||
```
|
||||
|
||||
### Via Loader Mode (Web UI Upgrade)
|
||||
|
||||
The OEM upgrade file can be flashed via the device's loader mode:
|
||||
|
||||
1. **Enter Loader Mode:**
|
||||
- Power off the switch
|
||||
- Hold the reset button
|
||||
- Power on while holding reset
|
||||
- Release after ~5 seconds
|
||||
- Switch should be accessible at `192.168.10.247`
|
||||
|
||||
2. **Upload via HTTP:**
|
||||
```bash
|
||||
curl -T rtlplayground_oem_upgrade-ONT_S207CW_62TS_SE-v11.bin http://192.168.10.247/firmware
|
||||
```
|
||||
|
||||
3. **Or via Web Browser:**
|
||||
- Access `http://192.168.10.247`
|
||||
- Use the firmware update function
|
||||
- Upload `rtlplayground_oem_upgrade-ONT_S207CW_62TS_SE-v11.bin`
|
||||
- Wait for completion and reboot
|
||||
|
||||
### Via RTLPlayground Web UI (After First Flash)
|
||||
|
||||
Once RTLPlayground firmware is running:
|
||||
1. Access web interface at `http://192.168.2.1`
|
||||
2. Navigate to **System > Firmware Update**
|
||||
3. Upload the `.bin` file
|
||||
4. Wait for flash completion and reboot
|
||||
|
||||
## Recovery
|
||||
|
||||
If flashing fails and the switch does not boot:
|
||||
|
||||
1. **Loader Mode Recovery:**
|
||||
- Hold reset button while powering on
|
||||
- Switch should be accessible at `192.168.10.247`
|
||||
- Flash via `curl -T firmware.bin http://192.168.10.247/firmware`
|
||||
### Method 1: Loader Mode Recovery
|
||||
- The loader mode always remains accessible
|
||||
- Switch boots to `192.168.10.247` when in loader mode
|
||||
- Flash via: `curl -T firmware.bin http://192.168.10.247/firmware`
|
||||
|
||||
2. **Serial Recovery:**
|
||||
- Connect via UART (115200 baud for RTLPlayground, 9600 for stock)
|
||||
- Use CH341A: `flashrom -p ch341a_spi -c "GD25Q128E" -w firmware.bin`
|
||||
### Method 2: Serial Recovery (if loader mode fails)
|
||||
- Connect UART: 115200 baud, 8N1
|
||||
- Use CH341A to flash directly:
|
||||
```bash
|
||||
flashrom -p ch341a_spi -c "GD25Q128E" -w firmware.bin
|
||||
```
|
||||
|
||||
### Method 3: SOIC8 Clip
|
||||
- Connect SOIC8 clip to CH341A
|
||||
- Use flashrom as above
|
||||
- Chip: GD25Q128E (16MB)
|
||||
|
||||
## Stock Firmware Information
|
||||
|
||||
- **Default IP:** 192.168.10.247
|
||||
- **Default Login:** admin/admin (varies by OEM)
|
||||
- **Console Baud:** 9600
|
||||
- **CPU:** RTL8372N
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **Default IP** | 192.168.2.1 (ONT) / 192.168.10.247 (Loader Mode) |
|
||||
| **Default Login** | admin/admin (may vary by OEM) |
|
||||
| **Console Baud** | 9600 (stock) / 115200 (RTLPlayground) |
|
||||
| **CPU String** | "RTL8372N" |
|
||||
| **Loader Mode IP** | 192.168.10.247 |
|
||||
|
||||
## Known Issues & Fixes
|
||||
|
||||
### Issue: LEDs showing wrong colors
|
||||
**Symptom:** RJ45 ports show green at all speeds, SFP LEDs don't light up
|
||||
**Fix:** Use v10 firmware with corrected LED sets and LED mux configuration
|
||||
### ✅ Issue: LEDs showing wrong colors (FIXED in v11)
|
||||
**Symptom:** All RJ45 ports show green at all speeds, SFP LEDs incorrect
|
||||
**Root Cause:** Wrong LED mux configuration and LED set assignments
|
||||
**Fix:** Use v11 firmware with:
|
||||
- Original firmware LED mux values (extracted from stock firmware)
|
||||
- Correct LED set to physical port mapping
|
||||
- Proper LED color logic (Green=2.5G/10G, Orange=1G/2.5G/100M/10M)
|
||||
|
||||
### Issue: No network connectivity after flash
|
||||
### ✅ Issue: Port order reversed in web UI (FIXED in v11)
|
||||
**Symptom:** Web UI shows ports as 4321 instead of 1234
|
||||
**Root Cause:** Incorrect log_to_phys_port and phys_to_log_port mapping
|
||||
**Fix:** Corrected mapping to preserve physical port order
|
||||
|
||||
### ✅ Issue: No network connectivity after flash (FIXED)
|
||||
**Symptom:** Switch boots but no ping response
|
||||
**Fix:** Ensure `.isRTL8373 = 0` (RTL8372N) is set - this device uses RTL8372N, not RTL8373
|
||||
**Root Cause:** Wrong CPU type configuration
|
||||
**Fix:** Ensure `.isRTL8373 = 0` (this is RTL8372N, not RTL8373)
|
||||
|
||||
### ✅ Issue: SFP modules not detected (FIXED)
|
||||
**Symptom:** SFP ports not working
|
||||
**Root Cause:** Wrong SFP port SDS assignments
|
||||
**Fix:** Correct SDS0/SDS1 assignments and GPIO pins
|
||||
|
||||
## Version History
|
||||
|
||||
| Version | Date | Changes | Status |
|
||||
|---|---|---|---|
|
||||
| v3 | 2026-09-14 | Initial PCB_SWTG024AS_A_2_0_1 config | ❌ Port order wrong, LEDs wrong |
|
||||
| v10 | 2026-09-17 | LED colors corrected | ⚠️ LEDs better, port order still wrong |
|
||||
| v11 | 2026-09-18 | **Separate machine def, correct port mapping, original LED mux** | ✅ All working |
|
||||
|
||||
## Notes
|
||||
|
||||
- This device shares the exact same PCB as PCB-SWTG024AS-A-2.0.1
|
||||
- The hardware detection string is "PCB-SWTG024AS-A-2.0.1"
|
||||
- Port numbering in the web UI may appear reversed (4321 instead of 1234) due to the port mapping, but physical ports 1-4 are RJ45 and 5-6 are SFP+
|
||||
- This device shares PCB-SWTG024AS-A-2.0.1 hardware but requires **different port mapping and LED configuration** than the stock PCB-SWTG024AS-A-2.0.1 definition
|
||||
- **Binardat 2G06-04210GSM is 100% hardware compatible** with ONT-S207CW-62TS-SE
|
||||
- Port numbering in web UI now matches physical port order (1-4 RJ45, 5-6 SFP)
|
||||
- LED colors now match the labels on the device enclosure:
|
||||
- Green = 2.5G (RJ45) / 10G (SFP)
|
||||
- Orange = 1G/100M/10M (RJ45) / 1G/2.5G (SFP)
|
||||
- The **Loader Mode** always remains accessible at 192.168.10.247 for recovery
|
||||
- Serial console baud rate changes from 9600 (stock) to 115200 (RTLPlayground)
|
||||
|
||||
## References
|
||||
|
||||
- [GitHub Issue: emesix/ONT-S207CW-62TS-SE#1](https://github.com/emesix/ONT-S207CW-62TS-SE/issues/1) - Original photos and discussion
|
||||
- [PR: logicog/RTLPlayground#465](https://github.com/logicog/RTLPlayground/pull/465) - Feedback and improvements
|
||||
+66
-275
@@ -1,5 +1,4 @@
|
||||
# SWTG024AS
|
||||
|
||||
### SWTG024AS
|
||||
SWTG024AS has at least 4 variants that look the same.
|
||||
|
||||
Variants are `managed` and a `unmanaged` version.
|
||||
@@ -9,224 +8,16 @@ Also the RJ45 connectors can be all plastic/non-shielded or with metal shielding
|
||||
## Brands
|
||||
|Brand|Type|Managed|PCB|PCB Label|Flash|Chip RTL|
|
||||
|---|---|---|---|---|---|---|
|
||||
| Binardat | 2G06-04210GSM | No | PCB-SWTG024AS-A-2.0.1 | --- | 16MB | RTL8372N |
|
||||
| Horaco | ZX-SWTG124AS | Yes | SWTG024AS-v2.0 | ??? | ??? | 8272 |
|
||||
| LIANGUO | SWTG024AS | No | SWTG024AS-v2.0-17452 | CM-23-11-2336 023-17453 | 512 KiB | 8272 |
|
||||
| ONT | ONT-S207CW-62TS-SE | No | PCB-SWTG024AS-A-2.0.1 | --- | 16MB | RTL8372N |
|
||||
| LIANGUO |SWTG024AS |No| SWTG024AS-v2.0-17452 | CM-23-11-2336 023-17453| 512 KiB | 8272 |
|
||||
| Horaco |ZX-SWTG124AS | Yes | SWTG024AS-v2.0 | ??? | ??? | 8272 |
|
||||
| Xikestore |SKS3200M-4GPY2XF | Yes | SWTG024AS-v1.0 | CM-23-08-2043 023-16721 | 2048 KiB | 8272 |
|
||||
| Sodola | SL-SWTG124AS-D | Yes | SWTG024AS-v2.0-17452 | ??? | 2048 KiB | 8272 |
|
||||
| Xikestore | SKS3200M-4GPY2XF | Yes | SWTG024AS-v1.0 | CM-23-08-2043 023-16721 | 2048 KiB | 8272 |
|
||||
|
||||
## PCB
|
||||
|
||||
<img src="photos/SWTG024AS-v2.0-unmanaged/SWTG024AS-v2.0-top-uman.png" width="300" />
|
||||
|
||||
## PCB-SWTG024AS-A-2.0.1 Variant
|
||||
|
||||
**Note:** ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM are **identical in hardware** to this PCB variant. The only difference is the brand label.
|
||||
|
||||
### Compatible Devices
|
||||
|
||||
The following devices use the **same PCB-SWTG024AS-A-2.0.1 hardware** and are fully compatible with the same firmware configuration:
|
||||
|
||||
| Brand | Model | Notes |
|
||||
|---|---|---|
|
||||
| ONT | ONT-S207CW-62TS-SE | Original device |
|
||||
| Binardat | 2G06-04210GSM | Identical hardware, same firmware |
|
||||
|
||||
All these devices can use **MACHINE_PCB_SWTG024AS_A_2_0_1** with the LED configuration from this document.
|
||||
|
||||
### Photos (Binardat 2G06-04210GSM)
|
||||
|
||||
**Front View:**
|
||||
<img src="photos/SWTG024AS-v2.0-unmanaged/binardat-2g06-04210gsm-front.jpg" width="400" />
|
||||
|
||||
**Back View:**
|
||||
<img src="photos/SWTG024AS-v2.0-unmanaged/binardat-2g06-04210gsm-back.jpg" width="400" />
|
||||
|
||||
**PCB View:**
|
||||
<img src="photos/SWTG024AS-v2.0-unmanaged/binardat-2g06-04210gsm-pcb.jpg" width="400" />
|
||||
|
||||
*Photos courtesy of [andreas5232](https://github.com/andreas5232) from [emesix/ONT-S207CW-62TS-SE#1](https://github.com/emesix/ONT-S207CW-62TS-SE/issues/1)*
|
||||
|
||||
### Hardware Specification
|
||||
|
||||
| Feature | Value |
|
||||
|---|---|
|
||||
| **CPU** | RTL8372N (detected via serial: "Detecting CPU: RTL8372N") |
|
||||
| **Flash** | GD25Q128E (16MB) |
|
||||
| **RAM** | Integrated in RTL8372N |
|
||||
| **RJ45 Ports** | 4x 2.5GBase-T (Ports 1-4) |
|
||||
| **SFP+ Ports** | 2x 10G (Ports 5-6) |
|
||||
| **Console** | 115200 baud (RTLPlayground firmware) / 9600 baud (stock firmware) |
|
||||
| **Web UI IP** | 192.168.2.1 |
|
||||
| **Loader Mode IP** | 192.168.10.247 |
|
||||
|
||||
### Port Layout
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │RJ45 │ │RJ45 │ │RJ45 │ │RJ45 │ │SFP+ │ │SFP+ │ │
|
||||
│ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │ 6 │ │
|
||||
│ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │
|
||||
│ │
|
||||
│ [System LEDs] │
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Port Mapping
|
||||
|
||||
Physical front panel (left to right):
|
||||
- Ports 1-4: RJ45 2.5GBase-T
|
||||
- Ports 5-6: SFP+ 10G (Port 5 = left/J4/SFP1, Port 6 = right/J2/SFP2)
|
||||
|
||||
RTLPlayground logical mapping:
|
||||
- Logical port 3 → Physical SFP1 (J4, left)
|
||||
- Logical port 8 → Physical SFP2 (J2, right)
|
||||
- Logical ports 4-7 → Physical RJ45 ports 1-4
|
||||
|
||||
| Physical Port | Logical Port | Type | LED Set | Web UI Port |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 4 | RJ45 | 0 | 1 |
|
||||
| 2 | 5 | RJ45 | 0 | 2 |
|
||||
| 3 | 6 | RJ45 | 0 | 3 |
|
||||
| 4 | 7 | RJ45 | 0 | 4 |
|
||||
| 5 | 3 | SFP+ | 1 | 5 |
|
||||
| 6 | 8 | SFP+ | 1 | 6 |
|
||||
|
||||
### LED Behavior (RTLPlayground v10+)
|
||||
|
||||
#### RJ45 Ports (1-4)
|
||||
| LED Color | Speed |
|
||||
|---|---|
|
||||
| **Green** | 2.5G |
|
||||
| **Orange** | 1G / 100M / 10M |
|
||||
| **Off** | No link |
|
||||
|
||||
#### SFP+ Ports (5-6)
|
||||
| LED Color | Speed |
|
||||
|---|---|
|
||||
| **Green** | 10G |
|
||||
| **Orange** | 2.5G / 1G |
|
||||
| **Off** | No link / No SFP module |
|
||||
|
||||
### RTLPlayground Configuration
|
||||
|
||||
**machine.h:**
|
||||
```c
|
||||
#define MACHINE_PCB_SWTG024AS_A_2_0_1
|
||||
```
|
||||
|
||||
**machine.c configuration:**
|
||||
```c
|
||||
__code const struct machine machine = {
|
||||
.machine_name = "PCB-SWTG024AS-A-2.0.1",
|
||||
.isRTL8373 = 0, // RTL8372N
|
||||
.mac_flash_offset = 0x1FC000,
|
||||
.min_port = 3,
|
||||
.max_port = 8,
|
||||
.n_sfp = 2,
|
||||
.log_to_phys_port = {0, 0, 0, 5, 1, 2, 3, 4, 6},
|
||||
.phys_to_log_port = {4, 5, 6, 7, 3, 8, 0, 0, 0},
|
||||
.is_sfp = {0, 0, 0, 1, 0, 0, 0, 0, 2},
|
||||
|
||||
// SFP port on SDS0 / logical port 3
|
||||
.sfp_port[0].pin_detect = GPIO37,
|
||||
.sfp_port[0].pin_los = GPIO_NA,
|
||||
.sfp_port[0].pin_tx_disable = GPIO_NA,
|
||||
.sfp_port[0].sds = 0,
|
||||
.sfp_port[0].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 },
|
||||
|
||||
// SFP port on SDS1 / logical port 8
|
||||
.sfp_port[1].pin_detect = GPIO38,
|
||||
.sfp_port[1].pin_los = GPIO_NA,
|
||||
.sfp_port[1].pin_tx_disable = GPIO_NA,
|
||||
.sfp_port[1].sds = 1,
|
||||
.sfp_port[1].i2c = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 },
|
||||
|
||||
.reset_pin = GPIO_NA,
|
||||
.high_leds = { .mux = LED_28_SYS | LED_29, .enable = LED_27 | LED_28_SYS | LED_29 },
|
||||
.port_led_set = { 0, 0, 0, 1, 0, 0, 0, 0, 1 },
|
||||
.led_sets = {
|
||||
{ // SET0: RJ45 - Green for 2.5G, Orange for 1G/100M/10M
|
||||
LEDS_2G5 | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{ // SET1: SFP+ - Green for 10G, Orange for 1G/2.5G
|
||||
LEDS_10G | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT,
|
||||
0,
|
||||
0
|
||||
},
|
||||
},
|
||||
.led_mux_custom = 1,
|
||||
.led_mux = {
|
||||
0x00,0x01,0x04,0x05,0x08,0x09,0x0c,0x3f,0x0d,0x10,0x11,0x0e,
|
||||
0x14,0x11,0x12,0x15,0x15,0x16,0x18,0x19,0x1a,0x19,0x1d,0x1e,
|
||||
0x1c,0x1d,0x20,0x21
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### Firmware History
|
||||
|
||||
| Version | Date | Changes | Status |
|
||||
|---|---|---|---|
|
||||
| v3 | 2026-09-14 | Original PCB_SWTG024AS_A_2_0_1 config | All ports working, LEDs wrong |
|
||||
| v10 | 2026-09-17 | LED colors corrected for RJ45 and SFP+ | All ports + LEDs working |
|
||||
|
||||
### Known Issues & Fixes
|
||||
|
||||
#### Issue: LEDs showing wrong colors
|
||||
**Symptom:** RJ45 ports show green at all speeds, SFP LEDs don't light up
|
||||
**Fix:** Use v10 firmware with corrected LED sets and LED mux configuration
|
||||
|
||||
#### Issue: No network connectivity after flash
|
||||
**Symptom:** Switch boots but no ping response
|
||||
**Fix:** Ensure `.isRTL8373 = 0` (RTL8372N) is set - this device uses RTL8372N, not RTL8373
|
||||
|
||||
### Flashing Instructions
|
||||
|
||||
#### Via Loader Mode (CH341A)
|
||||
```bash
|
||||
flashrom -p ch341a_spi -c "GD25Q128E" -w rtlplayground-PCB_SWTG024AS_A_2_0_1.bin
|
||||
```
|
||||
|
||||
#### Via Web UI
|
||||
1. Access the web interface at `http://192.168.2.1`
|
||||
2. Navigate to **Firmware Update** (under System tab)
|
||||
3. Upload `rtlplayground_oem_upgrade-PCB_SWTG024AS_A_2_0_1.bin`
|
||||
4. Wait for flash completion and automatic reboot
|
||||
|
||||
### Recovery
|
||||
|
||||
If flashing fails and the switch does not boot:
|
||||
|
||||
1. **Loader Mode Recovery:**
|
||||
- Hold reset button while powering on
|
||||
- Switch should be accessible at `192.168.10.247`
|
||||
- Flash via `curl -T firmware.bin http://192.168.10.247/firmware`
|
||||
|
||||
2. **Serial Recovery:**
|
||||
- Connect via UART (115200 baud for RTLPlayground, 9600 for stock)
|
||||
- Use CH341A: `flashrom -p ch341a_spi -c "GD25Q128E" -w firmware.bin`
|
||||
|
||||
### Stock Firmware Information
|
||||
|
||||
- **Default IP:** 192.168.10.247
|
||||
- **Default Login:** admin/admin (varies by OEM)
|
||||
- **Console Baud:** 9600
|
||||
- **CPU:** RTL8372N
|
||||
- **Hardware detection string:** "PCB-SWTG024AS-A-2.0.1"
|
||||
|
||||
**Note:** This variant uses the same PCB as described above but may have different component population.
|
||||
|
||||
---
|
||||
|
||||
# SWTG024AS-v2.0 managed vs unmanaged
|
||||
|
||||
# SWTG024AS-v2.0 managed vs unmanged
|
||||
Changes I found with my board vs [Managed version](https://github.com/up-n-atom/SWTG118AS/tree/main/photos/SWGT024AS-v2.0) of the PCB.
|
||||
|
||||
### Bottom
|
||||
@@ -236,7 +27,7 @@ Changes I found with my board vs [Managed version](https://github.com/up-n-atom/
|
||||
* LED3: Not installed (System Led)
|
||||
### Top
|
||||
* K1: Not installed (Reset Button)
|
||||
* R95: Installed (SFP2 (J2) signal RX-LOS), means that the managed-version can't use the RX-LOS function.
|
||||
* R95: Installed (SFP2 (J2) signal RX-LOS), means that the managed-version can´t use the RX-LOS function.
|
||||
* R270: Installed (SFP1 (J4) signal RX-LOS), same here as above.
|
||||
* R268: Installed (SFP2 (J2) signal TX-DISABLE, but R262 200R pull-down is to high to drive by the SOC, needs mod!)
|
||||
* U5: Flash is only 512 KiB instead of 2/4 MiB.
|
||||
@@ -269,14 +60,14 @@ Changes I found with my board vs [Managed version](https://github.com/up-n-atom/
|
||||
|
||||
|`J4` SFP1 PINs | Signal | Component | GPIO | Notes |
|
||||
|---|---|---|---|---|
|
||||
|2| TX_FAULT | B-R262 | --- | |
|
||||
|3| TX_DISABLE | B-R263, T-R268 | GPIO38 | R262 = Pull-down 200R|
|
||||
|4| MODDEF2 – SDA | B-R261, T-R266 | GPIO39 | |
|
||||
|5| MODDEF1 – SCL | B-R260, T-R267 | GPIO40 | Shared with both SFP |
|
||||
|6| MODDEF0 – PRESENT | B-R259, T-R296 | GPIO30 | |
|
||||
|7| RATE SEL | B-R257 | --- | |
|
||||
|8| LOS | B-R258, T-R270 | GPIO37 | |
|
||||
|9| TO? | B-R256 | --- | |
|
||||
|2| TX_FAULT | B-R262 | --- | |
|
||||
|3| TX_DISABLE | B-R263, T-R268 | GPIO38 | R262 = Pull-down 200R|
|
||||
|4| MODDEF2 – SDA | B-R261, T-R266 | GPIO39 | |
|
||||
|5| MODDEF1 – SCL | B-R260, T-R267 | GPIO40 | Shared with both SFP |
|
||||
|6| MODDEF0 – PRESENT | B-R259, T-R296 | GPIO30 | |
|
||||
|7| RATE SEL | B-R257 | --- | |
|
||||
|8| LOS | B-R258, T-R270 | GPIO37 | |
|
||||
|9| TO? | B-R256 | --- | |
|
||||
|
||||
## J2
|
||||
|
||||
@@ -285,14 +76,14 @@ Changes I found with my board vs [Managed version](https://github.com/up-n-atom/
|
||||
|
||||
|`J2` SFP2 PINs | Signal | Component | GPIO | Notes |
|
||||
|---|---|---|---|---|
|
||||
|2| TX_FAULT | B-R70 | --- | |
|
||||
|3| TX_DISABLE | B-R10, B-R105-R, T-R88-L | GPIO54 | R10 = Pull-down 200R |
|
||||
|4| MODDEF2 – SDA | B-R26, T-R85 | GPIO41 | |
|
||||
|5| MODDEF1 – SCL | B-R15, T-R87 | GPIO40 | Shared with both SFP |
|
||||
|6| MODDEF0 – PRESENT | B-R14, T-R89 | GPIO50 | |
|
||||
|7| RATE SEL | B-R12 | --- | |
|
||||
|8| LOS | B-R13, T-R95 | GPIO51 | |
|
||||
|9| TO? | B-R11 | --- | |
|
||||
|2| TX_FAULT | B-R70 | --- | |
|
||||
|3| TX_DISABLE | B-R10, B-R105-R, T-R88-L | GPIO54 | R10 = Pull-down 200R |
|
||||
|4| MODDEF2 – SDA | B-R26, T-R85 | GPIO41 | |
|
||||
|5| MODDEF1 – SCL | B-R15, T-R87 | GPIO40 | Shared with both SFP |
|
||||
|6| MODDEF0 – PRESENT | B-R14, T-R89 | GPIO50 | |
|
||||
|7| RATE SEL | B-R12 | --- | |
|
||||
|8| LOS | B-R13, T-R95 | GPIO51 | |
|
||||
|9| TO? | B-R11 | --- | |
|
||||
|
||||
Note: component numbering `<L>-<REFDES>-<SIDE>`
|
||||
* L: Layer, T=Top, B=Bottom
|
||||
@@ -317,7 +108,7 @@ The Slave Interface allows an extenal host to controll the SOC even if the inter
|
||||
Depending on the `IF_SEL` bootstrap resistors, this can me `I2C`, `SPI` or `SMI`.
|
||||
On this device it is `I2C` on address `0b1011100` or `0x5c` (7-bit notation).
|
||||
|
||||
* I2c Read: must be a write_read opperation `<Dev-ADDR><RegAddr15:8><RegAddr7:0>` `<DevAddr><Data7:0><Data15:8><Data23:16><Data31:24>`.
|
||||
* I2c Read: must be a write_read opperation `<Dev-ADDR><RegAddr15:8><RegAddr7:0>` `<DevAddr><Data7:0><Data15:8><Data23:16><Data31:24>`.
|
||||
* I2c Write: `<Dev-ADDR><RegAddr15:8><RegAddr7:0><DevAddr><Data7:0><Data15:8><Data23:16><Data31:24>`.
|
||||
|
||||
Example register `0x0004` return chip id `0x00, 0x00, 0x72, 0x83` = `0x83720000`.
|
||||
@@ -335,9 +126,9 @@ Note: 1 pin is square shaped.
|
||||
|`T8` pin|what|Signal|
|
||||
|---|---|---|
|
||||
| 1 | GPIO46 | |
|
||||
| 2 | GND | |
|
||||
| 2 | GND | |
|
||||
| 3 | GPIO48 | |
|
||||
| 4 | 3V3 | |
|
||||
| 4 | 3V3 | |
|
||||
| 5 | GPIO47 | |
|
||||
| 6 | GPIO49 | |
|
||||
Note: 1 pin is square shaped.
|
||||
@@ -345,47 +136,47 @@ Note: 1 pin is square shaped.
|
||||
# Reset ciruit
|
||||
| Cmp | Function |
|
||||
|---|---|
|
||||
| T-R78 | 33k PullUp |
|
||||
| T-D3 | Discharge Diode |
|
||||
| T-C187 | RC-Delay |
|
||||
| T-R78 | 33k PullUp |
|
||||
| T-D3 | Discharge Diode |
|
||||
| T-C187 | RC-Delay |
|
||||
|
||||
Reset-line found at `T-D3-D` active-low.
|
||||
|
||||
# GPIO
|
||||
| HEX VAL. | GPIO | Component | What | | GPIO | Component | What |
|
||||
| -------- | ------ | ---- | ---- | ---- | ---- | ---- | ---- |
|
||||
| 00000001 | GPIO00 | T-C151-T, T-R28-T, T-R29-T |? | | GPIO32 | T-R143-R | U0RXD |
|
||||
| 00000002 | GPIO01 | T-C152-T |? | | GPIO33 | | |
|
||||
| 00000004 | GPIO02 | T-C153-T |? | | GPIO34 | | |
|
||||
| 00000008 | GPIO03 | T-R33-T |? | | GPIO35 | | |
|
||||
| 00000010 | GPIO04 | B-C155 |? | | GPIO36 | T-R88-L, T-R84-B | Optional SFP2 TX-DISABLE[^2], Reset |
|
||||
| 00000020 | GPIO05 | B-C156 |? | | GPIO37 | SFP1-8, T-R270 | SFP-LOS |
|
||||
| 00000040 | GPIO06 | T-C157-T |? | | GPIO38 | SFP1-3, T-R268 | SFP1 TX-DISABLE[^2] |
|
||||
| 00000080 | GPIO07 | T-C158-T, R165 |? | | GPIO39 | SFP1-4, T-R266 | I2C-SDA4 |
|
||||
| 00000100 | GPIO08 | | | | GPIO40 | SFP2-5, T-R87; SFP1-5, T-R267; | I2C-SCL |
|
||||
| 00000200 | GPIO09 | SFP2-LED, T-R36-T |LED-SFP2 | | GPIO41 | SFP2-4, T-R85 | I2C-SDA |
|
||||
| 00000400 | GPIO10 | | | | GPIO42 | U8-P6, T-R124 | SPI-MEMORY, CLK |
|
||||
| 00000800 | GPIO11 | |LEDx[^1] | | GPIO43 | U8-P5, T-R127 | SPI-MEMORY, DI,IO0 |
|
||||
| 00001000 | GPIO12 | |LEDx[^1] | | GPIO44 | U8-P2, T-R128 | SPI-MEMORY, DO,IO1 |
|
||||
| 00002000 | GPIO13 | PORT1-LED-GREEN |LEDx[^1] | | GPIO45 | U8-P1, T-R123 | SPI-MEMORY, CS |
|
||||
| 00004000 | GPIO14 | PORT1-LED-YELLOW |LEDx | | GPIO46 | T8-1, T-R188| ? |
|
||||
| 00008000 | GPIO15 | |LEDx[^1] | | GPIO47 | T8-5, T-R190 | ? |
|
||||
| 00010000 | GPIO16 | PORT2-LED-GREEN |LEDx[^1] | | GPIO48 | T8-3, T-R189 | ? |
|
||||
| 00020000 | GPIO17 | PORT2-LED-YELLOW |LEDx | | GPIO49 | T8-6, T-R190 | ? |
|
||||
| 00040000 | GPIO18 | |LEDx[^1] | | GPIO50 | SFP2-6, T-R89 | SFP-DETECT |
|
||||
| 00080000 | GPIO19 | PORT3-LED-GREEN |LEDx[^1] | | GPIO51 | SFP2-8, T-R95 | SFP-LOS |
|
||||
| 00100000 | GPIO20 | PORT3-LED-YELLOW |LEDx | | GPIO52 | | |
|
||||
| 00200000 | GPIO21 | |LEDx[^1] | | GPIO53 | | |
|
||||
| 00400000 | GPIO22 | PORT4-LED-GREEN |LEDx[^1] | | GPIO54 | SFP2-3, T-R105-L | SFP2 TX-DISABLE[^2] or via T-R85 to RESET[^3], T-R84-T |
|
||||
| 00800000 | GPIO23 | PORT4-LED-YELLOW |LEDx | | GPIO55 | T-R78-B | |
|
||||
| 01000000 | GPIO24 | SFP1-LED-J4, T-R35 |LED-SFP1 | | GPIO56 | | |
|
||||
| 02000000 | GPIO25 | | | | GPIO57 | | |
|
||||
| 04000000 | GPIO26 | ? |LEDx | | GPIO58 | | |
|
||||
| 08000000 | GPIO27 | R44L |? | | GPIO59 | | |
|
||||
| 10000000 | GPIO28 | LED-SYSTEM, T-R50-R |LED-SYSTEM | | GPIO60 | | |
|
||||
| 20000000 | GPIO29 | T-R187-R | | | GPIO61 | | |
|
||||
| 40000000 | GPIO30 | SFP1-6, T-R269 |SFP-DETECT | | GPIO62 | | |
|
||||
| 80000000 | GPIO31 | T-R144-R |U0TXD| | GPIO63 | | |
|
||||
| HEX VAL. | GPIO | Component | What | | GPIO | Component | What |
|
||||
| -------- | ------ | ---- | ---- | ---- | ---- | ---- | ---- |
|
||||
| 00000001 | GPIO00 | T-C151-T, T-R28-T, T-R29-T |? | | GPIO32 | T-R143-R | U0RXD |
|
||||
| 00000002 | GPIO01 | T-C152-T |? | | GPIO33 | | |
|
||||
| 00000004 | GPIO02 | T-C153-T |? | | GPIO34 | | |
|
||||
| 00000008 | GPIO03 | T-R33-T |? | | GPIO35 | | |
|
||||
| 00000010 | GPIO04 | B-C155 |? | | GPIO36 | T-R88-L, T-R84-B | Optional SFP2 TX-DISABLE[^2], Reset |
|
||||
| 00000020 | GPIO05 | B-C156 |? | | GPIO37 | SFP1-8, T-R270 | SFP-LOS |
|
||||
| 00000040 | GPIO06 | T-C157-T |? | | GPIO38 | SFP1-3, T-R268 | SFP1 TX-DISABLE[^2] |
|
||||
| 00000080 | GPIO07 | T-C158-T, R165 |? | | GPIO39 | SFP1-4, T-R266 | I2C-SDA4 |
|
||||
| 00000100 | GPIO08 | | | | GPIO40 | SFP2-5, T-R87; SFP1-5, T-R267; | I2C-SCL |
|
||||
| 00000200 | GPIO09 | SFP2-LED, T-R36-T |LED-SFP2 | | GPIO41 | SFP2-4, T-R85 | I2C-SDA |
|
||||
| 00000400 | GPIO10 | | | | GPIO42 | U8-P6, T-R124 | SPI-MEMORY, CLK |
|
||||
| 00000800 | GPIO11 | |LEDx[^1] | | GPIO43 | U8-P5, T-R127 | SPI-MEMORY, DI,IO0 |
|
||||
| 00001000 | GPIO12 | |LEDx[^1] | | GPIO44 | U8-P2, T-R128 | SPI-MEMORY, DO,IO1 |
|
||||
| 00002000 | GPIO13 | PORT1-LED-GREEN |LEDx[^1] | | GPIO45 | U8-P1, T-R123 | SPI-MEMORY, CS |
|
||||
| 00004000 | GPIO14 | PORT1-LED-YELLOW |LEDx | | GPIO46 | T8-1, T-R188| ? |
|
||||
| 00008000 | GPIO15 | |LEDx[^1] | | GPIO47 | T8-5, T-R190 | ? |
|
||||
| 00010000 | GPIO16 | PORT2-LED-GREEN |LEDx[^1] | | GPIO48 | T8-3, T-R189 | ? |
|
||||
| 00020000 | GPIO17 | PORT2-LED-YELLOW |LEDx | | GPIO49 | T8-6, T-R190 | ? |
|
||||
| 00040000 | GPIO18 | |LEDx[^1] | | GPIO50 | SFP2-6, T-R89 | SFP-DETECT |
|
||||
| 00080000 | GPIO19 | PORT3-LED-GREEN |LEDx[^1] | | GPIO51 | SFP2-8, T-R95 | SFP-LOS |
|
||||
| 00100000 | GPIO20 | PORT3-LED-YELLOW |LEDx | | GPIO52 | | |
|
||||
| 00200000 | GPIO21 | |LEDx[^1] | | GPIO53 | | |
|
||||
| 00400000 | GPIO22 | PORT4-LED-GREEN |LEDx[^1] | | GPIO54 | SFP2-3, T-R105-L | SFP2 TX-DISABLE[^2] or via T-R85 to RESET[^3], T-R84-T |
|
||||
| 00800000 | GPIO23 | PORT4-LED-YELLOW |LEDx | | GPIO55 | T-R78-B | |
|
||||
| 01000000 | GPIO24 | SFP1-LED-J4, T-R35 |LED-SFP1 | | GPIO56 | | |
|
||||
| 02000000 | GPIO25 | | | | GPIO57 | | |
|
||||
| 04000000 | GPIO26 | ? |LEDx | | GPIO58 | | |
|
||||
| 08000000 | GPIO27 | R44L |? | | GPIO59 | | |
|
||||
| 10000000 | GPIO28 | LED-SYSTEM, T-R50-R |LED-SYSTEM | | GPIO60 | | |
|
||||
| 20000000 | GPIO29 | T-R187-R | | | GPIO61 | | |
|
||||
| 40000000 | GPIO30 | SFP1-6, T-R269 |SFP-DETECT | | GPIO62 | | |
|
||||
| 80000000 | GPIO31 | T-R144-R |U0TXD| | GPIO63 | | |
|
||||
|
||||
# LEDs
|
||||
|
||||
@@ -394,10 +185,10 @@ Reset-line found at `T-D3-D` active-low.
|
||||
| SYSTEM | T-R50-R (PU-4k2), T-R49-L, T-C185-L, B-R90 | GPIO28 | Low |
|
||||
| SFP1 | T-R35-L (PU-3k9), T-R34-L, T-C179-L | GPIO24 | Low |
|
||||
| SFP2 | T-R36-T (PD-4k0) | GPIO09 | High |
|
||||
| PORT1-LED-YELLOW | | GPIO14 | Low |
|
||||
| PORT2-LED-YELLOW | | GPIO17 | Low |
|
||||
| PORT3-LED-YELLOW | | GPIO20 | Low |
|
||||
| PORT4-LED-YELLOW | | GPIO23 | Low |
|
||||
| PORT1-LED-YELLOW | | GPIO14 | Low |
|
||||
| PORT2-LED-YELLOW | | GPIO17 | Low |
|
||||
| PORT3-LED-YELLOW | | GPIO20 | Low |
|
||||
| PORT4-LED-YELLOW | | GPIO23 | Low |
|
||||
|
||||
# Power supply
|
||||
|
||||
|
||||
@@ -864,9 +864,6 @@ __code const struct machine machine = {
|
||||
|
||||
|
||||
#elif defined MACHINE_PCB_SWTG024AS_A_2_0_1
|
||||
// NOTE: ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM use this same configuration
|
||||
// Both devices share identical PCB (PCB-SWTG024AS-A-2.0.1) with RTL8372N CPU
|
||||
// See doc/devices/SWTG024AS.md section "PCB-SWTG024AS-A-2.0.1 Variant" for details
|
||||
__code const struct machine machine = {
|
||||
.machine_name = "PCB-SWTG024AS-A-2.0.1",
|
||||
.isRTL8373 = 0,
|
||||
@@ -894,19 +891,18 @@ __code const struct machine machine = {
|
||||
.reset_pin = GPIO_NA,
|
||||
.high_leds = { .mux = LED_28_SYS | LED_29, .enable = LED_27 | LED_28_SYS | LED_29 },
|
||||
.port_led_set = { 0, 0, 0, 1, 0, 0, 0, 0, 1},
|
||||
// ONT-S207CW LED fix: RJ45=green@2.5G/orange@1G, SFP=green@10G/orange@1G/2.5G
|
||||
.led_sets = {
|
||||
{ // SET0: RJ45 - Green for 2.5G, Orange for 1G/100M/10M
|
||||
{
|
||||
LEDS_2G5 | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
|
||||
0,
|
||||
0
|
||||
LEDS_DUPLEX,
|
||||
LEDS_2G5 | LEDS_LINK | LEDS_ACT
|
||||
},
|
||||
{ // SET1: SFP+ - Green for 10G, Orange for 1G/2.5G
|
||||
{
|
||||
LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_10G | LEDS_LINK | LEDS_ACT,
|
||||
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT,
|
||||
0,
|
||||
0
|
||||
LEDS_2G5 | LEDS_LINK,
|
||||
LEDS_COL | LEDS_DUPLEX
|
||||
},
|
||||
},
|
||||
.led_mux_custom = 1,
|
||||
@@ -915,6 +911,69 @@ __code const struct machine machine = {
|
||||
},
|
||||
};
|
||||
|
||||
#elif defined MACHINE_ONT_S207CW_62TS_SE
|
||||
// ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM
|
||||
// RTL8372N, 4x2.5G RJ45 + 2x10G SFP+, GD25Q128E (16MB)
|
||||
// Physical ports: 1-4 = RJ45, 5-6 = SFP
|
||||
// Logical ports: 0-3 = RJ45 (phys 1-4), 4-5 = SFP (phys 5-6)
|
||||
// LED colors: RJ45 = Green@2.5G, Orange@1G/100M/10M; SFP = Green@10G, Orange@1G/2.5G
|
||||
// LED mux values extracted from original firmware
|
||||
__code const struct machine machine = {
|
||||
.machine_name = "ONT-S207CW-62TS-SE / Binardat 2G06-04210GSM",
|
||||
.isRTL8373 = 0,
|
||||
.mac_flash_offset = 0x1FC000,
|
||||
.min_port = 0,
|
||||
.max_port = 5,
|
||||
.n_sfp = 2,
|
||||
.log_to_phys_port = {1, 2, 3, 4, 5, 6, 0, 0, 0},
|
||||
.phys_to_log_port = {0, 1, 2, 3, 4, 5, 0, 0, 0},
|
||||
.is_sfp = {0, 0, 0, 0, 1, 1, 0, 0, 0},
|
||||
|
||||
// SFP port on SDS0 / logical port 4 / physical port 5
|
||||
.sfp_port[0].pin_detect = GPIO37,
|
||||
.sfp_port[0].pin_los = GPIO_NA,
|
||||
.sfp_port[0].pin_tx_disable = GPIO_NA,
|
||||
.sfp_port[0].sds = 0,
|
||||
.sfp_port[0].i2c = { .sda = GPIO41_I2C_SDA3_MDIO1, .scl = GPIO40_I2C_SCL3_MDC1 },
|
||||
|
||||
// SFP port on SDS1 / logical port 5 / physical port 6
|
||||
.sfp_port[1].pin_detect = GPIO38,
|
||||
.sfp_port[1].pin_los = GPIO_NA,
|
||||
.sfp_port[1].pin_tx_disable = GPIO_NA,
|
||||
.sfp_port[1].sds = 1,
|
||||
.sfp_port[1].i2c = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 },
|
||||
|
||||
.reset_pin = GPIO_NA,
|
||||
.high_leds = { .mux = LED_28_SYS | LED_29, .enable = LED_27 | LED_28_SYS | LED_29 },
|
||||
.port_led_set = { 0, 0, 0, 0, 1, 1, 0, 0, 0 },
|
||||
/* LED Configuration:
|
||||
* RJ45 ports (0-3, phys 1-4): SET0
|
||||
* LED0 (Green): 2.5G Link+Activity
|
||||
* LED1 (Orange): 1G/100M/10M Link+Activity
|
||||
* SFP+ ports (4-5, phys 5-6): SET1
|
||||
* LED0 (Green): 10G Link+Activity
|
||||
* LED1 (Orange): 1G/2.5G Link+Activity
|
||||
*/
|
||||
.led_sets = {
|
||||
{ // SET0: RJ45 Ports
|
||||
LEDS_2G5 | LEDS_LINK | LEDS_ACT, // Green: 2.5G
|
||||
LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT, // Orange: 1G/100M/10M
|
||||
0,
|
||||
0 },
|
||||
{ // SET1: SFP+ Ports
|
||||
LEDS_10G | LEDS_LINK | LEDS_ACT, // Green: 10G
|
||||
LEDS_2G5 | LEDS_1G | LEDS_LINK | LEDS_ACT, // Orange: 1G/2.5G
|
||||
0,
|
||||
0 },
|
||||
},
|
||||
.led_mux_custom = 1,
|
||||
// LED mux configuration from original firmware
|
||||
.led_mux = { 0x08, 0x14, 0x40, 0x40, 0x10, 0x37, 0xf3, 0x09,
|
||||
0x12, 0x45, 0x43, 0x91, 0x19, 0x61, 0x65, 0x55,
|
||||
0x1c, 0x79, 0xd6, 0x5a, 0x00, 0x02, 0x18, 0x1d,
|
||||
0x00, 0x00, 0x00, 0x00 },
|
||||
};
|
||||
|
||||
#elif defined MACHINE_SWTG024AS_A_2_0_1_5C_1SFP
|
||||
__code const struct machine machine = {
|
||||
.machine_name = "SWTG024AS-A-V2.0.1-5C-1SFP",
|
||||
|
||||
@@ -40,16 +40,19 @@
|
||||
// #define MACHINE_HI_K0801WS
|
||||
// #define MACHINE_FNS1200P
|
||||
// #define MACHINE_PCB_SWTG024AS_A_2_0_1
|
||||
// #define MACHINE_ONT_S207CW_62TS_SE
|
||||
// ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM
|
||||
// RTL8372N, 4x2.5G RJ45 + 2x10G SFP+, GD25Q128E (16MB)
|
||||
// Physical ports: 1-4 = RJ45, 5-6 = SFP
|
||||
// Logical ports: 0-3 = RJ45 (phys 1-4), 4-5 = SFP (phys 5-6)
|
||||
// LED colors: RJ45 = Green@2.5G, Orange@1G/100M/10M; SFP = Green@10G, Orange@1G/2.5G
|
||||
// LED mux: Original firmware values (0x08144040, 0x1037f309, ...)
|
||||
// #define MACHINE_SWTG024AS_A_2_0_1_5C_1SFP
|
||||
// #define MACHINE_SWTG024AS_V2_0
|
||||
// #define MACHINE_FG_4GT_2SX_V2_0
|
||||
// #define MACHINE_FG_8GT_1SX
|
||||
// #define MACHINE_LIANGUO_HYWS_SGT0108S
|
||||
// #define MACHINE_POE_2G080110GS
|
||||
// ONT-S207CW-62TS-SE and Binardat 2G06-04210GSM: Identical PCB-SWTG024AS-A-2.0.1
|
||||
// RTL8372N, 4x2.5G RJ45 + 2x10G SFP+, GD25Q128E (16MB)
|
||||
// Use MACHINE_PCB_SWTG024AS_A_2_0_1 for both devices
|
||||
// See doc/devices/SWTG024AS.md section "PCB-SWTG024AS-A-2.0.1 Variant" for details
|
||||
|
||||
typedef struct {
|
||||
// GPIO pins for SDA/SCL
|
||||
|
||||
Reference in new issue
Block a user