ramips: add support for Asus RT-AC65P

The Asus RT-AC65P router is identical with the RT-AC85P, but better to make separate images for it.

On both routers the installation can be done also via SSH:

Note: The user/password for SSH is identical with the one used in the
Web-interface.

1. Complete the initial setup wizard.
2. Activate SSH under "Administration" -> "System".
3. Transfer the OpenWrt factory image via scp:
 > scp openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin admin@192.168.50.1:/tmp
4. Connect via SSH to the router.
 > ssh admin@192.168.50.1
5. Write the OpenWrt image to flash.
 > mtd-write -i
/tmp/openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin -d linux
6. Reboot the router
 > reboot

Changelog:

v3: removed [] from filename, rebased to latest master
v2: Rebased to latest master
v1: Initial release

Signed-off-by: Gabor Varga <vargagab@gmail.com>
This commit is contained in:
Gabor Varga 2019-10-22 21:44:09 +02:00 committed by John Crispin
parent 49db2026e5
commit 7c5f712e4f
6 changed files with 190 additions and 155 deletions

View File

@ -234,6 +234,7 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0:lan" "1:wan" "6@eth0" "0:lan" "1:wan" "6@eth0"
;; ;;
asus,rt-ac65p|\
asus,rt-ac85p|\ asus,rt-ac85p|\
dlink,dir-860l-b1|\ dlink,dir-860l-b1|\
elecom,wrc-1167ghbk2-s|\ elecom,wrc-1167ghbk2-s|\
@ -562,6 +563,7 @@ ramips_setup_macs()
zbtlink,zbt-we3526) zbtlink,zbt-we3526)
wan_mac=$(mtd_get_mac_binary factory 0xe006) wan_mac=$(mtd_get_mac_binary factory 0xe006)
;; ;;
asus,rt-ac65p|\
asus,rt-ac85p) asus,rt-ac85p)
wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr) wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -18,6 +18,7 @@ platform_do_upgrade() {
mikrotik,rbm33g) mikrotik,rbm33g)
[ -z "$(rootfs_type)" ] && mtd erase firmware [ -z "$(rootfs_type)" ] && mtd erase firmware
;; ;;
asus,rt-ac65p|\
asus,rt-ac85p) asus,rt-ac85p)
echo "Backing up firmware" echo "Backing up firmware"
dd if=/dev/mtd4 bs=1024 count=4096 > /tmp/backup_firmware.bin dd if=/dev/mtd4 bs=1024 count=4096 > /tmp/backup_firmware.bin
@ -27,6 +28,7 @@ platform_do_upgrade() {
esac esac
case "$board" in case "$board" in
asus,rt-ac65p|\
asus,rt-ac85p|\ asus,rt-ac85p|\
hiwifi,hc5962|\ hiwifi,hc5962|\
netgear,r6220|\ netgear,r6220|\

View File

@ -0,0 +1,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7621_asus_rt-acx5p.dtsi"
/ {
compatible = "asus,rt-ac65p", "mediatek,mt7621-soc";
model = "ASUS RT-AC65P";
};

View File

@ -1,162 +1,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/; /dts-v1/;
#include "mt7621.dtsi" #include "mt7621_asus_rt-acx5p.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ { / {
compatible = "asus,rt-ac85p", "mediatek,mt7621-soc"; compatible = "asus,rt-ac85p", "mediatek,mt7621-soc";
model = "ASUS RT-AC85P"; model = "ASUS RT-AC85P";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,57600";
};
palmbus: palmbus@1E000000 {
i2c@900 {
status = "okay";
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "rt-ac85p:blue:power";
gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan2g {
label = "rt-ac85p:blue:wlan2g";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
wlan5g {
label = "rt-ac85p:blue:wlan5g";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
};
};
&sdhci {
status = "okay";
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0xe0000>;
read-only;
};
partition@e0000 {
label = "u-boot-env";
reg = <0xe0000 0x100000>;
read-only;
};
factory: partition@1e0000 {
label = "factory";
reg = <0x1e0000 0x100000>;
read-only;
};
factory2: partition@2e0000 {
label = "factory2";
reg = <0x2e0000 0x100000>;
read-only;
};
partition@3e0000 {
label = "kernel";
reg = <0x3e0000 0x400000>;
};
partition@7e0000 {
label = "ubi";
reg = <0x7e0000 0x2e00000>;
};
partition@35e0000 {
label = "firmware2";
reg = <0x35e0000 0x3200000>;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi0: wifi@0,0 {
compatible = "pci14c3,7615";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&pcie1 {
wifi1: wifi@0,0 {
compatible = "pci14c3,7615";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0xe000>;
mediatek,portmap = "wllll";
port@5 {
status = "disabled";
};
};
&i2c {
status = "disabled";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "uart2", "uart3", "i2c";
ralink,function = "gpio";
};
};
}; };

View File

@ -0,0 +1,159 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,57600";
};
palmbus: palmbus@1E000000 {
i2c@900 {
status = "okay";
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "rt-ac85p:blue:power";
gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan2g {
label = "rt-ac85p:blue:wlan2g";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
wlan5g {
label = "rt-ac85p:blue:wlan5g";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
};
};
&sdhci {
status = "okay";
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0xe0000>;
read-only;
};
partition@e0000 {
label = "u-boot-env";
reg = <0xe0000 0x100000>;
read-only;
};
factory: partition@1e0000 {
label = "factory";
reg = <0x1e0000 0x100000>;
read-only;
};
factory2: partition@2e0000 {
label = "factory2";
reg = <0x2e0000 0x100000>;
read-only;
};
partition@3e0000 {
label = "kernel";
reg = <0x3e0000 0x400000>;
};
partition@7e0000 {
label = "ubi";
reg = <0x7e0000 0x2e00000>;
};
partition@35e0000 {
label = "firmware2";
reg = <0x35e0000 0x3200000>;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi0: wifi@0,0 {
compatible = "pci14c3,7615";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&pcie1 {
wifi1: wifi@0,0 {
compatible = "pci14c3,7615";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0xe000>;
mediatek,portmap = "wllll";
port@5 {
status = "disabled";
};
};
&i2c {
status = "disabled";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "uart2", "uart3", "i2c";
ralink,function = "gpio";
};
};
};

View File

@ -125,6 +125,22 @@ define Device/asus_rt-ac57u
endef endef
TARGET_DEVICES += asus_rt-ac57u TARGET_DEVICES += asus_rt-ac57u
define Device/asus_rt-ac65p
MTK_SOC := mt7621
DEVICE_VENDOR := ASUS
DEVICE_MODEL := RT-AC65P
IMAGE_SIZE := 51200k
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 4096k
IMAGES += factory.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
endef
TARGET_DEVICES += asus_rt-ac65p
define Device/asus_rt-ac85p define Device/asus_rt-ac85p
MTK_SOC := mt7621 MTK_SOC := mt7621
DEVICE_VENDOR := ASUS DEVICE_VENDOR := ASUS