TP-LINK WR886N 3.0 路由器改造 LEDE(OpenWRT)

说明

1. 改造 TP-LINK WR886N 3.0 (芯片 TP9343)

2. OpenWRT 版本:LEDE 17

3. 环境:Ubuntu 16.04 x64

第一步:修改硬件

1. 换 RAM 为 64M

2. 换 flash 为 16M

注:本教程主要说明制作镜像部分,具体修改硬件步骤请参考:链接


第二步:获取源码

使用以下命令克隆源码:

git clone https://github.com/lede-project/source.git

我当时使用的版本:

git reset --hard 97eb8ab


第三步:target profile 添加新路由器

修改文件:/target/linux/ar71xx/image/tp-link.mk

添加以下内容:

define Device/tl-wr886n-v3

  $(Device/tplink-16mlzma)

  DEVICE_TITLE := TP-LINK TL-WR886N v3

  BOARDNAME := TL-WR886N-v3

  TPLINK_HWID := 0x88600003

endef


TARGET_DEVICES += tl-wr886n-v3

删除 /tmp 目录,使用以下命令配置:

make menuconfig

在 Target System 里选择 Atheros AR7xxx/AR9xxx,然后在 Target Profile 里找到 TP-LINK TL-WR886 v3 并选中。

相关配置

此时,编译一下,看看有没有错误。

make

make 成功后,/bin/targets/ar71xx/generic/ 目录下面会生成 WR886N 的 factory.bin,但是这时候下载到 flash 还不能启动,因为内核并没有支持 WR886N,继续下面的步骤。


第四步:kernel arch machine 新增路由器

新建文件:/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.4.74/arch/mips/ath79/mach-tl-wr886n-v3.c

文件内容:

下载 mach-tl-wr886n-v3.c

修改文件:/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.4.74/arch/mips/ath79/Kconfig

添加以下内容:

config ATH79_MACH_TL_WR886N_V3

    bool "Tplink WR886N V3 support"

    select SOC_TP9343

    select ATH79_DEV_ETH

    select ATH79_DEV_GPIO_BUTTONS

    select ATH79_DEV_LEDS_GPIO

    select ATH79_DEV_M25P80

    select ATH79_DEV_WMAC

    help

      Say 'Y' here if you want your kernel to support the

      Atheros AP121 reference board.

修改文件:/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.4.74/arch/mips/ath79/machtypes.h

添加以下内容:

ATH79_MACH_TL_WR886N,

修改文件:/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.4.74/arch/mips/ath79/Makefile

添加以下内容:

obj-$(CONFIG_ATH79_MACH_TL_WR886N_V3)  += mach-tl-wr886n-v3.o

使用以下命令配置:

make kernel_menuconfig

-> Machine selection

-> Atheros AR71XX/AR724X/AR913X machine selection

Tplink WR886N V3 support

此时,编译一次看看有没有问题:

make

make 成功后,如果直接固件下载到 flash,已经能启动了,但会出现网络问题,继续看第五步。


第五步:network 配置问题(ar71xx系列)

修改文件:/target/linux/ar71xx/base-files/etc/board.d/02_network

添加以下内容:

    tl-wr886-v3)

        ucidef_set_interfaces_lan_wan "eth1" "eth0"

        ucidef_add_switch "switch0" "1" "1"

        ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4"

        ;;

修改文件:/target/linux/ar71xx/base-files/lib/ar71xx.sh

添加以下内容:

    *"TL-WR886N v3"*)

        name="tl-wr886-v3"

        ;;

此时,再编译一次看看有没有问题:

make

make 成功后,如果下载固件到 flash,网络已经没问题了,但是会发现 LED 灯工作得不正常,继续看第六步。


第六步:LED 灯问题

修改文件:/target/linux/ar71xx/base-files/etc/board.d/01_leds

添加以下内容:

tl-wr886-v3)

    ucidef_set_led_netdev "wan" "WAN" "tl_wr886n:green:wan1" "eth0"

    ucidef_set_led_switch "lan0" "LAN0" "tl_wr886n:white:main" "switch0" "0x01"

    ucidef_set_led_switch "lan1" "LAN1" "tl_wr886n:green:lan1" "switch0" "0x10"

    ucidef_set_led_switch "lan2" "LAN2" "tl_wr886n:green:lan2" "switch0" "0x08"

    ucidef_set_led_switch "lan3" "LAN3" "tl_wr886n:green:lan3" "switch0" "0x04"

    ucidef_set_led_switch "lan4" "LAN4" "tl_wr886n:green:lan4" "switch0" "0x02"

    ;;

这时候已经大功告成了,最后编译一次:

make

将固件下载到 flash 一切正常!

你可能感兴趣的:(TP-LINK WR886N 3.0 路由器改造 LEDE(OpenWRT))