[LEDE-DEV] [PATCH] ar71xx: add support for TP-Link TL-WDR7500v6
Bizon
bizongod at gmail.com
Mon Nov 6 09:58:10 PST 2017
Hi Piotr,
Thank You for comments.
Before sending v2 patch lets clarify all doubts.
2017-11-05 23:22 GMT+01:00 Piotr Dymacz <pepe2k at gmail.com>:
> Hello Karol,
>
> Thank you for your patch but it seems that it got whitespace mangled and
> tabs were replaced with spaces. Please, send v2 using git send-email.
>
> Also, please see my comments inline, below.
>
> On 30.10.2017 20:32, Bizon wrote:
>>
>> Add support for TP-Link TL-WDR7500 V6.
>>
>> Specifications:
>> - WiSoC: QCA9563 - 3x3 2.4GHz
>> - Radio2: QCA9880 - 3x3 5GHz
>> - RAM: 64MB DDR2
>> - Storage: 8MB NOR SPI flash, can be replaced with 16M
>> - Switch: RTL8367S, now unmanaged
>> - Ethernet: 5x1G
>> - Misc: 2x button, 2x LED
>
>
> Please, include in commit message how to install LEDE on this device as
> described under "commit description" section on [1].
Ok, will prepare manual how to change bootloader to non-RSA one, move art and
install LEDE.
>
>>
>> Signed-off-by: Karol Bizewski <bizongod at gmail.com>
>> ---
>> package/boot/uboot-envtools/files/ar71xx | 2 ++
>> target/linux/ar71xx/base-files/etc/board.d/02_network | 2 ++
>> target/linux/ar71xx/base-files/etc/diag.sh | 4 ++++
>> .../base-files/etc/hotplug.d/firmware/11-ath10k-caldata | 5 +++++
>> target/linux/ar71xx/base-files/lib/ar71xx.sh | 6 ++++++
>> target/linux/ar71xx/config-4.4 | 1 +
>> target/linux/ar71xx/config-4.9 | 1 +
>> .../linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 10 ++++++++++
>> target/linux/ar71xx/files/arch/mips/ath79/Makefile | 1 +
>> target/linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 +
>> target/linux/ar71xx/image/generic.mk | 17
>> +++++++++++++++++
>> .../files/arch/mips/ath79/mach-tl-wdr7500-v6.c | 112
>> +++++++++++++++++++++
>> 12 files changed, 162 insertions(+)
>> create mode 100644
>> target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr7500-v6.c
>>
>> diff --git a/package/boot/uboot-envtools/files/ar71xx
>> b/package/boot/uboot-envtools/files/ar71xx
>> index 0bdb6de..789c317 100644
>> --- a/package/boot/uboot-envtools/files/ar71xx
>> +++ b/package/boot/uboot-envtools/files/ar71xx
>> @@ -46,6 +46,8 @@ om5p-acv2|\
>> om5p-an|\
>> sr3200|\
>> tube2h|\
>> +tl-wdr7500-v6|\
>> +tl-wdr7500-v6-16M|\
>
>
> Please, drop this "tl-wdr7500-v6-16M" thing. As far as I understand, this is
> only your custom hardware modification and the default/factory version comes
> with just 8 MB of FLASH.
Ok. 16MB flash is hw mod.
>
> And I really don't think this device has a writable U-Boot environment in a
> separate sector. Please, provide some explanation.
Original bootloader checks RSA for second bootloader and system.
To install LEDE I chose to replace bootloader instead of using any
workarounds (if even exists).
Working bootloader is available at:
https://github.com/bizongod/u-boot_wdr7500v6
It is based on u-boot from TL-WDR1043v4 plus initializing routines for
switch and other usable mods. It has also writable env.
With changing bootloader I decided also that's good opportunity to move
art to better address, that's end of flash.
>
>
>> wndr3700|\
>> xd3200)
>> ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
>> diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network
>> b/target/linux/ar71xx/base-files/etc/board.d/02_network
>> index d838352..6cdd2fe 100755
>> --- a/target/linux/ar71xx/base-files/etc/board.d/02_network
>> +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
>> @@ -122,6 +122,8 @@ ar71xx_setup_interfaces()
>> tl-wa901nd-v2|\
>> tl-wa901nd-v3|\
>> tl-wa901nd-v4|\
>> + tl-wdr7500-v6|\
>> + tl-wdr7500-v6-16M|\
>> tl-wr703n|\
>> tl-wr802n-v1|\
>> tl-wr802n-v2|\
>> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh
>> b/target/linux/ar71xx/base-files/etc/diag.sh
>> index ade726f..f0ec9e6 100644
>> --- a/target/linux/ar71xx/base-files/etc/diag.sh
>> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
>> @@ -20,6 +20,10 @@ get_status_led() {
>> all0305)
>> status_led="eap7660d:green:ds4"
>> ;;
>> + tl-wdr7500-v6|\
>> + tl-wdr7500-v6-16M)
>> + status_led="$board:blue:system"
>> + ;;
>> antminer-s1|\
>> antminer-s3|\
>> antminer-r1|\
>> diff --git
>> a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
>> b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
>> index 85a2a63..bd0cf2e 100644
>> ---
>> a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
>> +++
>> b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
>> @@ -98,6 +98,11 @@ case "$FIRMWARE" in
>> rb-952ui-5ac2nd)
>> ath10kcal_from_file "/sys/firmware/routerboot/ext_wlan_data" 20480 2116
>> ;;
>> + tl-wdr7500-v6|\
>> + tl-wdr7500-v6-16M)
>> + ath10kcal_extract "art" 8192 2116
>> + ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +2)
>> + ;;
>> re450|\
>> tl-wr902ac-v1)
>> ath10kcal_extract "art" 20480 2116
>> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh
>> b/target/linux/ar71xx/base-files/lib/ar71xx.sh
>> index 835ced6..dbf132b 100755
>> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
>> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
>> @@ -1109,6 +1109,12 @@ ar71xx_board_detect() {
>> *"TL-WDR6500 v2")
>> name="tl-wdr6500-v2"
>> ;;
>> + *"TL-WDR7500 v6")
>> + local size="$(mtd_get_part_size 'firmware')"
>> +
>> + [ "$size" = "8060928" ] && name="tl-wdr7500-v6"
>> + [ "$size" = "16449536" ] && name="tl-wdr7500-v6-16M"
>
>
> As above.
> Please don't include support for custom modified hardware.
>
> [snip]
>
>> diff --git a/target/linux/ar71xx/image/generic.mk
>> b/target/linux/ar71xx/image/generic.mk
>> index 6f5a701..39be043 100644
>> --- a/target/linux/ar71xx/image/generic.mk
>> +++ b/target/linux/ar71xx/image/generic.mk
>> @@ -713,6 +713,23 @@ define Device/tellstick-znet-lite
>> endef
>> TARGET_DEVICES += tellstick-znet-lite
>>
>> +define Device/tl-wdr7500-v6
>> + DEVICE_TITLE := TP-LINK WDR7500 v6
>> + DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
>> + BOARDNAME := TL-WDR7500-V6
>> + IMAGE_SIZE := 7872k
>> + MTDPARTS :=
>> spi0.0:192k(u-boot)ro,64k(u-boot-env),7872k(firmware),64k(art)ro
>
>
> This is definitely not a correct mtd organization for this device.
> Based on bootlogs found on OpenWrt forum [2], it should look more or less
> like:
>
> [ 0.290000] 0x000000000000-0x00000001d800 : "factory_boot"
> [ 0.310000] 0x00000001d800-0x00000001e000 : "factory_info"
> [ 0.310000] 0x00000001e000-0x000000020000 : "art"
> [ 0.320000] 0x000000020000-0x000000030000 : "config"
> [ 0.330000] 0x000000030000-0x000000040000 : "normal_boot"
> [ 0.330000] 0x000000040000-0x00000014027c : "kernel"
> [ 0.350000] 0x00000014027c-0x0000006b0000 : "rootfs"
> [ 0.380000] 0x0000006b0000-0x000000800000 : "rootfs_data"
> [ 0.380000] 0x000000040000-0x000000800000 : "firmware"
>
As above.
>> +endef
>> +TARGET_DEVICES += tl-wdr7500-v6
>
>
> We have a separate place for TP-Link devices, please use image/tp-link.mk
> file instead.
As I saw, image/tp-link.mk is used because of specific tp-link image header etc,
what in case of replaced bootloader, which accepts normal header, don't make
sense any more.
Is this correct?
>
> [snip]
>
> [1] https://lede-project.org/submitting-patches
> [2] https://forum.openwrt.org/viewtopic.php?pid=358852#p358852
>
> --
> Cheers,
> Piotr
Best regards,
Karol
More information about the Lede-dev
mailing list