ubnt解决方案
查看: 34721|回复: 22

[教程] 10M/s的USB速度-841n改USB手记

[复制链接]

428

回帖

682

积分

178 小时

在线时间

中尉

注册时间
2010-11-22
金币
185 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2011-1-12 12:59 |显示全部楼层
本帖最后由 285858363 于 2011-1-14 14:00 编辑

一直以来对GP的USB速度很不满意。GP的USB口说是2.0,但用起来只有2-3M,只比一般的USB1.1强一点点。恩山上的大牛qwea(人称猫大)放出TP-Link 941n的USB改造后,我的眼前为之一亮。USB的速度基本可以跑满100M网络的带宽,这是多么的爽啊。
    所以心里一直痒痒的,正好有个小兄弟要出个841n V3(电路板跟941n的基本一样)。所以收了回来进行改造。顺便说一句,在网上找了很久,没有一家可以一次性地配齐改机所需要的零件。到最后邮费都比零件贵,汗死…
    改机当然首先把衣服脱光了,这是没脱衣服之前的靓照:



    841N的前面板有三个卡扣,底部只有后面两个脚垫底下有螺丝,卡扣很难撬开,我费了好大的劲才弄开了:



    左边的卡扣在收回来之前已经坏掉了。

    拆开后就是换flash,内存。老规矩了,改机过程没拍照。下面是换好的8Mflash跟64M内存,另外把TTL也引了出来,方便刷机。USB供电用的跟猫大一样的3A模块,具体电路请参照猫大的贴子:

http://www.right.com.cn/forum/viewthrea … 8%AB%C7%F2



    64M内存,换上就可以直接用了:



    改好的USB和引出来的TTL接口:



    至此改机完毕,开始刷机的过程。由于flash内已经刷了猫大的U-Boot,只要接上TTL线,用secureCRT建立连接,看到Hit any key to stop autoboot后随便按个按钮就可以进入U-Boot刷机了。



    以下刷机的教程来自:

    注:只能刷带“factory”的固件

http://www.right.com.cn/forum/viewthrea … #pid172690

rockily 引用:

把你电脑的Ip地址设置为192.168.1.254,打开tftp服务器,设置好路径。把网线连接到路由器的Lan口。并且关闭防火墙。确认路由器可以从电脑下载固件
输入命令:
ar7100> setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1
ar7100> tftp 0x80800000      wr941n_cn_3_4_5_up(081113).bin

出现如下提示:
set link to 100M full by lqm.
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'openwrt-ar71xx-tl-wr941ndv2-squashfs.uni'.
Load address: 0x80800000
Loading: checksum bad
checksum bad
checksum bad
checksum bad
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)
继续输入命令:
ar7100> erase 0xbf020000 +0x3c0000

出现如下提示:
First 0x2 last 0x3d sector size 0x10000
  61
Erased 60 sectors
继续输入:

ar7100> cp.b 0x80800000 0xbf020000 0x3c0000

提示:
Copy to Flash... write addr: bf020000
done


呵呵,很简单的几个步骤就搞定了,重启后就可以进入刷好的固件中。有了猫大这个U-boot,路由基本是刷不死的。不过不要高兴得太早,因为换了8M闪存后,还欠缺一个非常重要的步骤。如果没进行这个步骤的话,你的无线是不能使用的。这是为什么呢?

在恩山上有这样一个贴子解释这个问题:

http://www.right.com.cn/forum/viewthrea … #pid272829

kesunji 引用:

经过猫大解释,这一段0x007f0000-0x00800000 : "board_config"东西是原本无线模块的EEPROM在Flash中转存的地址,所以这个地址东西不对的话,无线就无法初始化。我今天终于把 8MFlash的DD弄好了,不过DD默认的版本换了Flash也没什么用,没有开放的空间,只有Nvram区可写,也无法使用USB,在新固件出来前, 我看换了也没什么意义吧。16MFlash更换前需用编程器写入整个固件和最后一段内容,因为默认UBoot只能访问8MFlash空间。


所以我们还需要再刷一个这个board_config的东东进flash。为了方便大家,我把board_config里面的内容已经提取出来了。如果大家需要的话,请到下面的地址下载:

941n_board_config.bin:

http://u.115.com/file/f51f92dfce

