找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 23987|回复: 70

TP-LINK TL-WR2041n v2.2 (941n v7) 最新OpenWrt固件

  [复制链接]
发表于 2018-11-10 16:42 | 显示全部楼层 |阅读模式
本帖最后由 yumeimm 于 2021-5-22 20:08 编辑


2020-12更新:
-- 增加Openwrt v18.06.9固件



2020-09-30更新:
-- 添加Openwrt v19.07.4固件



2020-02-29更新:
-- 添加Openwrt v19.07.3固件
--添加Openwrt v18.06.8及v19.07.2固件


2020-02-02更新
  -- 添加Openwrt-v18.06固件。
  -- 添加Openwrt-v19.07.1固件。

蓝奏云链接:   https://www.lanzous.com/b0evdvqab       密码:6306
https://wwa.lanzoui.com/b0evdvqab     密码:6306



1    概述
QCA9558+AR8236的方案,有几款450M无线路由采用。常见的有:MW450R V1 =FW450R V1 = 880N V1= 881N V1 = 941N V7 = 2041N V2
现在的这些路由都不值钱,flash存储小,最高也就百兆性能,但是原机带的内存能达到32M/64M,花个几十元买来折腾一下倒是不错的选择。


好在目前最新的OpenWrt主分支master提供了QCA9558支持,加上原先大神hackpascal写的驱动文件,以及其它大神的开源代码。于是参考OpenWrt官方文档,实现在最新的master分支上对这几个路由的支持。


2    修改
参考如下两位作者的修改:
hackpascal : Git commit
coolsnowwolf: Git commit

修改分为下述几步:1) make menuconfig菜单项的添加,2) 板级定义 和源代码编译 3) 内核补丁(不需要)
我们打算添加为”Devices with small flash”类别。
下述所有修改都是在目录“target\linux\ar71xx”下面进行。
首先检出OpenWrt代码:


2.1  编译菜单添加
文件:target\linux\ar71xx\image\tiny-tp-link.mk
编译菜单项添加:
define Device/tl-wr2041n-v2
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR2041N v2
BOARDNAME := TL-WR2041N-v2
DEVICE_PROFILE := TLWR2041
TPLINK_HWID := 0x20410002
endef
TARGET_DEVICES += tl-wr2041n-v2

define Device/tl-wr941n-v7
$(Device/tplink-8mlzma)
DEVICE_TITLE := TP-LINK TL-WR941N/ND v7
BOARDNAME := TL-WR941N-v7
DEVICE_PROFILE := TLWR941
TPLINK_HWID := 0x09410007
endef
TARGET_DEVICES += tl-wr941n-v7


target\linux\ar71xx\tiny\config-default
添加:
CONFIG_ATH79_MACH_TL_WR941N_V7=y
CONFIG_SOC_QCA955X=y

2.2  板级文件定义修改
target\linux\ar71xx\base-files\etc\board.d\01_leds //(led definition)
tl-wr941n-v7|\
tl-wr2041n-v2|\
tl-wr1041n-v2)
       ucidef_set_led_wlan"wlan" "WLAN" "tp-link:green:wlan""phy0tpt"
       ;;

target\linux\ar71xx\base-files\etc\board.d\02_network //(network interface sequence)
tl-wr941n-v7|\
       tl-wr2041n-v2|\
       tl-wr1041n-v2)
              ucidef_add_switch"switch0" \
                     "0@eth0""2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4""1:wan"

target\linux\ar71xx\base-files\etc\diag.sh //(led status)
tl-wr2041n-v2|\
tl-wr941n-v7|\

target\linux\ar71xx\base-files\lib\upgrade\platform.sh //(magic_ver=”0100”)
tl-wr2041n-v2|\
tl-wr941n-v7|\

target\linux\ar71xx\base-files\lib\ar71xx.sh //(name)
       *"TL-WR2041Nv2")
              name="tl-wr2041n-v2"
              ;;
       *"TL-WR941Nv7")
              name="tl-wr941n-v7"
              ;;
2.3  编译及源代码
target\linux\ar71xx\files\arch\mips\ath79\Kconfig.openwrt
config ATH79_MACH_TL_WR941N_V7
       bool"TP-LINK TL-WR941N v7/TL-WR2041N v2/TL-WR880N v1/TL-WR881N v1support"
       selectSOC_QCA955X
       selectATH79_DEV_ETH
       selectATH79_DEV_GPIO_BUTTONS
       selectATH79_DEV_LEDS_GPIO
       selectATH79_DEV_M25P80
       selectATH79_DEV_WMAC


目录:target\linux\ar71xx\files\arch\mips\ath79\
添加新文件:mach-tl-wr941n-v7.c
target\linux\ar71xx\files\arch\mips\ath79\machtypes.h
ATH79_MACH_TL_WR2041N_V2,              /* TP-LINK TL-WR2041N v2 */
ATH79_MACH_TL_WR941N_V7,         /* TP-LINK TL-WR941N v7 */

