找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5403|回复: 12

编译openwrt 添加 TL-WDR5600 v2 型号方法

[复制链接]
发表于 2019-9-11 16:04 | 显示全部楼层 |阅读模式
本帖最后由 easehu 于 2019-9-11 16:05 编辑

之前看到hello_limin的帖子,“[2019-07-06] 分享 TL-WDR5600 v3.0 自编译8M固件 QCA9561+QCA9887 相同配置机器可刷”下载了他提供的固件使用没什么大问题,但是我需要添加php的功能,剩余空间无法满足安装对应功能,所以决定自己编译一个。
TL-WDR5600 v2 是 QCA9561+QCA9887 的解决方案,原生的openwrt不带这个型号,于是自己添加以下。我使用的coolsnowwolf的lede的编译源,地址https://github.com/coolsnowwolf/lede。这个需要的自己git回来。
注意:这个也不带TL-WDR5600这个型号,需要自己手动添加。
我们需要改动的文件如下:
1、./target/linux/ar71xx/base-files/lib/ar71xx.sh
到336行附近添加添加:
  1. "56000002")
  2.                 model="TP-Link TL-WDR5600"
  3.                 ;;
复制代码
到1295行附近添加:
  1.        *"TL-WDR5600 v2")
  2.                 name="tl-wdr5600-v2"
  3.                 ;;
复制代码

2、
./target/linux/ar71xx/base-files/lib/upgrade/platform.sh
到465行附近添加:
  1.         tl-wdr5600-v2|\
复制代码
到509行附近添加:
  1.         tl-wdr5600-v2|\
复制代码

3、
./target/linux/ar71xx/base-files/etc/diag.sh
到504行附近添加:
  1.         tl-wdr5600-v2)
  2.                 status_led="tp-link:white:system"
  3.                 ;;
复制代码
system灯的定义

4、
./target/linux/ar71xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
到22行附近添加:
  1.     tl-wdr5600-v2|\
复制代码
这个步骤很重要,决定了5G的MAC地址是否正确。
5、./target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
到102行附近添加:
  1.         tl-wdr5600-v2)
  2.                 ath10kcal_extract "art" 8192 2116
  3.                 ;;
复制代码
这里是5G的ART部分,数据不对的话5G将没有。

6、./target/linux/ar71xx/base-files/etc/board.d/02_network
到362行附近添加:
  1.         tl-wdr5600-v2|\
复制代码

7、./target/linux/ar71xx/base-files/etc/board.d/01_leds
到899行附近添加:
  1. tl-wdr5600-v2)
  2.         ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth0"
  3.         ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x02"
  4.         ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x04"
  5.         ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x08"
  6.         ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x10"
  7.         ;;
复制代码

8、./target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr5600-v2.c
这个文件我已经上传,点此处下载。
这个文件里的灯定义进行了修改,保证了wan,lan,system灯的正常显示,不再出现线未插还亮的情况。
  1. #define TL_WDR5600_V2_GPIO_LED_WAN      19
复制代码
这个是wan口灯的GPIO,和WDR6500的硬件有区别,WDR6500的GPIO是18。
  1. #define TL_WDR5600_V2_PCIE_CALDATA_OFFSET       0x2000
复制代码
这个是5G部分art数据偏移,有的WDR5600据说在0x5000处,请根据自己的修改。如果不明白就按照这个来,然后art的5G部分重新编辑一下再写入就好了。
  1. static struct gpio_led tl_wdr5600_v2_leds_gpio[] __initdata = {
  2.         {
  3.                 .name           = "tp-link:green:lan1",
  4.                 .gpio           = TL_WDR5600_V2_GPIO_LED_LAN1,
  5.                 .active_low     = 1,
  6.         }, {
  7.                 .name           = "tp-link:green:lan2",
  8.                 .gpio           = TL_WDR5600_V2_GPIO_LED_LAN2,
  9.                 .active_low     = 1,
  10.         }, {
  11.                 .name           = "tp-link:green:lan3",
  12.                 .gpio           = TL_WDR5600_V2_GPIO_LED_LAN3,
  13.                 .active_low     = 1,
  14.         }, {
  15.                 .name           = "tp-link:green:lan4",
  16.                 .gpio           = TL_WDR5600_V2_GPIO_LED_LAN4,
  17.                 .active_low     = 1,
  18.         }, {
  19.                 .name           = "tp-link:green:wan",
  20.                 .gpio           = TL_WDR5600_V2_GPIO_LED_WAN,
  21.                 .active_low     = 1,
  22.         }, {
  23.                 .name           = "tp-link:white:system",
  24.                 .gpio           = TL_WDR5600_V2_GPIO_LED_SYS,
  25.                 .active_low     = 1,
  26.         },
  27. };