841n_board_confgi.bin:
http://u.115.com/file/f5514ce451

    至于怎么刷,参照上面在U-Boot中刷固件的步骤就可以了,我在这里简单的给大家说一下:

把941n_board_config.bin放到tftp32的文件夹中,电脑IP设为192.168.1.254,打开tftp32。

进入U-Boot后,设置路由器IP及tftp服务器的IP:

ar7100>setenv ipaddr 192.168.1.1;setenv serverip 192.168.1.254

然后就可以把tftp32中的941n_board_config.bin复制到路由器的内存里:

ar7100>tftp 0x80800000     941n_borad_config.bin

再把闪存0x007f0000-0x00800000的内容擦除:

ar7100>erase erase 0xbf7f0000 +0x10000

最后把内存中的内容写到闪存里面就可以了:

ar7100>cp.b 0x8080000 0xbf7f0000 0x10000

    大家看出来了吧,跟上面用u-boot刷固件是一模一样的,只不过写入闪存的地址跟大小有点变化而已。
写入后,重启一下路由。你就会发现路由的无线功能又回来啦。

    由于DD-WRT不支持USB口,如果需要用的话需要刷OPENWRT,推荐用猫大的openwrt-ar71xx-tl-wr941nd-v2-squashfs-factory.bin,下载地址:

http://v4.u.115.com/file/f5d24943af

这个固件很好用,基本需要的东西已经集成在里面。

   忙活了这么多,当然要试下USB口的速度啦。 哈哈,USB的速度果然不负所望:

写入速度:



读取速度:



    注:我使用的是古老的40G IDE硬盘+山寨易驱线,写入跟读取速度刚好是直接电脑的一半。如果使用其它好的硬盘+硬盘盒的话,速度会更高。据说猫大读写的平均速度是11M/s,基本达到了100M有线网络的极限,以后脱机下载高清电影,根本不需要再拔硬盘再下载到电脑观看。

    至此,841n改USB完满结束。本文的成果有赖于文中提到的各位高手的努力(特别鸣谢diywif.cn群的“猫大“,“过客”(人称无所不能的捣爷),"AVBIOS"等在改机过程中提供的帮助),这里只是简单地汇总了一下,希望对大家的改机有所帮助。

关于刷机后找回无线的补充:

    上次sagephage的841n用了我提取board_config还是没有无线,网友老鹰也试过确实不行。原因可能出现在每个路由器的board_config都存在不同。为此跟老鹰交流过,老鹰给出了他的办法:

    1.先不要着急换flash,先把841n/941n刷成DD,把原来的borad_config备份出来。

    刷完DD后,telnet上路由,首先运行下cat /proc/mtd看下board_config的位置。
以下是老鹰openwrt里的截图,其中ART就是无线的board_config(DDWRT下应该是显示borad_config)。记住mtd4后面4这个数字,等下备份要用到。



    然后我们就可以把board_config备份出来了。

备份命令:

dd if=/dev/mtd/4 of=/tmp/backup.bin

请注意红色的数字4,这里需要用刚才的数字代替。Openwrt跟ddwrt可能不同的。

运行后等一下,你的board_confg就已经备份到/tmp目录里。只要用winscp连上路由器就可以copy到本地硬盘了。(winscp的用法不说了,不明白先做功课)

2.备份完后就可以换8M的flash了,用编程器写入猫大的UBOOT(UBOOT只能用编程器写入了),把刚才备份的64KB的board_config写到flash的最后面。然后就可以通过上面的教程进行固件的刷写,这是一种方法。

当然,按照老鹰的办法通过DD写回去也是可以的,这个其实就是刚才备份的逆向过程。

下面也给出具体的办法给大家参考:

a.把备份的backup.bin上传到DD的/tmp目录下;

b. 运行命令:mtd -r write /tmp/backup.bin board_config 通过这两步的操作就OK了。

通过上面的步骤,无线就可以回来了。在此再次感谢网友老鹰给出详细的解决办法!


如果有改机成功的兄弟也上来贴一下USB的速度吧,谢谢!

评分

1

查看全部评分

15

回帖

31

积分

2 小时

在线时间

新兵上阵

注册时间
2010-12-18
金币
16 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2011-1-12 13:15 |显示全部楼层
有点深,我还要继续努力









http://www.17cye.com http://www.9i3q.com http://www.9i7g.com

