找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 99043|回复: 72

TL-WR841N V8 新人openwrt入门刷机经验 含固件及资料

 火.. [复制链接]
发表于 2014-7-17 23:28 | 显示全部楼层 |阅读模式
本帖最后由 jiangshunmin 于 2016-2-12 11:37 编辑

本人差不多是从0开始学习OPENWRT,过程走了不少弯路。借鉴了不少大侠文章及资料,在此表示感谢!文中引用到大侠们的文章及资料有可能因为翻阅资料众多,我已经找不到出处了,还请大侠门谅解。整理此文,以此回馈大家!及抛砖引玉,学习更多知识。文笔不好,请大家谅解。
首先把我认为比较重要的资源贴出来:
TL-WR841N V8 原厂flash编程器固件备份.bin  
       这个固件是我把原来flash焊下来用程序器备份下来的,写到新的闪存芯片测试正常。编程器备份固件包含所有flash分区。之所以把这个发上来,因为方便需要还原和搞研究的大侠。里面包含了无线驱动等各种需要的信息。虽然我看了不少内嵌的资料,初步了解flash的分区结构,但我还是没有能力研究里面的信息。最初想自己用相关信息来拼一个自己的编程器固件,因没耐心终究没有实现。
TL-WR841N V8-ar9341-8m-fullflash编程器固件 刷机前需改MAC及密码.bin
       这个固件是从网络上下载到的8M编程器固件,包含OPENWRT 用的Uboot 分区的全flash分区的固件,由于下载及测试的固件众多,已经不知道来源了,希望原作者原谅。虽然网络能找到很多8M编程器固件,做未必是真正的8M。之所以上传这个固件是因为在众多固件中,发现这个才是真正的8M固件。很多固件声称自己是8M固件,确实有8M大小。但刷机之后进到系统里看,其实非8M,只是一个假象已经。也曾经看到某贴看到8M固件的拼装方法,有可能假8M就是这么来的。在这里我没有针对原贴作者,相反我对他是很敬重的,必尽他也是在想各种办法解决大家的问题。不过在我无数次刷机中发,可能这种拼接改固件大小的方法不可取,所以我也没心思按他的思路去拼接自己的完整固件。
TL-WR841N V8-ar9341-4m-fullflash编程器固件 刷机前需改MAC及密码.bin
       这个固件出自上面8M固件的同一作者,但我没有亲测过。因为8M正常,4M的应该也没有问题,可能有人需要4M的固件,所以我一并上传。
openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory13.bin  [8M自己编译固件,亲测试完美,在用
       这个是我自己编译出来的8M固件,网口和led灯自己修改过,全部正常。修改方法下载我再介绍。带石像鬼QOS。这个固件是我在上面的8M固件基础上刷到路由器成功的。至于其它方法我还真没刷成功过。比如从原厂系统我也没办法刷到这个固件。其中还下载过DDWRT官方固件刷机过,但DDWRT网口和led都不正常,且不知道怎么改,别人说可以从DDWRT刷到其它固件。但在我手里它就是一个除编程器外刷不掉的固件,刷很多固件都显示成功,但一重启,还是原来的DDWRT。折腾了无数次都没用,应该是自己内功不够,最终无力。只有把flash拆下来,用编程器伺候,才得以挣脱DDWRT这个恶魔。在刷这个固件前请先刷前面的两个编程器固件,保证flash分区信息完整。否则会出现启动不了、无线不正常等各种问题。因为嵌入式光有os,没有匹配的uboot,和无线驱动等分区信息,是不能正常工作的。我也就了解有这么回事,具体我也讲不清楚。详情还请去了解嵌入式。
uboot-ar9341.rar
art+firmware.rar
如果你硬改了4M8Mflash,上面的固件你的问题就已经解决了。但如果你硬改16Mfladh。那上面的固件还真帮不了你了,本人初入道太多不懂,还请大家原谅和大神们赐。上面的这两个包就是你折腾16M的原材料。uboot-ar9341.rar 来自恩山大神200420154 的材料,原贴表示这个Uboot自动识别4M8M16M flash,给您硬改16M带来了可能。详情移步:https://www.right.com.cn/forum/thread-122860-1-1.html   art+firmware.rar 也是路由器能正常工作的flash分区信息,硬改16M少不了它俩。加起来就3个重要flash分区了,最后一个重要分区就是openwrt系统了。这个编译可以得到,下面再介绍。怎么把这四个东西组合到一起,我就帮不了大家了。也许TTL命令刷机组合,也许把所有二进制文件整合成一个完整编程器固件再刷机。这些我都不会,还请大侠赐教。
硬改
我买的WR841N V8  4Mflash+ 16M RAM 不是2M flash+ 16M RAM。也许4Mflash可以凑合着用,但16MRAM 想用OPENWRT真是个问题。 所以我决定硬改16Mflash+ 64M RAM 。某宝上买了8M16Mflash 64M RAM。但卖家发我4M 8M flash,我直接无语。反正8M应该够了,我也就懒得再上某宝了。
焊接教程网上可以搜到,但本人的焊接设备很简单,就一把连调温都没有的电烙铁。不过本人焊工熟练,有自己习惯的焊接方法。那点事不是事。从学习的角度还是要学习别人长处,看一些教程是肯定的。但某教程里说先给芯片上锡再取。我觉得这不可取。经验告诉我正确方法是先在针脚上上松香。焊上去同样不要上太多锡,板上和针脚上有一层锡即可,同样要上松香。电烙铁推荐用马蹄头,比较尖少伤及附近。但也因人习惯而定。
还建议买个几十块钱的编程器,和个几块钱的TTL线。很多人讲有TTL线就能刷机救砖无敌了。一直想挖掘它的这个功能,看了无数ttl刷机教程,却总是那么简单。所以这个道理在我身上没用。TTL线我的用途主要是看路由器的各种运行状态,有没有刷机成功,偶尔运行httpd这样简单的命令刷机。或者偶尔运行opkg 命令安装软件包。但还是少不了它,通过它可以看到路由器状态,非常重要。对于我来讲刷机无敌的还是编程器。
虽说焊工不错,但无数次拆卸flash来写固件。结果也中招了,板上的一个焊点掉了,最终也飞线了。为了解决这个问题,焊上一条排线,flash芯片直接焊在排线上就不拍拆坏了。
TTL线连接点,flash 附近的P5P6TTLTXRXGND好像是P2,在RAM芯片旁边的那个,GND也可以自己随便找个地方接,但一定接到GND上,不是随便一个地方都行,需要用表测量,怕麻烦还是直接接到RAM旁边那个点上就行了。接这三根线就可以了,正极不用接。
编程器我买的是CH341。这个我就不多说了,卖家一般会给相关资料。
固件编译部分
1、如果不想直接给电脑安装linux系统,就安装虚拟机(VMware)来安装linux系统。linux系统安装 Ubuntu 就可以了。详情移步:百度
2openwrt源码下载及编译基础,百度:OpenWrt新手教程
3、为了能顺利编译成功,不因为编译过程中下载失败而编译失败,首先单独下载源码目录下的dl目录。下载命令:
wget -r -nphttp://193.87.95.148/openwrt/raspi/trunk/dl/    然后把下载dl目录内容复制到源码dl目录即可。
4WR841NV8固件大小修改方法。之前我也为这个东西花数天时间翻阅百度,看到各种修改方法让我一脸茫然,都没有WR841N V8直接通用的方法。看最有可能的是941N,修改好几个文件,但WR841N V8的文件都不太一样,没法改。也试着仿照去修改,无数次失败,最终偿式出来了。这个路由器只要改 /target/linux/ar71xx/image/Makefile 文件就可以了。找到
$(eval$(call SingleProfile,TPLINK-LZMA,64kraw,TLWR841NV8,tl-wr841n-v8,TL-WR841N-v8,ttyS0,115200,0x08410008,1,4Mlzma))这一行,把最后面的4改你自己flash大小就可以了。
5、修正网口问题。我的路由器刷官方源码编译出的固件,LAN1 变成LAN口,LAN2LAN3LAN4WAN口为WAN。反正就是乱七八糟的就对了。如果存在这个问题修正方法:
修改/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c文件
修改红字部分
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_PHY_SWAP);
改为
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_SW_ONLY_MODE);

ath79_switch_data.phy_poll_mask = BIT(0);改为ath79_switch_data.phy_poll_mask= BIT(4);
ath79_eth0_data.phy_mask = BIT(0);改为ath79_eth0_data.phy_mask= BIT(4);

以上修改方法来自:https://www.right.com.cn/forum/thread-128467-1-1.html     修改完成make 前记得make clean 。这样修改的才生效。