复制代码
这些灯都改成低电平触发,按照WDR6500的配置的话,wan和system的灯会有问题。
  1.         u8 *mac = (u8 *) KSEG1ADDR(0x1fff080d);
复制代码
由于art里面已经存放了MAC,所以我们直接写死MAC地址的位置,让系统直接读取art部分的MAC,这样就不用再在breed里面写MAC了。

9、./target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
到286行附近添加:
  1.         ATH79_MACH_TL_WDR5600_V2,               /* TP-LINK TL-WDR5600 v2 */
复制代码

10、./target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
到1877行附近添加:
  1. config ATH79_MACH_TL_WDR5600_V2
  2.         bool "TP-LINK TL-WDR5600 v2 board support"
  3.         select SOC_QCA956X
  4.         select ATH79_DEV_AP9X_PCI if PCI
  5.         select ATH79_DEV_ETH
  6.         select ATH79_DEV_GPIO_BUTTONS
  7.         select ATH79_DEV_LEDS_GPIO
  8.         select ATH79_DEV_M25P80
  9.         select ATH79_DEV_USB                          #这个可以去掉,因为该版本硬件没有usb口
  10.         select ATH79_DEV_WMAC
复制代码

11、./target/linux/ar71xx/files/arch/mips/ath79/Makefile
到233行附近添加:
  1. obj-$(CONFIG_ATH79_MACH_TL_WDR5600_V2)          += mach-tl-wdr5600-v2.o
复制代码

12、./target/linux/ar71xx/config-4.9
到222行附近添加:
  1. # CONFIG_ATH79_MACH_TL_WDR5600_V2 is not set
复制代码
这个根据自己需要,可以不添加。
13、./target/linux/ar71xx/image/generic-tp-link.mk
到330
  1. define Device/tl-wdr5600-v2
  2.   $(Device/tplink-8mlzma)
  3.   DEVICE_TITLE := TP-LINK TL-WDR5600 v2
  4.   DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9887
  5.   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
  6.   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | tplink-v1-header
  7.   BOARDNAME := TL-WDR5600-v2
  8.   DEVICE_PROFILE := TLWDR5600V2
  9.   TPLINK_HWID := 0x56000002
  10.   TPLINK_HEADER_VERSION := 2
  11. endef
  12. TARGET_DEVICES += tl-wdr5600-v2
复制代码

14、./target/linux/ar71xx/config-4.14
到222行附近添加:
  1. # CONFIG_ATH79_MACH_TL_WDR5600_V2 is not set
复制代码
这个根据自己需要,可以不添加。

15、./target/linux/ar71xx/generic/config-default
到162行附近添加:
  1. CONFIG_ATH79_MACH_TL_WDR5600_V2=y
复制代码

至此所有需要修改的内容已经添加完成,make menuconfig,这时你就应该能在硬件列表里看到对应的设备选项。然后选择你需要的组件就可以进行编译了。