本帖子中包含更多资源

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

x
回复

使用道具 举报

198

回帖

2345

积分

369 小时

在线时间

少校

注册时间
2009-3-30
金币
2093 个
威望
1 个
荣誉
0 个

尚未签到

发表于 2011-1-12 15:44 |显示全部楼层
此贴必火..............
回复

使用道具 举报

740

回帖

3288

积分

2107 小时

在线时间

少校

注册时间
2009-7-25
金币
2310 个
威望
3 个
荣誉
0 个
累计签到:11 天
连续签到:1 天
[LV.20]漫游旅程
发表于 2011-1-12 22:46 |显示全部楼层
回复 1# 285858363

很好,最后一张图挂了
回复

使用道具 举报

137

回帖

183

积分

80 小时

在线时间

上等兵

注册时间
2010-6-3
金币
33 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2011-1-13 10:01 |显示全部楼层
我刷了openwrt,结果TTL信息如下,请问是什么原因?
Starting kernel ...

Linux version 2.6.32.27 (chy@fedora.think) (gcc version 4.3.3 (GCC) ) #3 Tue Jan 11 09:36:56 CST 2011
bootconsole [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR9132 rev 1, CPU:400.000 MHz, AHB:100.000 MHz, DDR:400.000 MHz
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 board=TL-WR941ND
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=00000000
Readback ErrCtl register=00000000
Memory: 29376k/32768k available (2059k kernel code, 3392k reserved, 392k data, 152k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:56
Calibrating delay loop... 266.24 BogoMIPS (lpj=1331200)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
MIPS: machine is TP-LINK TL-WR941ND
bio: create slab <bio-0> at 0
Switching to clocksource MIPS
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
msgmni has been set to 57
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
Atheros AR71xx SPI Controller driver version 0.2.4
m25p80 spi0.0: unrecognized JEDEC id ef4017
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xb9000000, irq 4
Atheros AR71xx hardware watchdog driver version 0.1.0
TCP westwood registered
NET: Registered protocol family 17
Bridge firewalling registered
Distributed Switch Architecture driver version 0.1
eth0[0]: detected a Marvell 88E6060 switch
dsa slave smi: probed
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Cannot open root device "<NULL>" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
回复

使用道具 举报

4003

回帖

1万

积分

502 小时

在线时间

上校

灌水天才

注册时间
2010-1-1
金币
7287 个
威望
96 个
荣誉
2 个
累计签到:2 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2011-1-13 10:19 |显示全部楼层
进来观摩学习
回复

使用道具 举报

1071

回帖

5747

积分

345 小时

在线时间

中校

注册时间
2010-5-27
金币
4582 个
威望
4 个
荣誉
0 个
累计签到:264 天
连续签到:0 天
[LV.365]无线熟人
发表于 2011-1-13 10:23 |显示全部楼层
不错,感谢楼主无私分享
回复

使用道具 举报

249

回帖

1698

积分

452 小时

在线时间

上尉

注册时间
2010-1-30
金币
1365 个
威望
2 个
荣誉
1 个

尚未签到

发表于 2011-1-13 10:37 |显示全部楼层
我的941n改了usb后大概9MB/s的下载(挂的读卡器+TF) 和我的1043nd的usb速度有的一拼
回复

使用道具 举报

10

回帖

30

积分

13 小时

在线时间

新兵上阵

注册时间
2011-1-20
金币
19 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2011-1-20 21:02 |显示全部楼层
楼主厉害啊!学习下虽然是菜鸟
回复

使用道具 举报

3935

回帖

1万

积分

616 小时

在线时间

论坛巡察员

设备暴发户灌水天才

注册时间
2011-1-4
金币
5930 个
威望
218 个
荣誉
45 个

尚未签到

发表于 2011-1-20 21:09 |显示全部楼层
为什么我一进来图全挂。。。。。
回复

使用道具 举报

428

回帖

682

积分

178 小时

在线时间

中尉

注册时间
2010-11-22
金币
185 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2011-1-20 21:22 |显示全部楼层
图式正常地呀!!
回复

使用道具 举报

2

回帖

5

积分

1 小时

在线时间

预备兵

注册时间
2010-12-18
金币
3 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2011-1-21 00:41 |显示全部楼层
好专业的东东
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-5-7 12:40

返回顶部 返回列表