aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-11-12 16:00:10 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-11-12 17:18:26 +0100
commita51e46e543ef2e923fb97fb092d04355dfca7d7d (patch)
tree6179f5f966bb66e332e8957c5e66d87b9e786a6f /target/linux/ramips
parent01aa24f9856946c97e21133551a0646027809ef9 (diff)
downloadupstream-a51e46e543ef2e923fb97fb092d04355dfca7d7d.tar.gz
upstream-a51e46e543ef2e923fb97fb092d04355dfca7d7d.tar.bz2
upstream-a51e46e543ef2e923fb97fb092d04355dfca7d7d.zip
ramips: add Xiaomi Mi Router 4A Gigabit explicitly
This device has previously been supported by the image for Xiaomi Mi Router 3G v2. Since this is not obvious, the 4A is marketed as a new major revision and it also seems to have a different bootloader, this will be both more tidy and more helpful for the users. Apart from that, note that there also is a 100M version of the device that uses mt7628 platform, so a specifically named image will also prevent confusion in this area. Specifications: - SoC: MediaTek MT7621 - Flash: 16 MiB NOR SPI - RAM: 128 MiB DDR3 - Ethernet: 3x 10/100/1000 Mbps (switched, 2xLAN + WAN) - WIFI0: MT7603E 2.4GHz 802.11b/g/n - WIFI1: MT7612E 5GHz 802.11ac - Antennas: 4x external (2 per radio), non-detachable - LEDs: Programmable "power" LED (two-coloured, yellow/blue) Non-programmable "internet" LED (shows WAN activity) - Buttons: Reset Installation: Bootloader won't accept any serial input unless "boot_wait" u-boot environment variable is changed to "on". Vendor firmware won't accept any serial input until "uart_en" is set to "1". Using the https://github.com/acecilia/OpenWRTInvasion exploit you can gain access to shell to enable these options: To enable uart keyboard actions - 'nvram set uart_en=1' To make uboot delay boot work - 'nvram set boot_wait=on' Set boot delay to 5 - 'nvram set bootdelay=5' Then run 'nvram commit' to make the changes permanent. Once in the shell (following the OpenWRTInvasion instructions) you can then run the following to flash OpenWrt and then reboot: 'cd /tmp; curl https://downloads.openwrt.org/...-sysupgrade.bin --output firmware.bin; mtd -e OS1 -r write firmware.bin OS1' Suggested-by: David Bentham <db260179@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ramips')
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi161
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts8
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts157
-rw-r--r--target/linux/ramips/image/mt7621.mk14
-rwxr-xr-xtarget/linux/ramips/mt7621/base-files/etc/board.d/02_network3
5 files changed, 183 insertions, 160 deletions
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
new file mode 100644
index 0000000000..65b299e425
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
@@ -0,0 +1,161 @@
+// 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>
+
+/ {
+ aliases {
+ led-boot = &led_status_yellow;
+ led-failsafe = &led_status_yellow;
+ led-running = &led_status_blue;
+ led-upgrade = &led_status_yellow;
+ label-mac-device = &wan;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_status_blue: status_blue {
+ label = "blue:status";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ led_status_yellow: status_yellow {
+ label = "yellow:status";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <80000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "u-boot-env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "Bdata";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ factory: partition@50000 {
+ label = "factory";
+ reg = <0x50000 0x10000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "crash";
+ reg = <0x60000 0x10000>;
+ read-only;
+ };
+
+ partition@70000 {
+ label = "cfg_bak";
+ reg = <0x70000 0x10000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "overlay";
+ reg = <0x80000 0x100000>;
+ read-only;
+ };
+
+ firmware: partition@180000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x180000 0xe80000>;
+ };
+ };
+ };
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi@0,0 {
+ compatible = "pci14c3,7662";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ };
+};
+
+&pcie1 {
+ wifi@0,0 {
+ compatible = "pci14c3,7603";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x0000>;
+ ieee80211-freq-limit = <2400000 2500000>;
+ };
+};
+
+&gmac0 {
+ mtd-mac-address = <&factory 0xe000>;
+};
+
+&switch0 {
+ ports {
+ port@2 {
+ status = "okay";
+ label = "lan2";
+ };
+
+ port@3 {
+ status = "okay";
+ label = "lan1";
+ };
+
+ wan: port@4 {
+ status = "okay";
+ label = "wan";
+ mtd-mac-address = <&factory 0xe006>;
+ };
+ };
+};
+
+&state_default {
+ gpio {
+ groups = "jtag", "uart2", "uart3", "wdt";
+ function = "gpio";
+ };
+};
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts
new file mode 100644
index 0000000000..4387d3b79f
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_xiaomi_mi-router-4a-3g-v2.dtsi"
+
+/ {
+ compatible = "xiaomi,mi-router-4a-gigabit", "mediatek,mt7621-soc";
+ model = "Xiaomi Mi Router 4A Gigabit Edition";
+};
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts b/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
index 3df6931bd4..50c5a7dafb 100644
--- a/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
+++ b/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
@@ -1,163 +1,8 @@
// 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 "mt7621_xiaomi_mi-router-4a-3g-v2.dtsi"
/ {
compatible = "xiaomi,mir3g-v2", "mediatek,mt7621-soc";
model = "Xiaomi Mi Router 3G v2";
-
- aliases {
- led-boot = &led_status_yellow;
- led-failsafe = &led_status_yellow;
- led-running = &led_status_blue;
- led-upgrade = &led_status_yellow;
- label-mac-device = &wan;
- };
-
- chosen {
- bootargs = "console=ttyS0,115200n8";
- };
-
- leds {
- compatible = "gpio-leds";
-
- led_status_blue: status_blue {
- label = "blue:status";
- gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
- };
-
- led_status_yellow: status_yellow {
- label = "yellow:status";
- gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
- };
- };
-
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
-};
-
-&spi0 {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <80000000>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x30000>;
- read-only;
- };
-
- partition@30000 {
- label = "u-boot-env";
- reg = <0x30000 0x10000>;
- read-only;
- };
-
- partition@40000 {
- label = "Bdata";
- reg = <0x40000 0x10000>;
- read-only;
- };
-
- factory: partition@50000 {
- label = "factory";
- reg = <0x50000 0x10000>;
- read-only;
- };
-
- partition@60000 {
- label = "crash";
- reg = <0x60000 0x10000>;
- read-only;
- };
-
- partition@70000 {
- label = "cfg_bak";
- reg = <0x70000 0x10000>;
- read-only;
- };
-
- partition@80000 {
- label = "overlay";
- reg = <0x80000 0x100000>;
- read-only;
- };
-
- firmware: partition@180000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x180000 0xe80000>;
- };
- };
- };
-};
-
-&pcie {
- status = "okay";
-};
-
-&pcie0 {
- wifi@0,0 {
- compatible = "pci14c3,7662";
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
- };
-};
-
-&pcie1 {
- wifi@0,0 {
- compatible = "pci14c3,7603";
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x0000>;
- ieee80211-freq-limit = <2400000 2500000>;
- };
-};
-
-&gmac0 {
- mtd-mac-address = <&factory 0xe000>;
-};
-
-&switch0 {
- ports {
- port@2 {
- status = "okay";
- label = "lan2";
- };
-
- port@3 {
- status = "okay";
- label = "lan1";
- };
- wan: port@4 {
- status = "okay";
- label = "wan";
- mtd-mac-address = <&factory 0xe006>;
- };
- };
-};
-
-&state_default {
- gpio {
- groups = "jtag", "uart2", "uart3", "wdt";
- function = "gpio";
- };
};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 7e5266a294..bac3185507 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -1225,9 +1225,6 @@ define Device/xiaomi_mir3g-v2
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router 3G
DEVICE_VARIANT := v2
- DEVICE_ALT0_VENDOR := Xiaomi
- DEVICE_ALT0_MODEL := Mi Router 4A
- DEVICE_ALT0_VARIANT := Gigabit Edition
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
endef
TARGET_DEVICES += xiaomi_mir3g-v2
@@ -1251,6 +1248,17 @@ define Device/xiaomi_mir3p
endef
TARGET_DEVICES += xiaomi_mir3p
+define Device/xiaomi_mi-router-4a-gigabit
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ IMAGE_SIZE := 14848k
+ DEVICE_VENDOR := Xiaomi
+ DEVICE_MODEL := Mi Router 4A
+ DEVICE_VARIANT := Gigabit Edition
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
+endef
+TARGET_DEVICES += xiaomi_mi-router-4a-gigabit
+
define Device/xiaomi_redmi-router-ac2100
$(Device/xiaomi-ac2100)
DEVICE_MODEL := Redmi Router AC2100
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 26063470e8..fccd9c6985 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -17,7 +17,8 @@ ramips_setup_interfaces()
lenovo,newifi-d1|\
mikrotik,routerboard-m33g|\
xiaomi,mir3g|\
- xiaomi,mir3g-v2)
+ xiaomi,mir3g-v2|\
+ xiaomi,mi-router-4a-gigabit)
ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
;;
edimax,re23s|\