target\linux\ar71xx\files\arch\mips\ath79\Makefile
obj-$(CONFIG_ATH79_MACH_TL_WR941N_V7)             += mach-tl-wr941n-v7.o



2.4  内核修改
内核文件4.14:target\linux\ar71xx\config-4.14

# CONFIG_ATH79_MACH_TL_WR2041N_V2 is notset
# CONFIG_ATH79_MACH_TL_WR941N_V7 is not set

内核补丁目录:target\linux\ar71xx\patches-4.14
不需要修改。

3. 刷Openwrt简要概述
1) 在TP-LINK原厂固件的WEB页面,“升级”处,刷入本文提供的解锁bootloader固件(功能不全)。(openwrt-wr2041n-v2-unlock.bin)
2) 刷机后,重启路由器,就进入了Openwrt系统。在web页面的升级固件处备份"art分区" 成为art文件(art.bin)。
3) 此时, ssh进入路由, 用"mtd write breed_xxx.bin  u-boot"  命令刷入不死breed。
4) 在Openwrt的web页面,或者进入breed页面, 刷入完整功能的Openwrt固件:(openwrt-tl-wr2041n-v2-sysupgrade-xxx.bin)。
5) 可选, 进入breed, 设置路由器的MAC地址等,以及可选刷入art.bin等。


4    结论和FAQ
0)  如果需要免拆机刷机,可以先刷入解锁bootloader的openwrt固件。(参考这里:https://www.right.com.cn/forum/thread-484835-1-1.html
1) 刷机推荐在breed下面进行。同时要注意备份好原机的无线art文件,或者用上面提供的也行。
2) 更换flash芯片时,可以找修家电/修电脑的。
3) 编程器固件的制作


编程器固件是用编程器进行刷机的,不同于在线升级固件。
以8M为例:
a) 编程器固件的存储空间结构
   u-boot(128K/0x20000), < -- >firmware空间< -- > art无线配置文件(余下的64K/0x10000)

b) 用WinHex-"文件"菜单-"新建"
   新建一个空白文件, 假设文件名为flash_all.bin, 根据固件大小选择8M。
  Ctrl+a全部选择空白文件内容, 然后 "编辑"-"填充选块", 用 "FF"填满整个文件内容。
c) WinHex打开breed.bin文件, Ctrl+A全部选定,然后在flash_all.bin开头处,用粘贴板数据-写入(覆盖),覆盖写入整个breed文件。
c) WinHex打开openwrt_xxx_wr2041nv2_xx_sysupdate.bin文件,全选。从flash_all.bin文件开头转到偏移 0x20000处,(十六进制偏移), 用粘贴板数据-写入(覆盖),写入固件内容。
d) WinHex打开保存的art.bin无线配置文件-全选,从flash_all.bin末尾往前偏移0x10000处(或者文件开头偏移0x7F0000处-8M情形), 用粘贴板数据-写入(覆盖),写入无线art内容。
得到的编程器固件可以直接用编程器刷入flash芯片。




4) 所有的修改结果,在github上:https://github.com/siwind/openwrt.git  (添加了TL-WR941N v7/2041N v2/880N v1/881N v1的支持,固件请下载源代码后自行编译)









最后:本文的所有固件等:

链接: https://pan.baidu.com/s/1NOuh8mtPjH-9Jg1FJMYksg 提取码: g5ev

TP-LINK_2041n V1固件看这里: https://www.right.com.cn/forum/thread-484835-1-1.html

固件功能说明:

1) openwrt-tl-wr2041n-xx-sysupgrade-4M-v18.xxx.bin
   适用于原机4M-flash存储的固件。包含基本功能(ssh,logd,opkg等)和upnp,WEB界面。

2) openwrt-tl-wr2041n-xx-sysupgrade-lite-4M-v18.xxx.bin
   适用于原机4M-flash存储的固件,精简掉logd, opkg功能,同时加入 upnp,KMS服务器(vlmcsd), WOL。

3) openwrt-tl-wr2041n-xx-sysupgrade-8M-v18.xxx.bin
   适用于硬改flash容量为8M及以上(含16M)的情况。
   功能包含: dnsmasq-full, IPv6-NAT, upnp, 负载均衡, KMS服务器, WOL网络唤醒等。












补充内容 (2020-3-25 18:30):
已经添加Openwrt-trojan.ipk。

本帖子中包含更多资源

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

×

评分

参与人数 4恩山币 +6 收起 理由
pz*** + 1 Openwrt-trojan安装后 再服务里面看不见,怎么使用
hc*** + 2 面对这种帖子,我内心复杂,真不知道说什么好……
gy*** + 1 面对这种帖子,我内心复杂,真不知道说什么好……
zhl*** + 2 4M flash 固件需要精简到3.81M 否则breed无法输入

查看全部评分

