aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorShiji Yang <yangshiji66@qq.com>2022-09-16 01:10:52 +0800
committerHauke Mehrtens <hauke@hauke-m.de>2022-11-05 22:38:01 +0100
commitf7f9203854c7173a91655683aa7ad2a0af43f518 (patch)
treeb8ff66eeb51ff1ca0d7c32b559bdbe327dc7f86a /target
parent898b4104b3ddc6c5e327ffa00f2783ae407583a0 (diff)
downloadupstream-f7f9203854c7173a91655683aa7ad2a0af43f518.tar.gz
upstream-f7f9203854c7173a91655683aa7ad2a0af43f518.tar.bz2
upstream-f7f9203854c7173a91655683aa7ad2a0af43f518.zip
ramips: add support for SIM SIMAX1800T and Haier HAR-20S2U1
SIM AX18T and Haier HAR-20S2U1 Wi-Fi6 AX1800 routers are designed based on Tenbay WR1800K. They have the same hardware circuits and u-boot. SIM AX18T has three carrier customized models: SIMAX1800M (China Mobile), SIMAX1800T (China Telecom) and SIMAX1800U (China Unicom). All of these models run the same firmware. Specifications: SOC: MT7621 + MT7905 + MT7975 ROM: 128 MiB RAM: 256 MiB LED: status *3 R/G/B Button: reset *1 + wps/mesh *1 Ethernet: lan *3 + wan *1 (10/100/1000Mbps) TTL Baudrate: 115200 TFTP Server: 192.168.1.254 TFTP IP: 192.168.1.28 or 192.168.1.160 (when envs is broken) MAC Address: use address source label 30:xx:xx:xx:xx:62 wan lan 30:xx:xx:xx:xx:65 factory.0x8004 wan 30:xx:xx:xx:xx:62 factory.0x8004 -3 wlan2g 30:xx:xx:xx:xx:64 factory.0x0004 wlan5g 32:xx:xx:xx:xx:64 factory.0x0004 set 7th bit TFTP Installation (initramfs image only & recommend): 1. Set local tftp server IP: 192.168.1.254 and NetMask: 255.255.255.0 2. Rename initramfs-kernel.bin to "factory.bin" and put it in the root directory of the tftp server. (tftpd64 is a good choice for Windows) 3. Start the TFTP server, plug in the power supply, and wait for the system to boot. 4. Backup "firmware" partition and rename it to "firmware.bin", we need it to back to stock firmware. 5. Use "fw_printenv" command to list envs. If "firmware_select=2" is observed then set u-boot enviroment: /# fw_setenv firmware_select 1 6. Apply sysupgrade.bin in OpenWrt LuCI. Web UI Installation: 1. Apply update by uploading initramfs-factory.bin to the web UI. 2. Use "fw_printenv" command to list envs. If "firmware_select=2" is observed then set u-boot enviroment: /# fw_setenv firmware_select 1 3. Apply squashfs-sysupgrade.bin in OpenWrt LuCI. Recovery to stock firmware: a. Upload "firmware.bin" to OpenWrt /tmp, then execute: /# mtd -r write /tmp/firmware.bin firmware b. We can also write factory image "UploadBrush-bin.img" to firmware partition to recovery. Upload image file to /tmp, then execute: /# mtd erase firmware /# mtd -r write /tmp/UploadBrush-bin.img firmware How to extract stock firmware image: Download stock firmware, then use openssl: openssl aes-256-cbc -d -salt -in [Downloaded_Firmware] \ -out "firmware.tar.tgz" -k QiLunSmartWL Signed-off-by: Chen Minqiang <ptpt52@gmail.com> Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Diffstat (limited to 'target')
-rw-r--r--target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi186
-rw-r--r--target/linux/ramips/dts/mt7621_haier_har-20s2u1.dts8
-rw-r--r--target/linux/ramips/dts/mt7621_sim_simax1800t.dts8
-rw-r--r--target/linux/ramips/image/mt7621.mk42
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/board.d/02_network2
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac10
-rwxr-xr-xtarget/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh2
7 files changed, 254 insertions, 4 deletions
diff --git a/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi b/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi
new file mode 100644
index 0000000000..32d42fe813
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_haier-sim_wr1800k.dtsi
@@ -0,0 +1,186 @@
+// 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>
+
+/ {
+ aliases {
+ label-mac-device = &gmac1;
+ led-boot = &led_status_red;
+ led-failsafe = &led_status_blue;
+ led-running = &led_status_green;
+ led-upgrade = &led_status_blue;
+ };
+
+ chosen {
+ bootargs-override = "console=ttyS0,115200";
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_status_blue: led-0 {
+ label = "blue:status";
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_STATUS;
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ led_status_green: led-1 {
+ label = "green:status";
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_STATUS;
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ led_status_red: led-2 {
+ label = "red:status";
+ color = <LED_COLOR_ID_RED>;
+ function = LED_FUNCTION_STATUS;
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gmac0 {
+ nvmem-cells = <&macaddr_factory_8004>;
+ nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+ status = "okay";
+ label = "wan";
+ phy-handle = <&ethphy4>;
+
+ nvmem-cells = <&macaddr_factory_8004>;
+ nvmem-cell-names = "mac-address";
+ mac-address-increment = <(-3)>;
+};
+
+&mdio {
+ ethphy4: ethernet-phy@4 {
+ reg = <4>;
+ };
+};
+
+&nand {
+ status = "okay";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0000000 0x0080000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "u-boot-env";
+ reg = <0x0080000 0x0080000>;
+ };
+
+ factory: partition@100000 {
+ label = "factory";
+ reg = <0x0100000 0x0080000>;
+ read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_factory_8004: macaddr@8004 {
+ reg = <0x8004 0x6>;
+ };
+ };
+
+ partition@180000 {
+ label = "firmware";
+ reg = <0x0180000 0x7a80000>;
+
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0000000 0x0400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x0400000 0x7680000>;
+ };
+ };
+
+ /* last 128KiB *32 is reserved for bad blocks management */
+ };
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie1 {
+ wifi@0,0 {
+ compatible = "mediatek,mt76";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x0>;
+ mediatek,disable-radar-background;
+ };
+};
+
+&pcie2 {
+ status = "disabled";
+};
+
+&state_default {
+ gpio {
+ groups = "i2c", "uart3", "wdt";
+ function = "gpio";
+ };
+};
+
+&switch0 {
+ ports {
+ port@1 {
+ status = "okay";
+ label = "lan3";
+ };
+
+ port@2 {
+ status = "okay";
+ label = "lan2";
+ };
+
+ port@3 {
+ status = "okay";
+ label = "lan1";
+ };
+ };
+};
+
+&xhci {
+ status = "disabled";
+};
diff --git a/target/linux/ramips/dts/mt7621_haier_har-20s2u1.dts b/target/linux/ramips/dts/mt7621_haier_har-20s2u1.dts
new file mode 100644
index 0000000000..dede7dbb20
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_haier_har-20s2u1.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_haier-sim_wr1800k.dtsi"
+
+/ {
+ compatible = "haier,har-20s2u1", "mediatek,mt7621-soc";
+ model = "Haier HAR-20S2U1";
+};
diff --git a/target/linux/ramips/dts/mt7621_sim_simax1800t.dts b/target/linux/ramips/dts/mt7621_sim_simax1800t.dts
new file mode 100644
index 0000000000..3c5c9179d2
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_sim_simax1800t.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_haier-sim_wr1800k.dtsi"
+
+/ {
+ compatible = "sim,simax1800t", "mediatek,mt7621-soc";
+ model = "SIM SIMAX1800T";
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index a819abd968..60f927eeed 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -37,6 +37,18 @@ define Build/h3c-blank-header
mv $@.blank $@
endef
+define Build/haier-sim_wr1800k-factory
+ -[ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) ] && \
+ mkdir -p "$(1).tmp" && \
+ $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) "$(1).tmp/UploadBrush-bin.img" && \
+ $(MKHASH) md5 "$(1).tmp/UploadBrush-bin.img" | head -c32 > "$(1).tmp/check_MD5.txt" && \
+ $(TAR) -czf $(1).tmp.tgz -C "$(1).tmp" UploadBrush-bin.img check_MD5.txt && \
+ $(STAGING_DIR_HOST)/bin/openssl aes-256-cbc -e -salt -in $(1).tmp.tgz -out "$(1)" -k QiLunSmartWL && \
+ printf %32s "$(DEVICE_MODEL)" >> "$(1)" && \
+ rm -rf "$(1).tmp" $(1).tmp.tgz && \
+ $(CP) $(1) $(BIN_DIR)/
+endef
+
define Build/iodata-factory
$(eval fw_size=$(word 1,$(1)))
$(eval fw_type=$(word 2,$(1)))
@@ -869,6 +881,29 @@ define Device/h3c_tx1806
endef
TARGET_DEVICES += h3c_tx1806
+define Device/haier-sim_wr1800k
+ $(Device/dsa-migration)
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 125440k
+ UBINIZE_OPTS := -E 5
+ KERNEL_LOADADDR := 0x82000000
+ KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \
+ fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
+ KERNEL_INITRAMFS := $$(KERNEL) | \
+ haier-sim_wr1800k-factory $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ DEVICE_PACKAGES := kmod-mt7915e uboot-envtools
+endef
+
+define Device/haier_har-20s2u1
+ $(Device/haier-sim_wr1800k)
+ DEVICE_VENDOR := Haier
+ DEVICE_MODEL := HAR-20S2U1
+endef
+TARGET_DEVICES += haier_har-20s2u1
+
define Device/hilink_hlk-7621a-evb
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
@@ -1729,6 +1764,13 @@ define Device/sercomm_na502s
endef
TARGET_DEVICES += sercomm_na502s
+define Device/sim_simax1800t
+ $(Device/haier-sim_wr1800k)
+ DEVICE_VENDOR := SIM
+ DEVICE_MODEL := SIMAX1800T
+endef
+TARGET_DEVICES += sim_simax1800t
+
define Device/snr_snr-cpe-me2-lite
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 39af3af219..14250aa150 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -35,8 +35,10 @@ ramips_setup_interfaces()
h3c,tx1800-plus|\
h3c,tx1801-plus|\
h3c,tx1806|\
+ haier,har-20s2u1|\
hiwifi,hc5962|\
netgear,wax202|\
+ sim,simax1800t|\
xiaomi,mi-router-3-pro|\
xiaomi,mi-router-ac2100|\
xiaomi,mi-router-cr6606|\
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index ff3ee281b2..69ecaefd27 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -45,6 +45,12 @@ case "$board" in
[ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress
[ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress
;;
+ haier,har-20s2u1|\
+ jcg,y2|\
+ sim,simax1800t)
+ [ "$PHYNBR" = "1" ] && \
+ macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
+ ;;
hiwifi,hc5962)
label_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
[ "$PHYNBR" = "0" ] && [ -n "$label_mac" ] && \
@@ -69,10 +75,6 @@ case "$board" in
[ "$PHYNBR" = "1" ] && \
macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
;;
- jcg,y2)
- [ "$PHYNBR" = "1" ] && \
- macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
- ;;
linksys,e5600|\
linksys,ea6350-v4|\
linksys,ea7300-v1|\
diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
index 05907536fe..ebe4c638be 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -65,6 +65,7 @@ platform_do_upgrade() {
h3c,tx1800-plus|\
h3c,tx1801-plus|\
h3c,tx1806|\
+ haier,har-20s2u1|\
hiwifi,hc5962|\
iptime,a3004t|\
iptime,ax2004m|\
@@ -95,6 +96,7 @@ platform_do_upgrade() {
raisecom,msg1500-x-00|\
sercomm,na502|\
sercomm,na502s|\
+ sim,simax1800t|\
xiaomi,mi-router-3g|\
xiaomi,mi-router-3-pro|\
xiaomi,mi-router-4|\