openwrt/target/linux/ath79/image/generic-tp-link.mk
Foica David 6729fa2dd2 ath79: add support for TP-Link Deco M4R v1 and v2
This commit adds support for the TP-Link Deco M4R (it can also be M4,
TP-Link uses both names) v1 and v2. It is similar hardware-wise to the
Archer C6 v2. Software-wise it is very different. V2 has a bit different
layout from V1 but the chips are the same and the OEM firmware is the same
for both versions.

Specifications:
SoC: QCA9563-AL3A
RAM: Zentel A3R1GE40JBF
Wireless 2.4GHz: QCA9563-AL3A (main SoC)
Wireless 5GHz: QCA9886
Ethernet Switch: QCA8337N-AL3C
Flash: 16 MB SPI NOR

Flashing:

The device's bootloader only accepts images that are signed using
TP-Link's RSA key, therefore this way of flashing is not possible. The
device has a web GUI that should be accessible after setting up the device
using the app (it requires the app to set it up first because the web GUI
asks for the TP-Link account password) but for unknown reasons, the web
GUI also refuses custom images.

There is a debug firmware image that has been shared on the device's
OpenWrt forum thread that has telnet unlocked, which the bootloader will
accept because it is signed. It can be used to transfer an OpenWrt image
file over to the device and then be used with mtd to flash the device.

Pre-requisites:

- Debug firmware.
- A way of transferring the file to the router, you can use an FTP server
  as an example.
- Set a static IP of 192.168.0.2/255.255.255.0 on your computer.
- OpenWrt image.

Installation:

- Unplug your router and turn it upside down. Using a long and thin object
  like a SIM unlock tool, press and hold the reset button on the router and
  replug it. Keep holding it until the LED flashes yellow.
- Open 192.168.0.1. You should see the bootloader recovery's webpage.
  Choose the debug firmware that you downloaded and flash it. Wait until the
  router reboots (at this stage you can remove the static IP).

- Open a terminal window and connect to the router via telnet (the primary
  router should have a 192.168.0.1 IP address, secondary routers are
  different).
- Transfer the file over to the router, you can use curl to download it
  from the internet (use the insecure flag and make sure your source accepts
  insecure downloads) or from an FTP server.
- The router's default mtd partition scheme has kernel and rootfs
  separated. We can use dd to split the OpenWrt image file and flash it with
  mtd:

   dd if=openwrt.bin of=kernel.bin skip=0 count=8192 bs=256
   dd if=openwrt.bin of=rootfs.bin skip=8192 bs=256

- Once the images are ready, you have to flash the device using mtd
  (make sure to flash the correct partitions or you may be left with a
  hard bricked router):

   mtd write kernel.bin kernel
   mtd write rootfs.bin rootfs

- Flashing is done, reboot the device now.

Signed-off-by: Foica David <superh552@gmail.com>
(cherry picked from commit 063e9047cc)
2022-05-17 21:14:46 +02:00

901 lines
24 KiB
Makefile

