1、TP-LINK 841N V7 变砖后,TTL挽救过程总结 当时买TP-LINK 841N 并没有考虑刷第三方固件,就是图它能IP宽带流量控制和有WDS功能。 WDS还有带扫描功能,美中不足的是点扫描后,路由器几乎都要死机,还有重新插一下插头(居然没有重启开关)。 下载 (75.09 KB) 2010-11-7 01:07 无意逛到本论坛,看DD和TT有这么功能,本想刷DD和TT,但现在还不支持。于是,刷了X-WRT,设置时一不小心把路由器的IP设置没了。虽然路由器没有真正变砖,无线功能还起作用,但是无法再进入路由器更改设置。只好买根TTL线。 装好驱
2、动连好线后。打开连接,开启路由器, 比特率调到115200。 在SECURECRT终端显示的字符居然有乱码: 如下: Cㄕ浇褋1.1.4 (Feb 1 2010 - 11:00:47) AP99 (ar7241 - Virian) U-boot #表明841N V7 的CPU是AR7241,在X-WRT中也证明了这点。 DRAM: sri ar7240_ddr_initial_config(133): virian ddr1 init いA乂ALUE 1 = 0xf, 2 = 0x10 [0x0: 0
3、x1f] 32 MB Z挄厬x100000ff sector count = 64 Flash: 4 MB U雭default environment RK殨丧叡5 Out: serial Err: serial ag7240_enet_initialize... Fetching MAC Address from 0x81ff30b0 No valid address in Flash. Using fixed address UK箒MDC CFG Value ==> 4 : cfg1 0xf cfg2 0x7014 Y
4、 倐覀氁閑0:01:4c Y 5 Virian MDC CFG Value ==> 4 : cfg1 0xf cfg2 0x7214 Y+倐覀氁9:0b:ad ATHRS26: resetting s26 PJ5%惨毶6 reset done Y+5 eth0, eth1 Autobooting in 1 seconds #等待用户按"tpl"三个小写字母,阻止引导内核过程。其实,从插电源时就可以按了。 赶紧和卖家交流,重启系统,重装驱动,换个终端,把线截断,多次重启路由器还是这样子。 相当奇怪! 用万用表测了一下这根线,R
5、X和TX有0.67V电压差,GND和TX、RX也有电压差。顺便测了一下路由器上的RX、TX、GND,这三个端口都没有电压差。 现在还是不明白到底是怎么回事? 没耐心再换线,同时按tpl三个小字母后,截断启动过程。参考 ar7240>printenv #显示引导环境 ar7240>这几个提示符,在我这大部分情况下还是乱码 ar7240>setenv ipaddr 192.168.1.2 #设置路由器的IP ,网关 ar7240>setenv serverip 192.168.1.10
6、 #设置本机的IP,本机的有线网络地址也要一致。子网掩码:255。255。255。0 ar7240>printenv #骓证设置 打开TFTPD32程序,即开TFTP服务,设置好固件所在当前目录。 ar7240> tftpboot 0x80000000 841.bin #将本机的固件841.BIN加载到路由器的内存上,使用了TFTP服务。0x中0是数字,x是小写字母。 ar7240> erase 0x9f020000 +0x3c0000 #擦除从0x9f0
7、20000地址开始的0x3c0000个路由器闪存数据 ar7240> cp.b 0x80000000 0x9f020000 0x3c0000 #以位为单位,复制从0x80000000地址开始的0x3c0000个路由器内存数据,到0x9f020000地址开始的0x3c0000个闪存数据 #0x3c0000是16进制数字,合3,932,160 字节,即3。75M,固件的大小。 ar7240> bootm 0x9f020000 #从 0x9f020000 内核开始地址引导程序,继续引导路由器启动过程。实际没有重启。
8、实际不是一次就成功的,搞好几次。由于输命令见不到实际字符,再加输入命令返回乱码信息,刷两三次没能成功,还居然把U-BOOT之后的内容刷坏了,全部的灯隔两秒闪一下。吓坏了,看看还有U—BOOT引导过程,庆幸没有U-BOOT刷坏,不然麻烦就大了。又盲刷了两次,终于成功了。输入192。168。1。1,在IE,谷歌下都打不开,靠!又和第一次刷X-WRT固件一样,第一次用傲游浏览器2打开后,其它浏览器才能打开。第一次刷X—WRT时,就以为刷砖,最后试了傲游浏览器2才可以。真是怪事不断。 下面是刷了TP-LINK英文版固件后,内核引导过程的数据:(有乱码) 浇靴節乮mage at 9
9、f020000 ... #先启动U-BOOT(相当BIOS),再启动内核。内核加载开始地址:0x9f020000。 Uncompressing Kernel Image ... j狧℉hE吷靴節乲ernel ... Booting AR7240(Python)... Z沎7f+摏K{s&鎓V种茮#[kv鍲啨C{s;SKs浧KssF僣Ks[K唙f+摏K{s6鍲鍲6謠sΛc&fv6f6洠&flash_size passed from bootloader = 4 CPU revision is: 0001937
10、4 #AR7241 CPU ID Determined physical RAM map: memory: 02000000 @ 00000000 (usable) User-defined physical RAM map: memory: 02000000 @ 00000000 (usable) Built 1 zonelists Kernel command line: console=ttyS0,115200 root=31:2 rootfstype=squashfs init=/sbin/init mtd
11、parts=ar7240-nor0:128k(u-boot),1024k(kernel),2816k(rootfs),64k(config),64k(art) mem=32M Primary instruction cache 64kB, physically tagged, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, linesize 32 bytes. Synthesized TLB refill handler (20 instructions). Synthesized TLB load handler f
12、astpath (32 instructions). Synthesized TLB store handler fastpath (32 instructions). Synthesized TLB modify handler fastpath (31 instructions). Cache parity protection disabled PID hash table entries: 256 (order: 8, 4096 bytes) Using 200.000 MHz high precision timer. Dentry cache hash table en
13、tries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 30448k/32768k available (1467k kernel code, 2304k reserved, 309k data, 112k init, 0k highmem) #内存信息 Mount-cache hash table entries: 512 Checking for 'wait' instruction... available. NET:
14、Registered protocol family 16 PCI init:ar7240_pcibios_init Reset button pressed. usbcore: registered new driver usbfs usbcore: registered new driver hub Returning IRQ 48 AR7240 GPIOC major 0 squashfs: version 3.3 (2007/10/31) Phillip Lougher squashfs: LZMA suppport for slax.org by jro Initi
15、alizing Cryptographic API io scheduler noop registered io scheduler deadline registered HDLC line discipline: version $Revision: #1 $, maxframe=4096 N_HDLC line discipline registered. Serial: 8250/16550 driver $Revision: #2 $ 1 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0x0 (irq =
16、 19) is a 16550A RAMDISK driver initialized: 1 RAM disks of 8192K size 1024 blocksize PPP generic driver version 2.4.2 NET: Registered protocol family 24 cmdlinepart partition parsing not available Searching for RedBoot partition table 5 RedBoot partitions found on MTD device ar7240-nor0 Crea
17、ting 5 MTD partitions on "ar7240-nor0": 0x00000000-0x00020000 : "boot" 0x00020000-0x00120000 : "kernel" 0x00120000-0x003e0000 : "rootfs" 0x003e0000-0x003f0000 : "config" 0x003f0000-0x00400000 : "art" ->Oops: flash id 0x1c3116 . 頉6+6Far7240-ehci ar7240-ehci.0: ATH EHCI ar7240-ehci ar7240-eh
18、ci.0: new USB bus registered, assigned bus number 1 ar7240-ehci ar7240-ehci.0: irq 3, io mem 0x1b000000 hcc_params addr 0xbb000108 val 0x6 hcs_params addr 0xbb000104 val 0x10011 ar7240-ehci ar7240-ehci.0: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 #加载了USB2。0驱动, 实际没这个硬件端口,加载它干嘛。 hub 1-0
19、1.0: USB hub found #USB HUB hub 1-0:1.0: 1 port detected Z45g&K洠+#搟cf kKc& 841N V7 多方面表明是AR7241 CPU,说明改选后可以用USB 2.0,这样有添加USB的意义了。3G 11N无线宽带路由器TL-MR3420,应该就是添加了USB的841N V7版本,TP-LINK不厚道啊。添加USB后的841N V7应该可以刷TL-MR3420的固件。 X-WRT是OPEN-WRT的衍生版。我认真看了下,X-WRT的内核引导过程
20、发现其把841当作741设备,841上无线网卡芯片是2T2R(11N,300M)的,而741上的无线网卡芯片是1T1R(11N,300M)。我估计是固件编译者都使用741的TP-LINK部分源码,把841,941当成741了,导致这几个无线的理论速度只有150M了。 X-WRT居然没有中继、WDS,QOS还要安装。最后,找到英文的官方版的,用WEB刷上去。英文版的时间是实打实的,7月;中文版标准版标记为8月,实际是5月的!刷了英文版,用WDS还是很容易死路由器了。 USB 接口添加说明:R601 对应着D+,R602对应着D-,这两根线均接好了15K下拉电阻。另到淘宝买个3A D
21、C 转 DC电路模块,将电源处的9V 降压到5V ,提供USB电压。接地,这个简单,板上有很地方都可以当地。 刷固件到此为此,真够折腾的,像在冒险。 顺便用奶粉罐上的铝簿给路由器无线网卡部分穿了一件衣服。测试后,居然发现扫描后的有些信号比原来强了6-9DB。我靠!这是什么理论啊。 下载 (151.18 KB) 2010-11-7 01:07 TTL部分 更新:找到乱码的原因了。在电路做文章,有两种方法:1、搞掉R612、R613电阻(下拉电阻),搞掉C496并短接;2、在VCC和TX端接一个10K电阻。我估计是TX的电压被下拉的太多了,导致在PC上出现乱码;而PC向ROUTER发送的RX端电压满足TTL电压要求,所以可以正常刷机。如果不介意个别乱码字符且刷机正常的话,可以不处理电路。 下载 (125.14 KB) 2010-11-7 01:07 32M 内存 下载 (132.97 KB) 2010-11-7 01:07 高清图 见网盘






