This commit adds support for TP-Link Archer AX80v1(US/RU/CA).
Device specification
SoC Type: MediaTek MT7986AV, Cortex-A53, 64-bit
RAM: ESMT M15T4G16256 (512MB)
Flash: ESMT F50L1G41LB (128 MB)
Ethernet: MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8)
Ethernet: 1x2.5Gbe (WAN/LAN 2.5Gbps), 4xGbE (WAN/LAN 1Gbps, LAN1, LAN2, LAN3)
WLAN 2g: MediaTek MT7976GN
WLAN 5g: MediaTek MT7976AN
LEDs: 1 red,1 green,1 blue status LEDs,
Buttons: 4 (Reset,ledswitch,wps,wlan),
USB ports: 1 (USB 3.0)
Power: 12 VDC, 3,3 A
Connector: Barrel
Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI
slots contain "seconduboot" (also U-Boot 2022.01-rc4)
Serial console (UART)
V
+-------+-------+-------+-------+
| +3.3V | GND | TX | RX |
+---+---+-------+-------+-------+
|
+--- Don't connect
Installation (UART)
Place OpenWrt initramfs image on tftp server with IP 192.168.1.2
Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C'
Load and run OpenWrt initramfs image:
tftpboot initramfs-kernel.bin
bootm
!!Attention!! is very important! After entering OpenWrt, please set / update the environment variables:
fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
fw_setenv mtdids "spi-nand0=spi-nand0"
fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data),8M(mali_data)"
fw_setenv tp_boot_idx 0
Run 'sysupgrade -n' with the sysupgrade OpenWrt image from console or Luci WebUI.
Recovery
Press Reset button and power on the router
Navigate to U-Boot recovery web server (192.168.1.1) and upload the OEM firmware
Stock layout
0x000000000000-0x000000200000 : "boot"
0x000000200000-0x000000300000 : "u-boot-env"
0x000000300000-0x000003500000 : "ubi0"
0x000003500000-0x000006700000 : "ubi1"
0x000006700000-0x000006f00000 : "userconfig"
0x000006f00000-0x000007300000 : "tp_data"
0x000007300000-0x000007B00000 : "mali_data"
ubi0/ubi1 format
U-Boot at boot checks that all volumes are in place:
+-------------------------------+
| Volume Name: uboot Vol ID: 0|
| Volume Name: kernel Vol ID: 1|
| Volume Name: rootfs Vol ID: 2|
+-------------------------------+
MAC addresses
+---------+-------------------+-----------+
| label | 00:eb:xx:xx:xx:be | label |
| LAN | 00:eb:xx:xx:xx:be | label |
| WAN | 00:eb:xx:xx:xx:bf | label+1 |
| WLAN 2g | 00:eb:xx:xx:xx:be | label |
| WLAN 5g | 00:eb:xx:xx:xx:bd | label-1 |
+---------+-------------------+-----------+
label MAC address was found in UBI partition "tp_data", file "default-mac".
OEM wireless eeprom is also there (file "MT7986_EEPROM.bin").
Signed-off-by: Sergey Shlukov <ichizakurain@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17753
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
163 lines
4.0 KiB
Plaintext
163 lines
4.0 KiB
Plaintext
#
|
|
# Copyright (C) 2021 OpenWrt.org
|
|
#
|
|
|
|
[ -e /etc/config/ubootenv ] && exit 0
|
|
|
|
touch /etc/config/ubootenv
|
|
|
|
. /lib/uboot-envtools.sh
|
|
. /lib/functions.sh
|
|
|
|
board=$(board_name)
|
|
|
|
ubootenv_add_mmc_default() {
|
|
local envdev="$(find_mmc_part "ubootenv" "${1:-mmcblk0}")"
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
|
|
ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
|
|
}
|
|
|
|
ubootenv_add_nor_default() {
|
|
local envdev="/dev/mtd$(find_mtd_index "u-boot-env")"
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
|
|
ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
|
|
}
|
|
|
|
ubootenv_add_ubi_default() {
|
|
. /lib/upgrade/nand.sh
|
|
local envubi=$(nand_find_ubi ubi)
|
|
local envdev=/dev/$(nand_find_volume $envubi ubootenv)
|
|
local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
|
|
ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
|
|
}
|
|
|
|
case "$board" in
|
|
abt,asr3000|\
|
|
asus,zenwifi-bt8-ubootmod|\
|
|
cmcc,a10-ubootmod|\
|
|
cudy,tr3000-v1-ubootmod|\
|
|
h3c,magic-nx30-pro|\
|
|
jcg,q30-pro|\
|
|
mercusys,mr90x-v1-ubi|\
|
|
netcore,n60|\
|
|
netcore,n60-pro|\
|
|
netis,nx31|\
|
|
nokia,ea0326gmp|\
|
|
qihoo,360t7|\
|
|
routerich,ax3000-ubootmod|\
|
|
snr,snr-cpe-ax2|\
|
|
tplink,tl-xdr4288|\
|
|
tplink,tl-xdr6086|\
|
|
tplink,tl-xdr6088|\
|
|
tplink,tl-xtr8488|\
|
|
xiaomi,mi-router-ax3000t-ubootmod|\
|
|
xiaomi,mi-router-wr30u-ubootmod|\
|
|
xiaomi,redmi-router-ax6000-ubootmod|\
|
|
zyxel,ex5601-t0-ubootmod)
|
|
ubootenv_add_ubi_default
|
|
;;
|
|
acer,predator-w6|\
|
|
acer,predator-w6d|\
|
|
acer,vero-w6m|\
|
|
glinet,gl-mt2500|\
|
|
glinet,gl-mt6000|\
|
|
glinet,gl-x3000|\
|
|
glinet,gl-xe3000|\
|
|
huasifei,wh3000|\
|
|
nradio,c8-668gl)
|
|
local envdev=$(find_mmc_part "u-boot-env")
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
|
|
;;
|
|
asus,rt-ax59u)
|
|
ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
|
|
;;
|
|
bananapi,bpi-r3|\
|
|
bananapi,bpi-r3-mini|\
|
|
bananapi,bpi-r4|\
|
|
bananapi,bpi-r4-poe|\
|
|
cmcc,rax3000m|\
|
|
jdcloud,re-cp-03)
|
|
. /lib/upgrade/fit.sh
|
|
export_fitblk_bootdev
|
|
case "$CI_METHOD" in
|
|
ubi)
|
|
ubootenv_add_ubi_default
|
|
;;
|
|
emmc)
|
|
bootdev=${EMMC_KERN_DEV%%p[0-9]*}
|
|
ubootenv_add_mmc_default "${bootdev#/dev/}"
|
|
;;
|
|
default)
|
|
ubootenv_add_nor_default
|
|
;;
|
|
esac
|
|
;;
|
|
comfast,cf-e393ax)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x80000"
|
|
;;
|
|
cetron,ct3003|\
|
|
edgecore,eap111|\
|
|
netgear,wax220|\
|
|
zbtlink,zbt-z8102ax|\
|
|
zbtlink,zbt-z8103ax)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
|
;;
|
|
dlink,aquila-pro-ai-m30-a1|\
|
|
dlink,aquila-pro-ai-m60-a1)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
|
|
;;
|
|
gatonetworks,gdsp)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
|
|
;;
|
|
glinet,gl-mt3000)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
|
|
;;
|
|
mercusys,mr80x-v3|\
|
|
mercusys,mr90x-v1|\
|
|
routerich,ax3000|\
|
|
routerich,ax3000-v1|\
|
|
tenbay,wr3000k|\
|
|
tplink,re6000xd)
|
|
local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
|
|
;;
|
|
openembed,som7981)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x80000"
|
|
ubootenv_add_uci_sys_config "/dev/mtd3" "0x0" "0x100000" "0x100000"
|
|
;;
|
|
openwrt,one)
|
|
ubootenv_add_ubi_default
|
|
;;
|
|
smartrg,sdg-8733|\
|
|
smartrg,sdg-8733a|\
|
|
smartrg,sdg-8734)
|
|
local envdev=$(find_mmc_part "u-boot-env" "mmcblk0")
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x8000" "0x8000"
|
|
;;
|
|
tplink,archer-ax80-v1)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" "8"
|
|
;;
|
|
ubnt,unifi-6-plus)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x10000"
|
|
;;
|
|
xiaomi,mi-router-ax3000t|\
|
|
xiaomi,mi-router-wr30u-stock|\
|
|
xiaomi,redmi-router-ax6000-stock)
|
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000"
|
|
ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x10000" "0x20000"
|
|
;;
|
|
zyxel,ex5601-t0)
|
|
local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
|
|
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x40000" "2"
|
|
;;
|
|
zyxel,ex5700-telenor)
|
|
ubootenv_add_uci_config "/dev/ubootenv" "0x0" "0x4000" "0x4000" "1"
|
|
;;
|
|
esac
|
|
|
|
config_load ubootenv
|
|
config_foreach ubootenv_add_app_config
|
|
|
|
exit 0
|