工会主席补选办法:雷劈坏掉WAN口的网件WGR614 V6 废物利用终极改造,涅盘重生实现双wan负载均衡。...

来源:百度文库 编辑:中财网 时间:2024/04/29 05:58:36

雷劈坏掉WAN口的网件WGR614 V6 废物利用终极改造,涅盘重生实现双wan负载均衡。

本帖最后由 leeanky 于 2009-9-7 13:07 编辑

今天拿到朋友送来的一个网件wgr614 V6。此路由WAN口已经被雷劈坏掉了,四个LAN口正常,硬件配置1Mflash8M内存,CPU 200MHz。通电路由启动正常,进入WEB没问题,开了一会稳定性还可以,证明没有其他问题,就一个WAN口坏掉了,现在它可以做什么呢?一个4口交换机,无线交换机。但是最近网件614 V6被炒得沸沸扬扬,可以双wan,可以dd-wrt ,可以wayos。于是,我决定废物利用,变废为宝。把他修整回来。然后用LAN替换原来是WAN口,实现路由器应有的功能。我的目标是实现升级4M / 32M的配置,实现双WAN负载均衡。对,就用这个被雷劈劫后余生的垃圾路由。

第一步:
首先第一件事是焊接4Mflash,因为WGR614 V6没有jtag接口,所以flash芯片要在其他有jtag功能的路由器或者用编程器上面把CFE写好,修正固定32M内存的cfe在网上已经有下载了,附件有,有需要的朋友可以下载使用。记住,吹flash下来的时候一定要有耐心,今天是我第一次用风台,哈哈,好怕搞砸了。买来的风台还没用过(二手的)。我新手,所以保险一点,涂一点松香水(我用酒精和松香调配的,浓度看个人喜欢,我也是瞎配的),然后风台的风量调到3,温度调到3.5左右,慢慢吹,吹到差不多了,用小刀轻轻从一边慢慢撬起,切忌不要暴力,否则焊盘就完了。(之前用其他坏的路由练习几遍了,哈哈,搞坏了几个焊盘),吹下来之后涂点松香水,然后用电烙铁小心地把焊盘整理平整,方便焊接新的flash,整理好之后用洗板水把焊盘洗干净,放好新的flash,对准之后用烙铁一个一个脚地点上去,这样比较稳妥,新手还是老老实实,别学人家高手玩拖焊了。我用了一颗MX
29LV320ABTC-90
flash芯片,没问题。


重点:原来是1Mflash,现在换成4Mflash需要短接flash旁边的R88,切记!!!否则通电全部灯齐亮,flash不认。

第二步:
第二步焊接内存芯片,我买了一根SD PC133 256M的笔记本内存拆下来的。焊接方法同上,我用的颗粒是HY57V561620bt-h, 合不合适我也没底,因为第一次搞路由器,呵呵,have a try,试验见真知。内存就直接替换就可以了,还是那句,要有耐心。

第三步:
焊接ttl线。方便诊断启动故障。(此步可以不要,如果一切顺利的话,呵呵),当然,清空nvram也要靠ttl线,因为WGR614的复位键是没用的,刷了固件之后,要刮cpu飞线,这个不在我的讨论范围之内。

接下来就可以给路由器通电了。
手动设置网卡的IP地址,例如192.168.1.7 掩码255.255.255.0
网关可以留空,也可以不填。
个人小贴士:用双网卡玩刷机的朋友,例如无线+有线网卡的,可以用无线上网,有线网卡手动固定IP地址,网关留空,那样就可以一边刷机,一边用无线网卡上网查资料,上Q群求救了。当然,你无线网卡连接的网关不能是192.168.1.1,呵呵。否则会冲突。另外,为什么网关留空?因为如果你两张网卡都有网关,而且是不同的网关,那么,可能会出现无法和外网通讯的情况,windows系统无法避免的问题。

设置好IP地址之后就可以ping路由器了。开始——运行
ping 192.168.1.1 –t
,
加入参数-t的目的是可以不断的ping,方便了解路由器的状态,正常的情况下应该是可以ping的通的了,例如我ping返回的数值是小于1MSTTL=100
,这时候证明cfe工作正常了,可以上传固件了,用tftp工具上传,很方便,server192.168.1.1
file
选择你要上传的固件。重新给路由断电通电,看到ping的窗口通了,马上点Upgrade,等个几分钟,一直观察ping的窗口,如果看到ttl=64 ,证明成功了,因为tomatodd-wrt都是基于linux的,tll正是64

如果前面正常,那么打开浏览器,输入192.168.1.1 ,回车,应该可以看到tomato的界面了,我刷的是DUAL-WAN,呵呵。
但是如果发现ttl还是一直=100,怎么办?这时候就需要用ttl线来诊断了,先装好ttl线的驱动,电脑会多一个com口,我的电脑多的COM3,然后用SecureCRT软件,新建一个连接,连接方式选择Serial port选择你电脑多出的COM口,我选择COM3,波特率选择115200,注意,波特率不同步无法通讯,所以不能乱选。然后其他默认就OK了。OK之后回车,给路由器通电,就可以看到启动信息了,例如我的路由:

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Thu Mar 24 16:31:45 CST 2005 (motoplayer@cvs.gemtek.com.tw)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.39.0
CPU type 0x29008: 200MHz
Total memory: 32768 KBytes

Total memory used by CFE:
0x80300000 - 0x80399700 (628480)

Initialized Data:
0x8032F870 - 0x80331F50 (9952)

BSS Area:
0x80331F50 - 0x80333700 (6064)

Local Heap:
0x80333700 - 0x80397700 (409600)

