mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
8a0746955d
This adds support for Beeline Smart Box TURBO+ (Serсomm S3 CQR) router.
Device specification
--------------------
SoC Type: MediaTek MT7621AT (880 MHz, 2 cores)
RAM (Nanya NT5CC64M16GP): 128 MiB
Flash (Macronix MX30LF1G18AC): 128 MiB
Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2
Wireless 5 GHz (MT7615N): a/n/ac, 4x4
Ethernet: 5 ports - 5×GbE (WAN, LAN1-4)
USB ports: 1xUSB3.0
Buttons: 2 button (reset, wps)
LEDs: Red, Green, Blue
Zigbee (EFR32MG1B232GG): 3.0
Stock bootloader: U-Boot 1.1.3
Power: 12 VDC, 1.5 A
Installation (fw 2.0.9)
-----------------------
1. Login to the web interface under SuperUser (root) credentials.
Password: SDXXXXXXXXXX, where SDXXXXXXXXXX is serial number of the
device written on the backplate stick.
2. Navigate to Setting -> WAN. Add:
Name - WAN1
Connection Type - Static
IP Address - 172.16.0.1
Netmask - 255.255.255.0
Save -> Apply. Set default: WAN1
3. Enable SSH and HTTP on WAN. Setting -> Remote control. Add:
Protocol - SSH
Port - 22
IP Address - 172.16.0.1
Netmask - 255.255.255.0
WAN Interface - WAN1
Save ->Apply
Add:
Protocol - HTTP
Port - 80
IP Address - 172.16.0.1
Netmask - 255.255.255.0
WAN interface - WAN1
Save -> Apply
4. Set up your PC ethernet:
Connection Type - Static
IP Address - 172.16.0.2
Netmask - 255.255.255.0
Gateway - 172.16.0.1
5. Connect PC using ethernet cable to the WAN port of the router
6. Connect to the router using SSH shell under SuperUser account
7. Make a mtd backup (optional, see related section)
8. Change bootflag to Sercomm1 and reboot:
printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
reboot
9. Login to the router web interface under admin account
10. Remove dots from the OpenWrt factory image filename
11. Update firmware via web using OpenWrt factory image
Revert to stock
---------------
Change bootflag to Sercomm1 in OpenWrt CLI and then reboot:
printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
mtd backup
----------
1. Set up a tftp server (e.g. tftpd64 for windows)
2. Connect to a router using SSH shell and run the following commands:
cd /tmp
for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \
tftp -l mtd$i -p 172.16.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done
tftp -l mtd.md5 -p 171.16.0.2
Recovery
--------
Use sercomm-recovery tool.
Link: https://github.com/danitool/sercomm-recovery
MAC Addresses (fw 2.0.9)
------------------------
+-----+------------+---------+
| use | address | example |
+-----+------------+---------+
| LAN | label | *:e8 |
| WAN | label + 1 | *:e9 |
| 2g | label + 4 | *:ec |
| 5g | label + 5 | *:ed |
+-----+------------+---------+
The label MAC address was found in Factory 0x21000
Factory image format
--------------------
+---+-------------------+-------------+--------------------+
| # | Offset | Size | Description |
+---+-------------------+-------------+--------------------+
| 1 | 0x0 | 0x200 | Tag Header Factory |
| 2 | 0x200 | 0x100 | Tag Header Kernel1 |
| 3 | 0x300 | 0x100 | Tag Header Kernel2 |
| 4 | 0x400 | SIZE_KERNEL | Kernel |
| 5 | 0x400+SIZE_KERNEL | SIZE_ROOTFS | RootFS(UBI) |
+---+-------------------+-------------+--------------------+
Co-authored-by: Mikhail Zhilkin <csharper2005@gmail.com>
Signed-off-by: Maximilian Weinmann <x1@disroot.org>
(cherry picked from commit 8fcfb21b16
)
249 lines
4.3 KiB
Plaintext
249 lines
4.3 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
#include "mt7621.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
/ {
|
|
compatible = "beeline,smartbox-turbo-plus", "mediatek,mt7621-soc";
|
|
model = "Beeline SmartBox TURBO+";
|
|
|
|
aliases {
|
|
label-mac-device = &gmac0;
|
|
|
|
led-boot = &led_status_green;
|
|
led-failsafe = &led_status_red;
|
|
led-running = &led_status_green;
|
|
led-upgrade = &led_status_red;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led-0 {
|
|
label = "blue:wan";
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
function = LED_FUNCTION_WAN;
|
|
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
led_status_green: led-1 {
|
|
label = "green:status";
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
function = LED_FUNCTION_STATUS;
|
|
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
led_status_red: led-2 {
|
|
label = "red:status";
|
|
color = <LED_COLOR_ID_RED>;
|
|
function = LED_FUNCTION_STATUS;
|
|
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
ubi-concat {
|
|
compatible = "mtd-concat";
|
|
devices = <&ubiconcat0 &ubiconcat1 &ubiconcat2>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "ubi";
|
|
reg = <0x0 0x4f80000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&nand {
|
|
status = "okay";
|
|
|
|
partitions {
|
|
compatible = "sercomm,sc-partitions", "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x0 0x100000>;
|
|
sercomm,scpart-id = <0>;
|
|
read-only;
|
|
};
|
|
|
|
partition@100000 {
|
|
label = "dynamic partition map";
|
|
reg = <0x100000 0x100000>;
|
|
sercomm,scpart-id = <1>;
|
|
read-only;
|
|
};
|
|
|
|
factory: partition@200000 {
|
|
label = "Factory";
|
|
reg = <0x200000 0x100000>;
|
|
sercomm,scpart-id = <2>;
|
|
read-only;
|
|
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
macaddr_factory_21000: macaddr@21000 {
|
|
reg = <0x21000 0x6>;
|
|
};
|
|
};
|
|
|
|
partition@300000 {
|
|
label = "Boot Flag";
|
|
reg = <0x300000 0x100000>;
|
|
sercomm,scpart-id = <3>;
|
|
};
|
|
|
|
partition@400000 {
|
|
label = "kernel";
|
|
reg = <0x400000 0x600000>;
|
|
sercomm,scpart-id = <4>;
|
|
};
|
|
|
|
partition@a00000 {
|
|
label = "Kernel 2";
|
|
reg = <0xa00000 0x600000>;
|
|
sercomm,scpart-id = <5>;
|
|
read-only;
|
|
};
|
|
|
|
ubiconcat0: partition@1000000 {
|
|
label = "File System 1";
|
|
reg = <0x1000000 0x2000000>;
|
|
sercomm,scpart-id = <6>;
|
|
};
|
|
|
|
partition@3000000 {
|
|
label = "File System 2";
|
|
reg = <0x3000000 0x2000000>;
|
|
sercomm,scpart-id = <7>;
|
|
read-only;
|
|
};
|
|
|
|
ubiconcat1: partition@5000000 {
|
|
label = "Configuration/log";
|
|
reg = <0x5000000 0x1400000>;
|
|
sercomm,scpart-id = <8>;
|
|
};
|
|
|
|
ubiconcat2: partition@6400000 {
|
|
label = "application tmp buffer (Ftool)";
|
|
reg = <0x6400000 0x1b80000>;
|
|
sercomm,scpart-id = <9>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pcie {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie0 {
|
|
wifi@0,0 {
|
|
compatible = "mediatek,mt76";
|
|
reg = <0x0000 0 0 0 0>;
|
|
mediatek,mtd-eeprom = <&factory 0x8000>;
|
|
ieee80211-freq-limit = <5000000 6000000>;
|
|
|
|
nvmem-cells = <&macaddr_factory_21000>;
|
|
nvmem-cell-names = "mac-address";
|
|
mac-address-increment = <(5)>;
|
|
};
|
|
};
|
|
|
|
&pcie1 {
|
|
wifi@0,0 {
|
|
compatible = "mediatek,mt76";
|
|
reg = <0x0000 0 0 0 0>;
|
|
mediatek,mtd-eeprom = <&factory 0x0>;
|
|
ieee80211-freq-limit = <2400000 2500000>;
|
|
|
|
nvmem-cells = <&macaddr_factory_21000>;
|
|
nvmem-cell-names = "mac-address";
|
|
mac-address-increment = <(4)>;
|
|
};
|
|
};
|
|
|
|
&gmac0 {
|
|
nvmem-cells = <&macaddr_factory_21000>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
&gmac1 {
|
|
status = "okay";
|
|
label = "wan";
|
|
phy-handle = <ðphy0>;
|
|
|
|
nvmem-cells = <&macaddr_factory_21000>;
|
|
nvmem-cell-names = "mac-address";
|
|
mac-address-increment = <(1)>;
|
|
};
|
|
|
|
&mdio {
|
|
ethphy0: ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
port@1 {
|
|
status = "okay";
|
|
label = "lan1";
|
|
};
|
|
|
|
port@2 {
|
|
status = "okay";
|
|
label = "lan2";
|
|
};
|
|
|
|
port@3 {
|
|
status = "okay";
|
|
label = "lan3";
|
|
};
|
|
|
|
port@4 {
|
|
status = "okay";
|
|
label = "lan4";
|
|
};
|
|
};
|
|
};
|
|
|
|
&uartlite3 {
|
|
status = "okay";
|
|
current-speed = <57600>;
|
|
};
|
|
|
|
&state_default {
|
|
gpio {
|
|
groups = "i2c", "jtag";
|
|
function = "gpio";
|
|
};
|
|
};
|