include ./common-tp-link.mk
define Device/tplink_archer-a7-v5
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 15104k
DEVICE_MODEL := Archer A7
DEVICE_VARIANT := v5
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := ARCHER-A7-V5
endef
TARGET_DEVICES += tplink_archer-a7-v5
define Device/tplink_archer-a9-v6
$(Device/tplink-safeloader-uimage)
SOC := qcn5502
IMAGE_SIZE := 15360k
DEVICE_MODEL := Archer A9
DEVICE_VARIANT := v6
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca9984-ct
TPLINK_BOARD_ID := ARCHER-A9-V6
endef
TARGET_DEVICES += tplink_archer-a9-v6
define Device/tplink_archer-c2-v3
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C2
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct
TPLINK_BOARD_ID := ARCHER-C2-V3
endef
TARGET_DEVICES += tplink_archer-c2-v3
define Device/tplink_archer-c25-v1
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C25
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C25-V1
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct
SUPPORTED_DEVICES += archer-c25-v1
endef
TARGET_DEVICES += tplink_archer-c25-v1
define Device/tplink_archer-c5-v1
$(Device/tplink-16mlzma)
SOC := qca9558
DEVICE_MODEL := Archer C5
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_HWID := 0xc5000001
SUPPORTED_DEVICES += archer-c5
endef
TARGET_DEVICES += tplink_archer-c5-v1
define Device/tplink_archer-c58-v1
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 7936k
DEVICE_MODEL := Archer C58
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C58-V1
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c58-v1
endef
TARGET_DEVICES += tplink_archer-c58-v1
define Device/tplink_archer-c59-v1
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 14528k
DEVICE_MODEL := Archer C59
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C59-V1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c59-v1
endef
TARGET_DEVICES += tplink_archer-c59-v1
define Device/tplink_archer-c59-v2
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 14400k
DEVICE_MODEL := Archer C59
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := ARCHER-C59-V2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c59-v2
endef
TARGET_DEVICES += tplink_archer-c59-v2
define Device/tplink_archer-c6-v2
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C6
DEVICE_VARIANT := v2 (EU/RU/JP)
TPLINK_BOARD_ID := ARCHER-C6-V2
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
endef
TARGET_DEVICES += tplink_archer-c6-v2
define Device/tplink_archer-c6-v2-us
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 15872k
DEVICE_MODEL := Archer C6
DEVICE_VARIANT := v2 (US)
DEVICE_ALT0_VENDOR := TP-Link
DEVICE_ALT0_MODEL := Archer A6
DEVICE_ALT0_VARIANT := v2 (US/TW)
TPLINK_BOARD_ID := ARCHER-C6-V2-US
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
endef
TARGET_DEVICES += tplink_archer-c6-v2-us
define Device/tplink_archer-c60-v1
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 7936k
DEVICE_MODEL := Archer C60
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C60-V1
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c60-v1
endef
TARGET_DEVICES += tplink_archer-c60-v1
define Device/tplink_archer-c60-v2
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C60
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := ARCHER-C60-V2
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c60-v2
endef
TARGET_DEVICES += tplink_archer-c60-v2
define Device/tplink_archer-c60-v3
$(Device/tplink-safeloader-uimage)
SOC := qca9561
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C60
DEVICE_VARIANT := v3
TPLINK_BOARD_ID := ARCHER-C60-V3
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
endef
TARGET_DEVICES += tplink_archer-c60-v3
define Device/tplink_archer-c7-v1
$(Device/tplink-8mlzma)
SOC := qca9558
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x75000001
SUPPORTED_DEVICES += archer-c7
endef
TARGET_DEVICES += tplink_archer-c7-v1
define Device/tplink_archer-c7-v2
$(Device/tplink-16mlzma)
SOC := qca9558
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_HWID := 0xc7000002
SUPPORTED_DEVICES += archer-c7
IMAGES += factory-us.bin factory-eu.bin
IMAGE/factory-us.bin := tplink-v1-image factory -C US
IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
endef
TARGET_DEVICES += tplink_archer-c7-v2
define Device/tplink_archer-c7-v4
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 15104k
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v4
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := ARCHER-C7-V4
SUPPORTED_DEVICES += archer-c7-v4
endef
TARGET_DEVICES += tplink_archer-c7-v4
define Device/tplink_archer-c7-v5
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 15360k
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v5
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := ARCHER-C7-V5
SUPPORTED_DEVICES += archer-c7-v5
endef
TARGET_DEVICES += tplink_archer-c7-v5
define Device/tplink_archer-d50-v1
$(Device/tplink-v2)
SOC := qca9531
DEVICE_MODEL := Archer D50
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
IMAGE_SIZE := 7808k
TPLINK_HWID := 0xC1200001
TPLINK_HWREV := 0x00000046
TPLINK_FLASHLAYOUT := 8Mqca
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | \
tplink-v2-header -s -V "ver. 1.0"
endef
TARGET_DEVICES += tplink_archer-d50-v1
define Device/tplink_archer-d7-v1
$(Device/tplink-v2)
SOC := qca9558
DEVICE_MODEL := Archer D7
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k-ct ath10k-firmware-qca988x-ct
IMAGE_SIZE := 15936k
TPLINK_HWID := 0x89300001
TPLINK_HWREV := 0x0000002D
TPLINK_FLASHLAYOUT := 16Mqca
TPLINK_HWREVADD := 0x00000002
endef
TARGET_DEVICES += tplink_archer-d7-v1
define Device/tplink_archer-d7b-v1
$(Device/tplink-v2)
SOC := qca9558
DEVICE_MODEL := Archer D7b
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k-ct ath10k-firmware-qca988x-ct
IMAGE_SIZE := 16000k
TPLINK_HWID := 0x89300001
TPLINK_HWREV := 0x0000003D
TPLINK_FLASHLAYOUT := 16Mqca
endef
TARGET_DEVICES += tplink_archer-d7b-v1
define Device/tplink_cpe210-v1
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE210
DEVICE_VARIANT := v1
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE210
SUPPORTED_DEVICES += cpe210
endef
TARGET_DEVICES += tplink_cpe210-v1
define Device/tplink_cpe210-v2
$(Device/tplink-safeloader)
SOC := qca9533
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE210
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := CPE210V2
DEVICE_PACKAGES := rssileds
LOADER_TYPE := elf
SUPPORTED_DEVICES += cpe210-v2
endef
TARGET_DEVICES += tplink_cpe210-v2
define Device/tplink_cpe210-v3
$(Device/tplink-safeloader)
SOC := qca9533
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE210
DEVICE_VARIANT := v3
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE210V3
LOADER_TYPE := elf
SUPPORTED_DEVICES += cpe210-v3
endef
TARGET_DEVICES += tplink_cpe210-v3
define Device/tplink_cpe220-v2
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE220
DEVICE_VARIANT := v2
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE220V2
endef
TARGET_DEVICES += tplink_cpe220-v2
define Device/tplink_cpe220-v3
$(Device/tplink-safeloader)
SOC := qca9533
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE220
DEVICE_VARIANT := v3
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE220V3
LOADER_TYPE := elf
endef
TARGET_DEVICES += tplink_cpe220-v3
define Device/tplink_cpe510-v1
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE510
DEVICE_VARIANT := v1
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE510
SUPPORTED_DEVICES += cpe510
endef
TARGET_DEVICES += tplink_cpe510-v1
define Device/tplink_cpe510-v2
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE510
DEVICE_VARIANT := v2
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE510V2
SUPPORTED_DEVICES += cpe510-v2
endef
TARGET_DEVICES += tplink_cpe510-v2
define Device/tplink_cpe510-v3
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE510
DEVICE_VARIANT := v3
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE510V3
endef
TARGET_DEVICES += tplink_cpe510-v3
define Device/tplink_cpe610-v1
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE610
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := CPE610V1
endef
TARGET_DEVICES += tplink_cpe610-v1
define Device/tplink_cpe610-v2
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE610
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := CPE610V2
endef
TARGET_DEVICES += tplink_cpe610-v2
define Device/tplink_cpe710-v1
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 15680k
DEVICE_MODEL := CPE710
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
TPLINK_BOARD_ID := CPE710V1
endef
TARGET_DEVICES += tplink_cpe710-v1
define Device/tplink-eap2x5
$(Device/tplink-safeloader)
LOADER_TYPE := elf
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel
KERNEL_INITRAMFS := $$(KERNEL)
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory | \
pad-extra 128
endef
define Device/tplink_eap225-outdoor-v1
$(Device/tplink-eap2x5)
SOC := qca9563
IMAGE_SIZE := 13824k
DEVICE_MODEL := EAP225-Outdoor
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
TPLINK_BOARD_ID := EAP225-OUTDOOR-V1
endef
TARGET_DEVICES += tplink_eap225-outdoor-v1
define Device/tplink_eap225-v1
$(Device/tplink-eap2x5)
SOC := qca9563
IMAGE_SIZE := 13824k
DEVICE_MODEL := EAP225
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := EAP225-V1
endef
TARGET_DEVICES += tplink_eap225-v1
define Device/tplink_eap225-v3
$(Device/tplink-eap2x5)
SOC := qca9563
IMAGE_SIZE := 13824k
DEVICE_MODEL := EAP225
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
TPLINK_BOARD_ID := EAP225-V3
endef
TARGET_DEVICES += tplink_eap225-v3
define Device/tplink_eap225-wall-v2
$(Device/tplink-eap2x5)
SOC := qca9561
IMAGE_SIZE := 13824k
DEVICE_MODEL := EAP225-Wall
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
TPLINK_BOARD_ID := EAP225-WALL-V2
endef
TARGET_DEVICES += tplink_eap225-wall-v2
define Device/tplink_eap245-v1
$(Device/tplink-eap2x5)
SOC := qca9563
IMAGE_SIZE := 13824k
DEVICE_MODEL := EAP245
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := EAP245-V1
endef
TARGET_DEVICES += tplink_eap245-v1
define Device/tplink_eap245-v3
$(Device/tplink-eap2x5)
SOC := qca9563
IMAGE_SIZE := 14592k
DEVICE_MODEL := EAP245
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
TPLINK_BOARD_ID := EAP245-V3
endef
TARGET_DEVICES += tplink_eap245-v3
define Device/tplink_deco-m4r-v1
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 13824k
DEVICE_MODEL := Deco M4R
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += deco-m4r-v1
TPLINK_BOARD_ID := DECO-M4R-V1
endef
TARGET_DEVICES += tplink_deco-m4r-v1
define Device/tplink_re350k-v1
$(Device/tplink-safeloader)
SOC := qca9558
IMAGE_SIZE := 13760k
DEVICE_MODEL := RE350K
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := RE350K-V1
endef
TARGET_DEVICES += tplink_re350k-v1
define Device/tplink_rex5x-v1
$(Device/tplink-safeloader)
SOC := qca9558
IMAGE_SIZE := 6016k
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
endef
define Device/tplink_re355-v1
$(Device/tplink_rex5x-v1)
DEVICE_MODEL := RE355
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := RE355
SUPPORTED_DEVICES += re355
endef
TARGET_DEVICES += tplink_re355-v1
define Device/tplink_re450-v1
$(Device/tplink_rex5x-v1)
DEVICE_MODEL := RE450
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := RE450
SUPPORTED_DEVICES += re450
endef
TARGET_DEVICES += tplink_re450-v1
define Device/tplink_re450-v2
$(Device/tplink-safeloader)
SOC := qca9563
IMAGE_SIZE := 6016k
DEVICE_MODEL := RE450
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := RE450-V2
LOADER_TYPE := elf
endef
TARGET_DEVICES += tplink_re450-v2
define Device/tplink_re450-v3
$(Device/tplink-safeloader)
SOC := qca9563
IMAGE_SIZE := 7808k
DEVICE_MODEL := RE450
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := RE450-V3
LOADER_TYPE := elf
endef
TARGET_DEVICES += tplink_re450-v3
define Device/tplink_re455-v1
$(Device/tplink-safeloader)
SOC := qca9563
IMAGE_SIZE := 7808k
DEVICE_MODEL := RE455
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := RE455-V1
LOADER_TYPE := elf
endef
TARGET_DEVICES += tplink_re455-v1
define Device/tplink_tl-mr6400-v1
$(Device/tplink-8mlzma)
SOC := qca9531
DEVICE_MODEL := TL-MR6400
DEVICE_VARIANT := v1
TPLINK_HWID := 0x64000001
DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-rndis \
kmod-usb-serial-option adb-enablemodem
SUPPORTED_DEVICES += tl-mr6400
endef
TARGET_DEVICES += tplink_tl-mr6400-v1
define Device/tplink_tl-wa1201-v2
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 13184k
DEVICE_MODEL := TL-WA1201
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := TL-WA1201-V2
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
endef
TARGET_DEVICES += tplink_tl-wa1201-v2
define Device/tplink_tl-wdr3500-v1
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WDR3500
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x35000001
SUPPORTED_DEVICES += tl-wdr3500
endef
TARGET_DEVICES += tplink_tl-wdr3500-v1
define Device/tplink_tl-wdr3600-v1
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WDR3600
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x36000001
SUPPORTED_DEVICES += tl-wdr4300
endef
TARGET_DEVICES += tplink_tl-wdr3600-v1
define Device/tplink_tl-wdr4300-v1
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WDR4300
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x43000001
SUPPORTED_DEVICES += tl-wdr4300
endef
TARGET_DEVICES += tplink_tl-wdr4300-v1
define Device/tplink_tl-wdr4300-v1-il
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WDR4300
DEVICE_VARIANT := v1 (IL)
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x43008001
SUPPORTED_DEVICES += tl-wdr4300
endef
TARGET_DEVICES += tplink_tl-wdr4300-v1-il
define Device/tplink_tl-wdr4310-v1
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WDR4310
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x43100001
SUPPORTED_DEVICES += tl-wdr4300
endef
TARGET_DEVICES += tplink_tl-wdr4310-v1
define Device/tplink_tl-wdr4900-v2
$(Device/tplink-8mlzma)
SOC := qca9558
DEVICE_MODEL := TL-WDR4900
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x49000002
SUPPORTED_DEVICES += tl-wdr4900-v2
endef
TARGET_DEVICES += tplink_tl-wdr4900-v2
define Device/tplink_tl-wdr7500-v3
$(Device/tplink-8mlzma)
SOC := qca9558
DEVICE_MODEL := TL-WDR7500
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_HWID := 0x75000003
SUPPORTED_DEVICES += archer-c7
endef
TARGET_DEVICES += tplink_tl-wdr7500-v3
define Device/tplink_tl-wpa8630-v1
$(Device/tplink-8mlzma)
SOC := qca9563
DEVICE_MODEL := TL-WPA8630
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
TPLINK_HWID := 0x86300001
SUPPORTED_DEVICES += tl-wpa8630
endef
TARGET_DEVICES += tplink_tl-wpa8630-v1
define Device/tplink_tl-wr1043nd-v1
$(Device/tplink-8m)
SOC := ar9132
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x10430001
SUPPORTED_DEVICES += tl-wr1043nd
endef
TARGET_DEVICES += tplink_tl-wr1043nd-v1
define Device/tplink_tl-wr1043nd-v2
$(Device/tplink-8mlzma)
SOC := qca9558
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x10430002
SUPPORTED_DEVICES += tl-wr1043nd-v2
endef
TARGET_DEVICES += tplink_tl-wr1043nd-v2
define Device/tplink_tl-wr1043nd-v3
$(Device/tplink-8mlzma)
SOC := qca9558
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x10430003
SUPPORTED_DEVICES += tl-wr1043nd-v2
endef
TARGET_DEVICES += tplink_tl-wr1043nd-v3
define Device/tplink_tl-wr1043nd-v4
$(Device/tplink-safeloader)
SOC := qca9563
IMAGE_SIZE := 15552k
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v4
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x10430004
TPLINK_HWREV := 0x1
TPLINK_BOARD_ID := TLWR1043NDV4
SUPPORTED_DEVICES += tl-wr1043nd-v4
endef
TARGET_DEVICES += tplink_tl-wr1043nd-v4
define Device/tplink_tl-wr1043n-v5
$(Device/tplink-safeloader-uimage)
SOC := qca9563
IMAGE_SIZE := 15104k
DEVICE_MODEL := TL-WR1043N
DEVICE_VARIANT := v5
TPLINK_BOARD_ID := TLWR1043NV5
SUPPORTED_DEVICES += tl-wr1043n-v5
endef
TARGET_DEVICES += tplink_tl-wr1043n-v5
define Device/tplink_tl-wr1045nd-v2
$(Device/tplink-8mlzma)
SOC := qca9558
DEVICE_MODEL := TL-WR1045ND
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x10450002
endef
TARGET_DEVICES += tplink_tl-wr1045nd-v2
define Device/tplink_tl-wr2543-v1
$(Device/tplink-8mlzma)
SOC := ar7242
DEVICE_MODEL := TL-WR2543N/ND
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x25430001
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade -v 3.13.99 | \
check-size | append-metadata
IMAGE/factory.bin := tplink-v1-image factory -v 3.13.99
SUPPORTED_DEVICES += tl-wr2543n
endef
TARGET_DEVICES += tplink_tl-wr2543-v1
define Device/tplink_tl-wr710n-v1
$(Device/tplink-8mlzma)
SOC := ar9331
DEVICE_MODEL := TL-WR710N
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x07100001
SUPPORTED_DEVICES += tl-wr710n
endef
TARGET_DEVICES += tplink_tl-wr710n-v1
define Device/tplink_tl-wr710n-v2.1
$(Device/tplink-8mlzma)
SOC := ar9331
DEVICE_MODEL := TL-WR710N
DEVICE_VARIANT := v2.1
DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x07100002
TPLINK_HWREV := 0x2
SUPPORTED_DEVICES += tl-wr710n
endef
TARGET_DEVICES += tplink_tl-wr710n-v2.1
define Device/tplink_tl-wr810n-v1
$(Device/tplink-8mlzma)
SOC := qca9531
DEVICE_MODEL := TL-WR810N
DEVICE_VARIANT := v1
TPLINK_HWID := 0x8100001
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
SUPPORTED_DEVICES += tl-wr810n
endef
TARGET_DEVICES += tplink_tl-wr810n-v1
define Device/tplink_tl-wr810n-v2
$(Device/tplink-8mlzma)
SOC := qca9533
DEVICE_MODEL := TL-WR810N
DEVICE_VARIANT := v2
TPLINK_HWID := 0x8100002
SUPPORTED_DEVICES += tl-wr810n-v2
endef
TARGET_DEVICES += tplink_tl-wr810n-v2
define Device/tplink_tl-wr841hp-v2
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WR841HP
DEVICE_VARIANT := v2
TPLINK_HWID := 0x08411002
endef
TARGET_DEVICES += tplink_tl-wr841hp-v2
define Device/tplink_tl-wr841hp-v3
$(Device/tplink-8mlzma)
SOC := qca9533
DEVICE_MODEL := TL-WR841HP
DEVICE_VARIANT := v3
TPLINK_HWID := 0x08411003
endef
TARGET_DEVICES += tplink_tl-wr841hp-v3
define Device/tplink_tl-wr842n-v1
$(Device/tplink-8m)
SOC := ar7241
DEVICE_MODEL := TL-WR842N/ND
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x8420001
SUPPORTED_DEVICES += tl-mr3420
endef
TARGET_DEVICES += tplink_tl-wr842n-v1
define Device/tplink_tl-wr842n-v2
$(Device/tplink-8mlzma)
SOC := ar9341
DEVICE_MODEL := TL-WR842N/ND
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x8420002
SUPPORTED_DEVICES += tl-wr842n-v2
endef
TARGET_DEVICES += tplink_tl-wr842n-v2
define Device/tplink_tl-wr842n-v3
$(Device/tplink-16mlzma)
SOC := qca9533
DEVICE_MODEL := TL-WR842N
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x8420003
SUPPORTED_DEVICES += tl-wr842n-v3
endef
TARGET_DEVICES += tplink_tl-wr842n-v3
define Device/tplink_tl-wr902ac-v1
$(Device/tplink-safeloader)
SOC := qca9531
DEVICE_MODEL := TL-WR902AC
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct \
-swconfig -uboot-envtools
TPLINK_BOARD_ID := TL-WR902AC-V1
IMAGE_SIZE := 7360k
SUPPORTED_DEVICES += tl-wr902ac-v1
endef
TARGET_DEVICES += tplink_tl-wr902ac-v1
define Device/tplink_tl-wr941hp-v1
$(Device/tplink-safeloader)
SOC := tp9343
DEVICE_MODEL := TL-WR941HP
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := TL-WR941HP-V1
IMAGE_SIZE := 7360k
endef
TARGET_DEVICES += tplink_tl-wr941hp-v1
define Device/tplink_wbs210-v1
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS210
DEVICE_VARIANT := v1
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := WBS210
SUPPORTED_DEVICES += wbs210
endef
TARGET_DEVICES += tplink_wbs210-v1
define Device/tplink_wbs210-v2
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS210
DEVICE_VARIANT := v2
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := WBS210V2
endef
TARGET_DEVICES += tplink_wbs210-v2
define Device/tplink_wbs510-v1
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS510
DEVICE_VARIANT := v1
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := WBS510
SUPPORTED_DEVICES += wbs510
endef
TARGET_DEVICES += tplink_wbs510-v1
define Device/tplink_wbs510-v2
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS510
DEVICE_VARIANT := v2
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := WBS510V2
endef
TARGET_DEVICES += tplink_wbs510-v2