Stack Area:
0x80397700 - 0x80399700 (8192)

Text (code) segment:
0x80300000 - 0x8032F870 (194672)

Boot area (physical):
0x0039A000 - 0x003DA000

Relocation Factor:
I:00000000 - D:00000000


Device eth0:
hwaddr 00-14-6C-16-35-D4, ipaddr 192.168.1.1, mask 255.255.255.0


gateway not set, nameserver not set

Reading :: Failed.: Timeout occured
Loader:raw Filesys:raw Dev:flash0.os File: Optionsnull)
Loading: ...... 1667072 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
CPU revision is: 00029008
Primary instruction cache 16kb, linesize 16 bytes (2 ways)
Primary data cache 8kb, linesize 16 bytes (2 ways)
Linux version 2.4.20 (zd@tomatodevp) (gcc version 3.2.3 with Broadcom modifications) #36 Mon Jun 22 02:18:45 CST 2009
Setting the PFC value as 0x15
Determined physical RAM map:

memory: 02000000 @ 00000000 (usable)

On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock2 noinitrd console=ttyS0,115200
CPU: BCM5352 rev 0 at 200 MHz
Calibrating delay loop... 199.47 BogoMIPS
Memory: 30568k/32768k available (1428k kernel code, 2200k reserved, 112k data, 64k init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
Checking for 'wait' instruction...
unavailable.

POSIX conformance testing by UNIFIX
PCI: no core
PCI: Fixing up bus 0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xb8000300 (irq = 3) is a 16550A
ttyS01 at 0xb8000400 (irq = 0) is a 16550A
HDLC line discipline: version $Revision: 1.1.1.4 $, maxframe=4096
N_HDLC line discipline registered.
PPP Deflate Compression module registered

Amd/Fujitsu Extended Query Table v1.1 at 0x0040

number of CFI chips: 1
Flash device: 0x400000 at 0x1c000000
Creating 5 MTD partitions on "hysically mapped flash":
0x00000000-0x00040000 : "pmon"
0x00040000-0x003f0000 : "linux"
0x000ee824-0x00390000 : "rootfs"
0x00390000-0x003f0000 : "jffs2"
0x003f0000-0x00400000 : "nvram"
sflash: found no supported devices
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
Linux IP multicast router 0.06 plus PIM-SM
ip_conntrack version 2.1 (8092 buckets, 4096 max) - 384 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
ipt_recent v0.3.1: Stephen Frost .
http://snowman.net/projects/ipt_recent/

ipt_tcpseq loaded
arp_tables: (C) 2002 David S. Miller
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: Ethernet Bridge 008 for NET4.0
802.1Q VLAN Support v1.7 Ben Greear
All bugs added by David S. Miller
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 64k freed


Hit ENTER for console...

以上是我的路由器的启动信息,如果无法启动,可能提示固件装载错误,当然,很重要的一点,你要严重你的内存是否32M焊接成功了,(红色字体部分是硬件信息)

如果一起都正常了之后,那么现在的问题要解决WAN口的问题了,因为现在的情况是WAN1挂掉了,LAN1变成了WAN2,现在它是一个1WAN 3LAN的路由器。当然不是我的终极目标,所以我还得动手脚,找遍各大论坛都不得其法,只好自己研究命令行了。不过最后还是解决了这个问题。telnet192.168.1.1,帐户root 密码admin
逐行输入以下命令,然后重启,LAN1就变成WAN1LAN2变成WAN2LAN3 LAN4还是原来的LAN口。也就是用LAN口来替换WAN口的功能。(中文部分为说明,别一起复制进去 - -|||

nvram set vlan0hwname=et0
nvram set vlan0ports="3 4 5*"
nvram set vlan1hwname=et0
nvram set vlan1ports="1 5"
nvram set vlan2hwname=et0
nvram set vlan2ports="2 5"
nvram set wan2_iface=vlan2
nvram set wan2_ifname=vlan2
nvram set wan2_ifnames=vlan2
nvram set wan_iface=vlan1
nvram set wan_ifname=vlan1
nvram set wan_ifnames=vlan1
nvram commit
(等几秒钟)

reboot
(路由重启)


(这部分的资料可以参考http://www.dd-wrt.com/wiki/index.php/Switched_Ports)
这时候LAN1LAN2应该都变成WAN口了,试验了以下,均可成功获取上级路由的IP地址。通讯也没问题,应该是成功了,负载均衡先不测试了,软件部分的问题,稍后再试。

到这一步,一个被雷公强吻的垃圾网件614 V6已经蘖盘重生了,摇身一边变作一个200MHZ CPU4M FLASH, 32M内存的主流配置双WAN路由,当然,刷DD-WRT做中继那更加是小意思了。手头有这种路由器的朋友,别扔掉,花不高的成本把他修好,总比买一个能刷DUAL-WAN32M路由器便宜。

总结:
用到的工具和软件:风台(当然可以只用烙铁堆焊换flash和内存,网上搜索有教程),烙铁,洗板水(或者酒精),松香水。松香,焊锡,万用表。小刀。
软件和驱动:SecureCRT 5.2(也可以telnet,比系统自带的好用多了),usb-ttl驱动,tftp工具,修正好内存的cfe
可选工具:TTL线  风台(可用烙铁替换)镊子。


另外,知识扫盲班:文中出现两个TTL,其中TTL=XXX,指的是time to life。数据包的存活时间,有兴趣的可以看看http://baike.baidu.com/view/2696.htm

至于TTL线,是一种数据线,其实作用就是USBSerial。实现和路由器的底层数据通讯。

本人初烧路由改造,菜鸟一个,欢迎高手指正和交流心得。