还存在的问题。
我发现一个BUG,就是无线5G传输速率部分一直显示的是这样的:"传输速率: 6 Mbit/s",2.4G 部分是正常的,更换了iwinfo后还是这样,可能是驱动问题,但是不影响实际使用。
后面我找了个能正常显示的openwrt-18.06的版本和现阶段原版openwrt-18.06不能正常显示的进行了驱动替换操作,替换了firmware-x.bin(x是数字)后就能正常显示了,但是这个驱动替换到我编译的版本上还是显示异常,所以就没有继续研究,可能需要更改了驱动编译链接后重新编译才行。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +2 收起 理由
safehorse + 2 感谢你的分享,无论怎样,你都是最无私的人!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-9-11 16:08 来自手机 | 显示全部楼层
传说中的失陪啊!,博妞
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-11 19:16 | 显示全部楼层
学习了~感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-12 16:35 | 显示全部楼层
感谢分享!!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-12 17:56 来自手机 | 显示全部楼层
显示异常是Mac80211的问题,1907的正常,可以拿来替换。千万别用master的,ath10k驱动5g直接往死里掉速。10k固件顺便可以升级,只是没发现有什么鸟区别。

点评

是否可以告知是哪个源码文件的问题,我需要知道是什么代码导致的BUG,好patch到我那个版本里去。  详情 回复 发表于 2019-10-12 09:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-28 22:42 | 显示全部楼层
这是很详细的介绍了如何添加没有驱动时的办法了,十分感谢,哪里能有这方面的基础介绍呢?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-28 22:58 | 显示全部楼层
兄弟我想请教你个问题,你下载的https://github.com/coolsnowwolf/lede 这里这个版本
make menuconfig时
有TP-LINK   741ND这个选项吗? 我的里面怎么没有啊,类似缺失的还有很多,不知道哪里出的问题

点评

没有 741 的设备,只能自己添加,不过可以找一下相近的设备。  详情 回复 发表于 2019-10-11 10:31
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-29 22:10 | 显示全部楼层
4、./target/linux/ar71xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
到22行附近添加:

这个文件能帖上来一份吗?我参考

点评

#!/bin/ash [ "$ACTION" == "add" ] || exit 0 PHYNBR=${DEVPATH##*/phy} [ -n $PHYNBR ] || exit 0 . /lib/functions.sh . /lib/functions/system.sh board=$(board_name) case "$board" in  详情 回复 发表于 2019-10-11 10:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-11 10:30 | 显示全部楼层
3320099 发表于 2019-9-29 22:10
4、./target/linux/ar71xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
到22行附近添加:

#!/bin/ash

[ "$ACTION" == "add" ] || exit 0

PHYNBR=${DEVPATH##*/phy}

[ -n $PHYNBR ] || exit 0

. /lib/functions.sh
. /lib/functions/system.sh

board=$(board_name)

case "$board" in
        archer-c58-v1|\
        archer-c59-v1|\
        archer-c59-v2|\
        archer-c60-v1|\
        archer-c60-v2)
                echo $(macaddr_add $(mtd_get_mac_binary mac 8)  $(($PHYNBR - 1)) ) > /sys${DEVPATH}/macaddress
                ;;
        tl-wdr5600-v2|\
        tl-wdr6500-v6)
                echo $(macaddr_add $(mtd_get_mac_binary art 2061)  $(($PHYNBR - 2)) ) > /sys${DEVPATH}/macaddress
                ;;
        *)
                ;;
esac
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-11 10:31 | 显示全部楼层
3320099 发表于 2019-9-28 22:58
兄弟我想请教你个问题,你下载的https://github.com/coolsnowwolf/lede 这里这个版本
make menuconfig时
...

没有 741 的设备,只能自己添加,不过可以找一下相近的设备。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-12 09:17 | 显示全部楼层
wulishui 发表于 2019-9-12 17:56
显示异常是Mac80211的问题,1907的正常,可以拿来替换。千万别用master的,ath10k驱动5g直接往死里掉速。10 ...

是否可以告知是哪个源码文件的问题,我需要知道是什么代码导致的BUG,好patch到我那个版本里去。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-1-7 01:36 | 显示全部楼层
我也是这个型号的设备,请问是直接把你上传的这个文件拉倒路由器里就好了嘛?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-11 15:20 | 显示全部楼层
实用好帖。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 15:55

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表