[OpenWrt-Devel] [PATCH v6] ramips: add support for Asus RT-AC85P

mail at adrianschmutzler.de mail at adrianschmutzler.de
Sun Sep 15 06:31:47 EDT 2019


Hi,

see additions to the newer-ending-story below.

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Birger Koblitz
> Sent: Samstag, 14. September 2019 10:52
> To: openwrt-devel at lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH v6] ramips: add support for Asus RT-
> AC85P
> 
> ramips: add support for Asus RT-AC85P
> 
> SoC:	MediaTek MT7621AT dual-core @ 880MHz
> RAM:	256M (Winbond W632GG6KB-1)
> FLASH:	128MB (Macronix MX30LF1G18AC-TI)
> WiFi:	- 2.4GHz MediaTek MT7615N bgn
> 	- 5GHz MediaTek MT7615N nac
> Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN)
> USB:	1 x USB 3.1 (Gen 1)
> BTN:	Reset, WPS
> LED:	- Power (blue)
> 	- 5Ghz (blue)
> 	- 2.4GHz (blue)
> 	- Internet (blue)
> 	- 4x LAN (blue)
> 	(LAN/WAN leds are not controllable by GPIOs)
> UART: 	UART is present as Pads marked J4 on the PCB.
> 	3.3V - TX - RX - GND / 57600-8N1
> 	3.3V is the square pad
> MAC:	The MAC address on the router-label matches the MAC of
> 	the 2.4 GHz WiFi.
> 	LAN and WAN MAC are identical: MAC_LABEL+4
> 	5 GHz WiFi MAC: also MAC_LABEL+4
> 
> 
> Installation
> ------------
> Via U-Boot tftpd:
> Switch on device, within 2s press reset button and keep pressed until power
> LED starts blinking slowly.
> Upload factory image via tftp put, the router's ip is 192.168.1.1 and expects
> the client on 192.168.1.75.
> 
> The images also work on the Asus RT-AC65P models as tested by Gabor.
> 
> Signed-off-by: Birger Koblitz <mail at birger-koblitz.de>
> Tested-by: Gabor Varga <vargagab at gmail.com>
> 
> ---
> 
> v2: Corrected sorting of entries in 02_network
>     Model name corrected in .dts
>     Whitespace fixes in .dts
>     wifi0/1 labels added to wifi nodes in .dts
>     Device name capitalized in mt7621.mk
> 
> v3: Added firmware backup to firmware2 partition before sysupgrade
>     Corrected modules included in image
> 
> v4: Corrected MT7615N PCI IDs
> 
> v5: Fixed indentation in platform.sh
> 
> v6: Rebased to latest master
> 
> 
> diff --git a/target/linux/ramips/base-files/etc/board.d/02_network
> b/target/linux/ramips/base-files/etc/board.d/02_network
> index b4634e0928..80e6a91c88 100755
> --- a/target/linux/ramips/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> @@ -230,6 +230,18 @@ ramips_setup_interfaces()
>  		ucidef_add_switch "switch0" \
>  			"0:lan" "1:wan" "6 at eth0"
>  		;;
> +	asus,rt-ac85p|\
> +	dlink,dir-860l-b1|\
> +	elecom,wrc-1167ghbk2-s|\
> +	elecom,wrc-1900gst|\
> +	elecom,wrc-2533gst|\
> +	huawei,hg255d|\
> +	iodata,wn-ax1167gr|\
> +	iodata,wn-gx300gr|\
> +	iptime,a604m)
> +		ucidef_add_switch "switch0" \
> +			"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan"
> "6 at eth0"
> +		;;
>  	asus,rt-n15|\
>  	belkin,f9k1109v1|\
>  	sitecom,wl-351)
> @@ -297,17 +309,6 @@ ramips_setup_interfaces()
>  		ucidef_add_switch "switch0" \
>  			"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5"
> "6 at eth0"
>  		;;
> -	dlink,dir-860l-b1|\
> -	elecom,wrc-1167ghbk2-s|\
> -	elecom,wrc-1900gst|\
> -	elecom,wrc-2533gst|\
> -	huawei,hg255d|\
> -	iodata,wn-ax1167gr|\
> -	iodata,wn-gx300gr|\
> -	iptime,a604m)
> -		ucidef_add_switch "switch0" \
> -			"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan"
> "6 at eth0"
> -		;;
>  	dlink,dwr-118-a1)
>  		ucidef_add_switch "switch0" \
>  			"1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan"
> "6 at eth0"
> @@ -551,6 +552,9 @@ ramips_setup_macs()
>  	zbtlink,zbt-we3526)
>  		wan_mac=$(mtd_get_mac_binary factory 0xe006)
>  		;;
> +	asus,rt-ac85p)
> +		wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
> +		;;
>  	asus,rt-n56u)
>  		lan_mac=$(macaddr_setbit_la "$(cat
> /sys/class/net/eth0/address)")
>  		wan_mac=$(mtd_get_mac_binary factory 0x8004) diff --git
> a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> index 9889079db9..a62ded4b9d 100755
> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> @@ -18,9 +18,16 @@ platform_do_upgrade() {
>  	mikrotik,rbm33g)
>  		[ -z "$(rootfs_type)" ] && mtd erase firmware
>  		;;
> +	asus,rt-ac85p)
> +		echo "Backing up firmware"
> +		dd if=/dev/mtd4 bs=1024 count=4096  >
> /tmp/backup_firmware.bin
> +		dd if=/dev/mtd5 bs=1024 count=52224 >>
> /tmp/backup_firmware.bin
> +		mtd -e firmware2 write /tmp/backup_firmware.bin
> firmware2
> +		;;
>  	esac
> 
>  	case "$board" in
> +	asus,rt-ac85p|\
>  	hiwifi,hc5962|\
>  	netgear,r6220|\
>  	netgear,r6260|\
> diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
> b/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
> new file mode 100644
> index 0000000000..94e26ea408
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
> @@ -0,0 +1,164 @@
> +// 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>
> +
> +/ {
> +	compatible = "asus,rt-ac85p", "mediatek,mt7621-soc";
> +	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 at 1E000000 {
> +		i2c at 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 at 0 {
> +			label = "u-boot";
> +			reg = <0x0 0xe0000>;
> +			read-only;
> +		};
> +
> +		partition at e0000 {
> +			label = "u-boot-env";
> +			reg = <0xe0000 0x100000>;
> +			read-only;
> +		};
> +
> +		factory: partition at 1e0000 {
> +			label = "factory";
> +			reg = <0x1e0000 0x100000>;
> +			read-only;
> +		};
> +
> +		factory2: partition at 2e0000 {
> +			label = "factory2";
> +			reg = <0x2e0000 0x100000>;
> +			read-only;
> +		};
> +
> +		partition at 3e0000 {
> +			label = "kernel";
> +			reg = <0x3e0000 0x400000>;
> +		};
> +
> +		partition at 7e0000 {
> +			label = "ubi";
> +			reg = <0x7e0000 0x2e00000>;
> +		};
> +
> +		partition at 35e0000 {
> +			label = "firmware2";
> +			reg = <0x35e0000 0x3200000>;
> +		};
> +	};
> +};
> +
> +&pcie {
> +	status = "okay";
> +};
> +
> +&pcie0 {
> +	wifi0: wifi at 0,0 {
> +		compatible = "pci14c3,7615";
> +		reg = <0x0000 0 0 0 0>;
> +		mediatek,mtd-eeprom = <&factory 0x0000>;
> +		ieee80211-freq-limit = <2400000 2500000>;
> +		mtd-mac-address = <&factory 0x4>;

With mtd-eeprom reading from 0x0, the MAC address at 0x4 should be read by default. So, you should get the same result with the mtd-mac-address line removed.

> +	};
> +};
> +
> +&pcie1 {
> +	wifi1: wifi at 0,0 {
> +		compatible = "pci14c3,7615";
> +		reg = <0x0000 0 0 0 0>;
> +		mediatek,mtd-eeprom = <&factory 0x8000>;
> +		ieee80211-freq-limit = <5000000 6000000>;
> +		mtd-mac-address = <&factory 0x8004>;

See above: address is mtd-eeprom +4, so try to remove it.

> +	};
> +};
> +
> +&ethernet {
> +	mtd-mac-address = <&factory 0xe000>;
> +	mediatek,portmap = "wllll";
> +	port at 5 {
> +		status = "disabled";
> +	};
> +};
> +
> +&i2c {
> +    status = "disabled";

Indent is wrong here.

Best

Adrian

> +};
> +
> +&pinctrl {
> +	state_default: pinctrl0 {
> +		gpio {
> +			ralink,group = "uart2", "uart3", "i2c";
> +			ralink,function = "gpio";
> +		};
> +	};
> +};
> diff --git a/target/linux/ramips/image/mt7621.mk
> b/target/linux/ramips/image/mt7621.mk
> index 986fe5e2f8..79d14a5954 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -115,6 +115,22 @@ define Device/asus_rt-ac57u  endef
> TARGET_DEVICES += asus_rt-ac57u
> 
> +define Device/asus_rt-ac85p
> +  MTK_SOC := mt7621
> +  DEVICE_VENDOR := ASUS
> +  DEVICE_MODEL := RT-AC85P
> +  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-ac85p
> +
>  define Device/buffalo_wsr-1166dhp
>    MTK_SOC := mt7621
>    IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata diff --git
> a/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-
> support.patch b/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-
> nand-support.patch
> index 03b2b36db9..3c6a59b863 100644
> --- a/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-
> support.patch
> +++ b/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-
> support.
> +++ patch
> @@ -4256,7 +4256,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
> +#endif /* __NAND_DEF_H__ */
>  --- /dev/null
>  +++ b/drivers/mtd/nand/nand_device_list.h
> -@@ -0,0 +1,59 @@
> +@@ -0,0 +1,60 @@
>  +/* Copyright Statement:
>  + *
>  + * This software/firmware and related documentation ("MediaTek
> Software") are @@ -4308,6 +4308,7 @@ Signed-off-by: John Crispin
> <blogic at openwrt.org>
>  +	{0xC8DC, 0x909554, 5, 8, 512, 128, 2048, 64, 0x30C77fff, "F59L4G81A",
> 0},
>  +	{0xECD3, 0x519558, 5, 8, 1024, 128, 2048, 64, 0x44333, "K9K8G8000",
> 0},
>  +    {0xC2F1, 0x801DC2, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "MX30LF1G08AA",
> 0},
> ++    {0xC2F1, 0x809502, 4, 8, 128, 128, 2048, 64, 0x30C77fff,
> ++ "MX30LF1G18AC", 0},
>  +    {0x98D3, 0x902676, 5, 8, 1024, 256, 4096, 224, 0x00C25332,
> "TC58NVG3S0F", 0},
>  +    {0x01DA, 0x909546, 5, 8, 256, 128, 2048, 128, 0x30C77fff,
> "S34ML02G200TF", 0},
>  +    {0x01DC, 0x909556, 5, 8, 512, 128, 2048, 128, 0x30C77fff,
> "S34ML04G200TF", 0},
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20190915/398f2bad/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list