6、LED修正。修改trunk/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds 文件
我的修改如下,在我的路由器下是正常的。
----------------------------------------------分割线-----------------------------------------------
tl-wr841n-v8)
       ucidef_set_led_netdev "wan""WAN" "tp-link:green:wan" "eth0"
       ucidef_set_led_switch "lan1""LAN1" "tp-link:green:lan1" "switch0""0x02"
       ucidef_set_led_switch "lan2""LAN2" "tp-link:green:lan2" "switch0""0x04"
       ucidef_set_led_switch "lan3""LAN3" "tp-link:green:lan3" "switch0""0x08"
       ucidef_set_led_switch "lan4""LAN4" "tp-link:green:lan4" "switch0""0x10"
       ucidef_set_led_wlan "wlan""WLAN" "tp-link:green:wlan" "phy0tpt"
       ;;
-----------------------------------------------分割线------------------------------------------------
当然了,这个也可以刷完机后再修改etc/config下的相关文件。

7、石像鬼QOS 直接移步:https://www.right.com.cn/forum/thread-142020-1-1.html
说明一下吧 feed/luci.tmp/.packageinfo 是隐藏文件,ubutu 在命令下用 ls -a 可以看到。在资源管理器 Ctrl + H 可以看到。
feeds/luci/contrib/package/luci/makefile里, Transmission一段的后面(当然也可以任意放,放到@@后就行),增加以下内容,注意前后空行

$(eval $(call application,qos_gargoyle,LuCI Supportfor  qos-gargoyle,\
    +gargoyle-firewall-util +libericstools +libiptbwctl +qos-gargoyle+PACKAGE_luci-app-qos_gargoyle:qos-gargoyle))
我是找不到 Transmission 这个字段 更没找到@@ 我把上面的内容放到 ### Translations ### 的最后,放在 ### Collections ### 前面。结果就是这样的:
-----------------------------------------------代码片段------------------------------------------------
$(eval $(call translation,romanian,Romanian))
$(eval $(call translation,ukrainian,Ukrainian))
$(eval $(call translation,hungarian,Hungarian))
$(eval $(call translation,polish,Polish))
$(eval $(call application,qos_gargoyle,LuCI Support for  qos-gargoyle,\
       +gargoyle-firewall-util+libericstools +libiptbwctl +qos-gargoyle+PACKAGE_luci-app-qos_gargoyle:qos-gargoyle))
### Collections ###
define collection
  define Package/luci$(if$(1),-$(1))
    SECTION:=luci
    CATEGORY:=LuCI
-----------------------------------------------代码片段------------------------------------------------
5、然后用./scriptsfeeds install -a命令即可将添加的文件安装到菜单内。
这个命令不全,应该是 ./scripts/feeds install -a   
刷机部分
1、编程器固件MAC 密码修改
使用Hex Workshop打开编程器固件文件,找到0001FC00行的MAC地址,改成你自己的路由器后面贴的MAC,找到0001FE00行的密码改成自己路由器上贴的密码。即可,改完保存。
2、刷机,这个我就帮不了了,我也是个菜鸟,我的刷机方法就是编程器了。先用编程器第一次刷机,然后每次都只要用ttl线就可以输入httpd命令,直接在web界面刷机了。刷机方法太多,有简单也有深奥也有。这个大家自己找度娘去吧!
本来想再编译个4M的固件发上来,但是不知道什么原因就是编译不出来。没时间慢慢研究了,以后有时间再看了。
本来打算写得详细些,但因最近跟老婆吵架,工作又忙,天气又热。就乱草草了事了。对不住大家!







2016-1-25 TPlink tl-wr841n openwrt 路由器multiwan多拨固件:https://www.right.com.cn/forum/thread-181598-1-1.html

评分

参与人数 1恩山币 +1 收起 理由
gsm89 + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2014-7-18 00:01 | 显示全部楼层
谢谢楼主分享

点评

www.rrksw.com/book/0/756/ 绝品天医  发表于 2014-9-30 19:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-18 01:42 | 显示全部楼层
本帖最后由 denmeng 于 2014-7-18 01:51 编辑

LZ,真巧啊
我今天晚上刚刚自己编译了uboot(编程器软固件),测试是正常的。

不过这个841n v8的4M Flash和16M RAM实在是太小了。下面是我这里编译出来的固件
uboot使用pepe2k的,没有/也不会做任何修改:
http://pan.baidu.com/s/1i3xb3b3
openwrt使用最新的trunk编译得,也没有做任何修改:
http://pan.baidu.com/s/1ntI8dap

点评

