ramips: add support for ASUS RT-AC54U

Specification:

- CPU: MTK MT7620A
- RAM: 64MB
- ROM: 16MB SPI Flash Macronix MX25L12835E
- WiFi1: MediaTek MT7620A
- WiFi2: MediaTek MT7612E
- Button: reset, wps
- LED: 9 LEDs:Power, WiFi 2.4G,WiFi 5G, USB, LAN1, LAN2, LAN3, LAN4, WAN
- Ethernet: 5 ports, 4 LAN + 1 WAN
- Other: 1x UART 1x USB2.0

Installation:

   Update using ASUS Firmware Restoration Tool:

1. Download the ASUS Firmware Restoration Tool but don't open it yet
2. Unplug your computer from the router
3. Put the router into Rescue Mode by: turning the power off, using a pin
   to press and hold the reset button, then turning the router back on while
   keeping the reset button pressed for ~5 secs until the power LED starts
   flashing slowly (which indicates the router has entered Rescue Mode)
4. Important (if you don't do this next step the Asus Firmware
   Restoration Tool will wrongly assume that the router is not in Rescue Mode
   and will refuse to flash it): go to the Windows Control Panel and
   temporarily disable ALL other network adapters except the one you will use
   to connect your computer to the router
5. For the single adapter you left enabled, temporarily give it the
   static IP 192.168.1.10 and the subnet mask 255.255.255.0
6. Connect a LAN cable between your computer (make sure to use the
   Ethernet port of the adapter you've just set up) and port 1 of the router
   (not the router's WAN port)
7. Rename sysupgrade.bin to factory.trx
8. Open the Asus Firmware Restoration Tool, locate factory.trx and click
   upload (if Windows shows a compatibility prompt, confirm that the tool worked fine)
9. Flashing and reboot is finished when the power LED stops blinking and
   stays on

MAC assignment based on vendor firmware:

2g    0x4	label
5g    0x8004	label +4
lan   0x22	label +4
wan   0x28	label

Signed-off-by: Zhijun You <hujy652@gmail.com>
[rebased due to DTSI patch, minor commit message adjustments, fix
label MAC address (lan->wan), do spi frequency increase separately]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Zhijun You 2020-05-14 19:37:40 +08:00 committed by Adrian Schmutzler
parent 685cc66c2a
commit 46674723e1
3 changed files with 77 additions and 1 deletions

View File

@ -0,0 +1,61 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7620a_asus_rt-ac5x.dtsi"
/ {
compatible = "asus,rt-ac54u", "ralink,mt7620a-soc";
model = "Asus RT-AC54U";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "rt-ac54u:blue:power";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
usb {
label = "rt-ac54u:blue:usb";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
wifi2g {
label = "rt-ac54u:blue:wifi2g";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x22>;
};
&state_default {
gpio {
groups = "i2c", "wled", "uartf";
function = "gpio";
};
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
led {
led-sources = <2>;
};
};
};

View File

@ -86,6 +86,16 @@ define Device/asus_rt-ac51u
endef
TARGET_DEVICES += asus_rt-ac51u
define Device/asus_rt-ac54u
SOC := mt7620a
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Asus
DEVICE_MODEL := RT-AC54U
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci \
kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += asus_rt-ac54u
define Device/asus_rt-n12p
SOC := mt7620n
IMAGE_SIZE := 16064k

View File

@ -70,7 +70,8 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
asus,rt-ac51u)
asus,rt-ac51u|\
asus,rt-ac54u)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
@ -270,6 +271,10 @@ ramips_setup_macs()
wan_mac=$(mtd_get_mac_binary factory 0x2e)
label_mac=$(mtd_get_mac_binary factory 0x4)
;;
asus,rt-ac54u)
wan_mac=$(mtd_get_mac_binary factory 0x28)
label_mac=$wan_mac
;;
dlink,dch-m225)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
;;