找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
本帖最后由 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 收起 理由
safe*** + 2 感谢你的分享,无论怎样,你都是最无私的人!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
来自手机 | 显示全部楼层
传说中的失陪啊!,博妞
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

学习了~感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢分享!!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

点评

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

使用道具 举报

这是很详细的介绍了如何添加没有驱动时的办法了,十分感谢,哪里能有这方面的基础介绍呢?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

兄弟我想请教你个问题,你下载的https://github.com/coolsnowwolf/lede 这里这个版本
make menuconfig时
有TP-LINK   741ND这个选项吗? 我的里面怎么没有啊,类似缺失的还有很多,不知道哪里出的问题

点评

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

使用道具 举报

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.
回复

使用道具 举报

 楼主| | 显示全部楼层
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.
回复

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

我也是这个型号的设备,请问是直接把你上传的这个文件拉倒路由器里就好了嘛?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

实用好帖。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-4-29 11:17

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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