你好,请问您这个固件需要硬改吗?刷的时候怎么刷啊,直接通过TFTP?  详情 回复 发表于 2015-5-6 12:00
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-18 09:58 | 显示全部楼层
好长,也有笑点,我焊功不好,这是差别。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-18 17:09 来自手机 | 显示全部楼层
不错了,学习下,感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-21 13:44 | 显示全部楼层
刚好有一个可以改
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-24 00:10 | 显示全部楼层
兄弟学得很快嘛,写得很好!支持一下!

点评

搞这个东西还是花我好多个夜晚,大概一周左右哇。晚上不陪小孩和老婆,被骂得不行。openwrt确实很强大,不过最近迫于小孩老婆压力,不再研究这个东西了。  详情 回复 发表于 2014-7-24 19:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-24 11:02 | 显示全部楼层
楼主精神可嘉,我说个省事的办法,如果不在乎网口乱了,可以编程器刷https://www.right.com.cn/forum/thread-136444-1-1.html 的uboot和art,然后直接刷官网的841v8固件即可,只是wan口变成最靠边的lan口了,但是灯倒是没啥问题,wan口灯是对的。我觉得口错一位也无所谓啦,反正路由器扔在那里也不是天天插拔。我主要是看中AR 9341的CPU性能算是比较强,跑了一些应用速度很快,NAT稳定性也挺好的。用它做共享的主路由用开启virtual**服务器和DDNS,方便从工作单位连回家。

点评

我发的固件是已经修复网口的了,对于追求完美,受不了网口乱。还有官方的固件是4M的。flash我的已经修改8M的了,所以固件得自己编译。像鬼像石QOS之类的官方固件没有,连QOSv4都没有。自带的确实不咋地。  详情 回复 发表于 2014-7-24 19:27
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-7-24 19:27 | 显示全部楼层
eastwoodnet 发表于 2014-7-24 11:02
楼主精神可嘉,我说个省事的办法,如果不在乎网口乱了,可以编程器刷https://www.right.com.cn/forum/thread ...

我发的固件是已经修复网口的了,对于追求完美,受不了网口乱。还有官方的固件是4M的。flash我的已经修改8M的了,所以固件得自己编译。像鬼像石QOS之类的官方固件没有,连QOSv4都没有。自带的确实不咋地。

点评

楼主处女座的吧?哈哈,我其实都没有管容量大小,主要是后期反正也要手动再装软件,8Mflash都能自认也无所谓了。QoS也用不着,话说这个机型两年了才能有那么点完美,真是不容易。哎。  详情 回复 发表于 2014-7-25 13:10
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-7-24 19:32 | 显示全部楼层
波鲁克 发表于 2014-7-24 00:10
兄弟学得很快嘛,写得很好!支持一下!

搞这个东西还是花我好多个夜晚,大概一周左右哇。晚上不陪小孩和老婆,被骂得不行。openwrt确实很强大,不过最近迫于小孩老婆压力,不再研究这个东西了。

点评

别不研究,找时间得空就研究下!老婆孩子都是要陪的!我基本和你一样,我都是等老婆孩子睡了才研究的!  详情 回复 发表于 2014-7-26 14:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-25 13:10 | 显示全部楼层
jiangshunmin 发表于 2014-7-24 19:27
我发的固件是已经修复网口的了,对于追求完美,受不了网口乱。还有官方的固件是4M的。flash我的已经修改8 ...

楼主处女座的吧?哈哈,我其实都没有管容量大小,主要是后期反正也要手动再装软件,8Mflash都能自认也无所谓了。QoS也用不着,话说这个机型两年了才能有那么点完美,真是不容易。哎。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-26 14:32 | 显示全部楼层
jiangshunmin 发表于 2014-7-24 19:32
搞这个东西还是花我好多个夜晚,大概一周左右哇。晚上不陪小孩和老婆,被骂得不行。openwrt确实很强大, ...

别不研究,找时间得空就研究下!老婆孩子都是要陪的!我基本和你一样,我都是等老婆孩子睡了才研究的!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-27 14:39 | 显示全部楼层
做个记号 找时间研究下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-27 16:52 | 显示全部楼层
好詳盡..而且有固件下載..值得收藏.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-8-14 10:00 | 显示全部楼层
谢谢楼主,我的8M op无线不稳定(9341OP通用固件3.3.8),不知楼主的无线是否稳定?

点评

至从发这个贴之后,我再也没有时间折腾路由器了,一直就那时候开始用到现在,没理它,也没重启过,到目前还没有发现什么问题。  详情 回复 发表于 2014-8-15 23:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 03:56

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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