发表于 2018-11-10 18:19 | 显示全部楼层
LEDE是4.4
回复 支持 反对

使用道具 举报

发表于 2019-6-2 01:25 | 显示全部楼层
大佬能否抖抖手给编译个741nV7的16M固件?
回复 支持 反对

使用道具 举报

发表于 2019-6-2 06:38 来自手机 | 显示全部楼层
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=310572
回复 支持 反对

使用道具 举报

发表于 2019-6-2 08:49 来自手机 | 显示全部楼层
这个要谢谢分享
回复 支持 反对

使用道具 举报

发表于 2019-6-2 11:50 来自手机 | 显示全部楼层
按照楼主说的下手吧唧唧
回复 支持 反对

使用道具 举报

发表于 2019-11-3 16:21 | 显示全部楼层
941v7和2041v2的这个有线驱动对ipv6的支持并不好,走了好多弯路。。

点评

如果固件带负载均衡(mwan3),但是又不用的话, 请在“启动项”那里关闭它。不然会影响IPv6上网。 或者把mwan3相关的IPv6项配置好也行。  详情 回复 发表于 2020-2-29 19:36
回复 支持 反对

使用道具 举报

发表于 2019-11-19 10:30 | 显示全部楼层
2041v2这机子挺稳定的,可以改16M闪存,楼主有没有合适的固件,功能多一些的,谢谢
回复 支持 反对

使用道具 举报

发表于 2019-12-30 14:45 | 显示全部楼层
感谢分享,造福机油
回复 支持 反对

使用道具 举报

发表于 2020-2-5 10:47 | 显示全部楼层

感谢分享,造福机油
回复 支持 反对

使用道具 举报

发表于 2020-2-6 01:45 | 显示全部楼层
看了缺少16M的,编译个16M的补上吧

点评

4M/8M/16M固件都有,打包在一个zip文件里面了。 下载后里面有说明的。  详情 回复 发表于 2020-2-29 19:27
回复 支持 反对

使用道具 举报

发表于 2020-2-28 12:07 | 显示全部楼层
本帖最后由 TigerHu 于 2020-2-28 12:20 编辑

贴是个好贴,不过固件我今天测试的了不行,期盼版主尽快改进 我是改了16M的flash的 2041V V2的机器 刷入18.06 安装openvirtua OpenV.P,N的时候 openssl 无法安装 提示kerner不兼容
你可以测试一下
提示信息如下
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for openvirtual**-openssl:
*      kernel (= 4.9.211-1-db2d5425c674d1648616e3c37760e80e)
* opkg_install_cmd: Cannot install package openvirtual**-openssl.
root@OpenWrt:~#

另外安装19.07.1的版本你的时候也是kerner版本兼容性有问题
我一会上一个图

要求 = 4.14.167-1-114d5676c49eba1190f3a23a556ce343 版本,已安装 4.14.167-1-e2da893815ac63b7dd9aa23644762db0


本帖子中包含更多资源

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

×

点评

固件已经添加“kmod-tun”模块,可以自行安装了, 或者使用编译好的自带openvirtual**-openssl的固件~~  详情 回复 发表于 2020-2-29 19:38
你是用如下命令安装的吗:  详情 回复 发表于 2020-2-29 16:15
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 16:15 | 显示全部楼层
本帖最后由 yumeimm 于 2020-2-29 19:40 编辑
TigerHu 发表于 2020-2-28 12:07
贴是个好贴,不过固件我今天测试的了不行,期盼版主尽快改进 我是改了16M的flash的 2041V V2的机器 刷入18. ...

出现这种问题,是因为内核模块 "kmod-tun" 未编译进去所以和官方的内核末尾的hash部分不同。一种办法是强制安装(不推荐): --force-depends
另外的办法就是源码自行编译加入需要的模块即可。

针对openvirtual**-openssl软件包,已经重新编译了相关的rom。 请从网盘重新下载即可。文件名: TL-WR2041N-V2-18.06.8-19.07.2Custom.zip
另外后续的8M+以上固件,已经编译了“kmod-tun” 模块进去,可以重新下载即可用"opkg install" 安装。



复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 19:27 | 显示全部楼层
gyshy 发表于 2020-2-6 01:45
看了缺少16M的,编译个16M的补上吧

4M/8M/16M固件都有,打包在一个zip文件里面了。

下载后里面有说明的。

点评

没看到16m固件,是不是去掉了  详情 回复 发表于 2020-12-4 20:26
好嘞,,,,  详情 回复 发表于 2020-2-29 21:25
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 19:36 | 显示全部楼层
zhang-3 发表于 2019-11-3 16:21
941v7和2041v2的这个有线驱动对ipv6的支持并不好,走了好多弯路。。

如果固件带负载均衡(mwan3),但是又不用的话,
请在“启动项”那里关闭它。不然会影响IPv6上网。

或者把mwan3相关的IPv6项配置好也行。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-29 17:27

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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