WRT54G
tI;Z@k$b0tyY'J0最近家里的网络有些问题,搞WRT的时间多了,上网查了些WRT相关的信息,WRT果然是比较强悍的router,前几年把它放在书房里那里确实是有些浪费了。Linux宝库(k1I*w4c%W-`~m!X V
kAFT-W.t0?p0QoS
Gl}y0@!G0Linux宝库gZEl+N"C6Qg[f问题:最近多用了emule下载HDRip的H264格式的电影,老爸开始投诉上网不畅顺了,:)
s@1B`ee4d9U0方案:限制emule、bt不是好办法,反正也只有我一个人用这些东西的。所有考虑用QoS,把P2P的流量变成低优先级,这就不影响一般的应用了。
{6y*r
a(Q?[0参考资料Linux宝库g0b:Pqo6PF
http://www.dd-wrt.com/wiki/index.php/Quality_of_ServiceLinux宝库 xjvPLG tu
WRT的关于QoS的在线帮助Linux宝库1X2C8m-`/H
采用Services Priority, 在Applications & Gaming->QoS->Services Priority里面Add,Service Name选择edonkey,Priority选Bulk。
便民功能——无线信号调度
qJx8{(P0Z*T0资料Linux宝库W:v3j+UGp2q.[
http://www.right.com.cn/forum/viewthread.php?tid=5748&extra=page%3D3%26amp%3Bfilter%3Ddigest
Z ? P`KZ/NEj0我调整为0am~7am关闭radio,晚上下载也改成用有线了。Linux宝库.}a{Z.Q9a0gn
DDNS
j L'g7@"v0以前也有用过DDNS,花生壳什么的,不过那东西要在PC上装client。dd-wrt自带了ddns,在3322申请了ddns添上就okie了,顺便看了一下3322所用的url的ddns协议,好像用cron+wget来实现都可以了。
&Qm4T2?gnK@0NTPLinux宝库-ic-j3Fj0ynp
B
打开了ddns后,发现ddns log里面显示的时间不对,上网找了个ntp server,210.72.145.44,这个是国家授时中心的服务器地址,重新配置了wrt的时区,时间正常了。Linux宝库3|;?v$|&M
开启WRT54GV2上的32MB内存,Enable 32mb ram on XB reversion WRT54G V2Linux宝库#U&o^ZRU2Y F,H
买这个WRT的时候一直为买了个比较低的硬件版本而发愁,不过这几年的经验告诉我,硬件版本不是越高越好,同一个型号的产品,功能基本一致,高的硬件版本可能是修正的硬件的bug,也可能是为了节约成本,lol
E^#?@,_d9Kz0WRT54G就是个好例子,以下是WRT54G的规则资料Linux宝库
cHj2}"T6B
http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRT54G
uw(Y@Eb0http://www.seattlewireless.net/index.cgi/LinksysWrt54g#head-16f8386c6dae5562099400a3c80f187f2c5542f3
!EA(XBU7K M6qT%s6R0简单说一下,v1->v2,cpu升级了,为了节约成本,不再用mini pci的wlan卡,直接集成到板上了,当然v2好于v1了。v2->v2.2,有线swtich的芯片换了,v2.2->v3/3.1,小的硬件改变,换CPU BCM3302,总体没有太大差别。v3.1->v4,硬件小变动。v4->v5/6,改成一半的flash、ram空间,使用vxWorks操作系统,大改了,DIY的乐趣少了很多。。很多。。
8h
W^ F8XP)X%S,N)oa0另外,有一批V2的硬件还比较特殊,可能当时用于V2的sdram型号短缺而工厂要出货的原因,这批V2使用了WRT54GS所使用的sdram芯片(那是32MB)而系统限制只使用16MB,和正规的V2规格一样。这就是给这些V2的使用者提供了hack的资本,以下是关于如果hack的资料Linux宝库X\1AI w(?*c#HG
c'T
http://www.right.com.cn/forum/viewthread.php?tid=7696&extra=page%3D2%26amp%3Bfilter%3DdigestLinux宝库.V Rk9G[-A%})g
http://www.dd-wrt.com/phpBB2/viewtopic.php?p=69178#69178
9p8\n_5t&h$k0简单来说,确定是V2版本,打开WRT,记录sdram型号,上网查sdram的规格,确定是单条16MB,然后就可以通过以下命令开启全部32MB ram
/Q+ba&@f'hXL
L0nvram set sdram_init=0x008
)Wy"Hrpc5e'`LgXb7f0nvram set sdram_ncdl=0x000Linux宝库a\*F\y7nl`
nvram commitLinux宝库m _\P7c|z
rebootLinux宝库/a;\ADAO0}7Y
开启后,用dd-wrt v23sp2 std firmware开机后有19MB的空闲内存,这是以后DIY的资本,如果只有16MB ram,开机后只有2~3mb free memory,可以做的事情不多了...
$Kn-s M
O;J~0这种改nvram的方法在硬reset(清nvram)后就打会原型了,比较彻底的方法要用jtag口改CFE,问题是hard reset的几率是多少呢,hard reset后执行4行命令也不难啊。jtag的意义在于bsp开发和调试,在产品期就只有改bootloader的作用了。Linux宝库
fv5]"|4Y8C
,nq7]*o"}!u0WRT54G FUN Project
;k%gh^/D$W'LR0It's a wireless router, it's more than a wireless router.Linux宝库
eb#YR0g/d
WRT54G上面运行着linux OS,可以给自己发挥的地方很多。不过它依然是一个embeded设备,有不少硬件限制
m#v2dcEY!P1w0硬件规格Linux宝库(SA2E
D6v4Ya
Version 2.0:Linux宝库h{Zj~/b,nc/dP
s(N)eur0RAM: 2 x IC42S16400, 64Mbit (4M X 16) RAM chips (16MB) or (later version) 2 x MIRA P2V64S400TP 64 Mbit (4M X 16) RAM chips (16MB)
9s2nv|%apcyF@+R0Linux宝库`8Xds4tbHT/X6gFlash: Intel TE28F320 C3 flash 32Mbit chip (4MB)
IfyM/U9fv0Linux宝库r B0^:\3eow3sNote this is the 48-pin TSOP "C3" version which occupies the board's 48-pad UC5 location.
qnC!X:BO0Linux宝库 LWE"p0[&\qwL$W%kCPU: Broadcom BCM4712KPB, running at 200MHzLinux宝库 ~K9aP3tOB
Linux宝库kl;SLu6MEthernet: ADMtek ADM6996 5 port 10/100 switchLinux宝库`o\Ov+?6ro"^
Linux宝库;^;EhnUq8\.O2yWireless: On board; Broadcom BCM2050KWLLinux宝库1n\;h~]k-M@
%Y1P:qE/X0平时作为router,CPU一般在20%以下,CPU能力有一定空余,CPU没有做任何散热措施,OC到216就不稳定了,加上基本散热后应该可以OC到232 or 248,在上去应该要加fan了,据说最高记录可以OC到300。加fan就没有必要了,环保的好。Linux宝库(_V\oB!E7Qr
Linux宝库@k$ELb(w开启全部32MB ram后有19MB free memory,虽然不能和64MB的router比,不过合理利用还是够了。
}(h2X:FrN8s_0Linux宝库 Ec%g)D!I])~FFlash,4MB的flash空间是个问题,开启jffs后根本就没有可写的空间,dd-wrt v23sp2 std是3.3MB,还有CFE和NVRAM的空间,真的没有什么剩余了。dd-wrt说用mini的firmware(2.5MB)会有一些jffs空间出来,不过估计也就是几百KB了,只能放程序,数据用的空间还要另外考虑,而且mini的firmware少了不少功能,考虑过使用openwrt的firmware,据说2mb以下,没有太多的页面配置,而且可以自己裁剪一些功能,估计配下来可以有1mb左右的jffs空间,还是不够数据用的。不过考虑到这个wrt主要还是做router的工作,要的就是稳定和配置方便,所有还是放弃了openwrt的方案。Linux宝库0Q)P_8{@ Qo+M
Linux宝库 [)h(S.G nWq3N突破wrt存储空间的方案——sambaLinux宝库_C]f Da
wrt可以mount samba,也就是使用windows的共享文件夹了。同理,也许可以使用nfs的,不知道kernel编译了nfs支持没有,另外搞个nfs share的不太容易,要不装个linux机器,虽然我的确有linux机器,不过空间很有限的,也不常开;要不在windows上装个sfu的包,二百多mb还不知道是否可以装在xp上。所有还是用samba吧。dd-wrt上关于用samba代替jffs的资料。
9@
JX
Et3QZwX6t5a0http://www.dd-wrt.com/wiki/index.php/JFFS_File_System#Use_a_Startup_ScriptLinux宝库RsSH wr#tV
一定要开启jffs的原因是ipkg等的程序运行的时候是要检查jffs是否开启的。(PS:只是检查nvram sys_enable_jffs2=1,so a fake jffs is usable)
$h*I#T:K t/mKU0使用samba也有一些缺点:
%`(^r)OveJ01.文件属性丢失
Q9hw!w
BX02.不可以使用文件链接,link
9li&]k"eBZ0考虑到到以后要安装程序,而link和文件属性都是比较常用的,不过先用不管这些samba的缺点,以后再想解决办法。
5KP2`-` ~YFf
DhS)O0以上资料中提供了3个用samba代替jffs的方法,已经用第三个试过了,可以mount上,还在测试。不过这个方法不太好,2个共享文件夹,而且还启动了jffs,用lsmod可以看到jffs的module已经load到kernel了。
oi S-\)M?zDL@0个人比较倾向于第二个方案,单一share folder(也可以2个),而且里面提供了fake jffs的解决办法,可以不用load jffs module了。Linux宝库od.RR't4Z ~w
方案一用startup script,这个script放在nvram里面,而且跟其他startup script放在一起的,虽然简单但不好处理。Linux宝库3Qp*nZG2UJVJy&?
$Tm.] X{m3\~;Ih0现在用samba的问题归结如下:
.ye$K
F%h6N9Ygsh,n01、share point不在线的问题引起的各种问题
m[!R FC|{02、samba文件属性、link无效问题
m:k*Z\7t5N"{ `$_#X\0想到的wrt54g应用Linux宝库Ps){5X"k aJ{8Q:o
1、ftp server
FwHP"w&h9h%FI0不占用PC机CPU资源,只要提供空间
#Tn%T'U'IIY/ia02、BT clients
/X;_S'o#q$\j+n _0这个恐怕有些bt,19mb ram和160mhz可能支持不来,而且cache少对HD的伤害也大。Linux宝库 Q_pmG5wAP'wZ
3、wgetLinux宝库l6i9Un$L0A,yiv
利用wget下载东西,不靠PC的CPU,要自己写些脚本了,:)
C,EV
u&Z
]1h F04、cvs,svn server
0xkK@+cOi^$f/|!_2Zm0samba的文件系统会丢失文件属性Linux宝库X;Hoy3S]i2_+w
5、lame,FLAC
C7vl8F;I\\0没什么歌要压缩了..
TAG:
