diff --git a/doc/devices/ONT-S207CW-62TS-SE.md b/doc/devices/ONT-S207CW-62TS-SE.md new file mode 100644 index 00000000..fd5558e2 --- /dev/null +++ b/doc/devices/ONT-S207CW-62TS-SE.md @@ -0,0 +1,122 @@ +# ONT-S207CW-62TS-SE / Binardat 2G06-04210GSM / Binardat 2G06-04210GS + +## Overview + +ONT-S207CW-62TS-SE, Binardat 2G06-04210GSM (managed), and Binardat 2G06-04210GS (unmanaged) are **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) + +**Note:** These devices are **RTL8372N-based** with **LAN ports mounted upside-down on the PCB**, requiring a custom configuration. The `MACHINE_ONT_S207CW_62TS_SE` definition uses a **custom configuration** with: +- Corrected port mapping (physical ports 1-4 = RJ45, 5-6 = SFP) +- Optimized LED sets for different port wiring (RJ45 Ports 1-2 have reversed LED wiring) +- Custom LED mux configuration + +## Device Photos + +### Binardat 2G06-04210GSM + +**Front View:** + + +**Back View:** + + +**PCB View:** + + +*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 | +| **Flash** | GD25Q128E (16MB) | +| **RAM** | Integrated in RTL8372N | +| **RJ45 Ports** | 4x 2.5GBase-T (Ports 1-4) | +| **SFP+ Ports** | 2x 10G (Ports 5-6) | +| **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 + +``` +┌─────────────────────────────────────────────┐ +│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ +│ │RJ45 │ │RJ45 │ │RJ45 │ │RJ45 │ │SFP+ │ │SFP+ │ │ +│ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │ 6 │ │ +│ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │ +│ │ +│ [System LEDs] │ +└─────────────────────────────────────────────┘ +``` + +## LED Behavior + +### RJ45 Ports (Physical 1-4) + +| LED Color | Speed | +|---|---| +| **Green** | 2.5G | +| **Orange** | 1G / 100M / 10M | +| **Off** | No link | + +### SFP+ Ports (Physical 5-6) + +| LED Color | Speed | +|---|---| +| **Green** | 10G | +| **Orange** | 2.5G / 1G | +| **Off** | No link / No SFP module | + +## Port to Logical Mapping + +Custom mapping for ONT-S207CW-62TS-SE: + +| Physical Port | Logical Port | Type | LED Set | +|---|---|---|---| +| 1 | 7 | RJ45 | 2 | +| 2 | 6 | RJ45 | 2 | +| 3 | 5 | RJ45 | 0 | +| 4 | 4 | RJ45 | 0 | +| 5 | 3 | SFP+ (SDS0) | 3 | +| 6 | 8 | SFP+ (SDS1) | 3 | + +**Note:** Ports 1-2 (RJ45) have reversed LED wiring and use LED-Set 2. SFP Ports 5-6 use LED-Set 3 to account for wiring differences. + +## Flashing Instructions + +See the [README.md](../../README.md) for general flashing instructions. + +## Stock Firmware Information + +| 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 | + +## Configuration Details + +- **CPU:** RTL8372N +- **SFP:** SDS0 on logical port 3 (GPIO37), SDS1 on logical port 8 (GPIO38) +- **Port Mapping:** Physical 1-4 → Logical 7-4, Physical 5-6 → Logical 3,8 +- **LED Wiring:** RJ45 Ports 1-2 and SFP Port 6 have reversed LED pins (orange/green swapped) +- **LED Sets:** Set 0 for RJ45 Ports 3-4, Set 1 unused, Set 2 for RJ45 Ports 1-2, Set 3 for SFP Ports 5-6 + +## Notes + +- ONT-S207CW-62TS-SE, Binardat 2G06-04210GSM (managed), and Binardat 2G06-04210GS (unmanaged) are **RTL8372N-based** with **LAN ports mounted upside-down on the PCB** +- Web UI shows correct physical port order (1-2-3-4 for RJ45, 5-6 for SFP) +- Loader Mode always remains accessible at `192.168.10.247` for recovery +- Serial console: 9600 baud (stock) → 115200 baud (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 diff --git a/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-back.jpg b/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-back.jpg new file mode 100644 index 00000000..2dffb542 Binary files /dev/null and b/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-back.jpg differ diff --git a/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-front.jpg b/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-front.jpg new file mode 100644 index 00000000..ee376707 Binary files /dev/null and b/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-front.jpg differ diff --git a/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-pcb.jpg b/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-pcb.jpg new file mode 100644 index 00000000..e3c7260f Binary files /dev/null and b/doc/devices/photos/ONT-S207CW-Binardat-2G06-04210GSM/binardat-2g06-04210gsm-pcb.jpg differ diff --git a/doc/supported_devices.md b/doc/supported_devices.md index ee2d2c47..52e62bcd 100644 --- a/doc/supported_devices.md +++ b/doc/supported_devices.md @@ -29,6 +29,8 @@ The following devices have been tested and are fully working: | Mokerlink| 2G040210GSM | Yes | [2M-PCB43-V1.1](devices/2M-PCB43-V1.1.md) | | 4 + 2 | | Mokerlink| ZX-SWTGW218AS | Yes | [SWTG118AS-V2.0-16029](devices/SWTGW218AS.md) | 2M | 8 + 1 | | MokerLink| POE-2G080110GS | No | [2M-PCB51-ML-V1.1](devices/2M-PCB51-ML-V1_1.md) | 4M | 8 + 1 | +| Binardat | 2G06-04210GSM | No | [PCB-SWTG024AS-A-2.0.1](devices/ONT-S207CW-62TS-SE.md) | 0.5M | 4 + 2 | +| ONT | ONT-S207CW-62TS-SE | No | [PCB-SWTG024AS-A-2.0.1](devices/ONT-S207CW-62TS-SE.md) | 0.5M | 4 + 2 | | Netcore | GS9 | No | [PB-2132](devices/PB-2132.md) | 4M | 8 + 1 | | Ruiying | RY-4GT-2SX | No | [FG-4GT-2SX_V2.0](devices/FG-4GT-2SX_V2.0.md) | 4M | 4 + 2 | | Ruiying | RY-8GT-1SX | No | [FG-8GT-1SX](devices/FG-8GT-1SX.md) | 1M | 8 + 1 | diff --git a/machine.c b/machine.c index aab941d6..af79d920 100644 --- a/machine.c +++ b/machine.c @@ -935,6 +935,68 @@ __code const struct machine machine = { }, }; +#elif defined MACHINE_ONT_S207CW_62TS_SE + +__code const struct machine machine = { + .machine_name = "ONT-S207CW-62TS-SE / Binardat 2G06-04210GSM / Binardat 2G06-04210GS", + .isRTL8373 = 0, + .min_port = 3, + .max_port = 8, + .n_sfp = 2, + .log_to_phys_port = {0, 0, 0, 5, 4, 3, 2, 1, 6}, + .phys_to_log_port = {7, 6, 5, 4, 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 = I2CBUS( GPIO41_I2C_SDA3_MDIO1, 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 = I2CBUS( GPIO39_I2C_SDA4, 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, 3, 0, 0, 2, 2, 3}, + .mac_flash_offset = 0x1FC000, + .led_sets = { + { // RJ45 Ports 3-4 (normal wiring) + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT, + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + 0, + 0 + }, + { // Unused + 0, + 0, + 0, + 0 + }, + { // RJ45 Ports 1-2 (reversed wiring) + LEDS_2G5 | LEDS_LINK | LEDS_ACT, + LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT, + 0, + 0 + }, + { // SFP Ports 5-6 + 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 + }, +}; + #elif defined MACHINE_SWTG024AS_A_2_0_1_5C_1SFP __code const struct machine machine = { .machine_name = "SWTG024AS-A-V2.0.1-5C-1SFP", diff --git a/machine.h b/machine.h index 84367c2d..30575781 100644 --- a/machine.h +++ b/machine.h @@ -41,6 +41,7 @@ // #define MACHINE_HI_K0801WS // #define MACHINE_FNS1200P // #define MACHINE_PCB_SWTG024AS_A_2_0_1 +// #define MACHINE_ONT_S207CW_62TS_SE // #define MACHINE_SWTG024AS_A_2_0_1_5C_1SFP // #define MACHINE_SWTG024AS_V2_0 // #define MACHINE_FG_4GT_2SX_V2_0