Tomato
Table of Contents

flash

http://tomatousb.org/forum/t-251656/installing-on-rt-n16

In case anyone who may come across this site was interested and needs help. Here is a guide I found to install TomatoUSB on the Asus RT-N16.

Preparation:
1. Set fixed IP address (I didn't personally find this necessary)
2. Use only wired connection (disable wireless to be in the safe side)
3. Make sure you disable firewall in Windows (while this is a good precaution it wasn't necessary for me when I did it)
4. Disable the virus guard (Once again, good precaution but worked fine without doing it)

Let's Begin!

1. Download and install Asus RT-N16 utility. (Can be downloaded Here: http://usa.asus.com/Networks/WiFi_Networking/RTN16/#download)

2. Download and extract the K26-MIPSR2 Tomato USB Firmware. Extras or VPN version is up to you. With this router you might as well just go with the VPN version. (Get them Here: http://tomatousb.org/download)

3. Plug in the router while holding the reset button on the back of the router.
This puts the router in recovery mode, which is necessary to flash using the Asus Firmware Restoration utility. If you try using the restoration utility and the router is not in recovery mode or is not connected it will say, "No wireless device in recovery mode is found".

4. Run Firmware Restoration from Asus Utility which you installed in step 1.
In Firmware Restoration browse for the firmware image you extracted in step 2 and click Upload.
(Note: It's likely that the Asus Utility will hang due to the fact that it attempts to verify the successful flash but it won't be able to because the firmware is not Asus firmware. Mine hung at 33% and timed out. Everything still worked out fine though.)

5. After the upload is complete open your browser, go to the router by typing 192.168.1.1, when prompted for a username and password enter "admin" for both. Go to Administration > Configuration > Restore Default Configuration, select "Erase all data in NVRAM memory (thorough)" and click OK. To insure that the processor has time to complete addressing all NVRAM variables it's best to wait about 5 minutes before making any changes.

You are now ready to start using your Asus RT-N16 with Tomato.

IMPORTANT:
1. Don't forget to change the password from the default one. (Administration > Admin Access > Password)

2. Wireless is enabled by default with no security enabled. Be sure to update this before people start jumping on your network. (Basic > Network > Wireless)

QoS

番茄QoS设置超详细教程, DD用户也可参考。(让BT满负荷,上网照样快如飞)

先来说说我的情况。我所住的小区因为线路老化,只能装上下行 512k/512k的ADSL(该死的中国电信为什么不改造线路)。带宽小了,下BT的时候上网就比拨号还慢,大一点的图片显示不出来。我又不想限制BT 带宽,因为本来就慢了,还限制的话一部电影要下几天啊。终于五一的时候忍不住卖了老的Linksys Befsr41,冲着番茄强大的QoS去买了WRT54GS 1.1回来。拿回来就刷了番茄。经过一段时间的研究,终于把番茄的QoS全部研究了一遍。现在BT满负荷下载,上网还是快如飞(当然没有不下BT的时候那么快,不过比不用qos快太多了),一个字,爽。好东西当然要分享给大家。下面给大家一一介绍吧

Basic (基本设置)

Enable QoS 激活QoS,选定。

Prioritize ACK 提升ACK优先级。大家知道TCP协议是基于发送-〉应答机制的。服务器只有收到客户端的应答之后才会发送下一个数据包。ACK就是这个应答。默认这个选项是选定的。不过值得注意的是P2P软件会产生大量的ACK数据包。比如说在下载BT的时候,如果这个选项被选定的话,你就会看到许多不明的 Highest流量。这些Highest的流量就是BT产生的ACK数据。所以如果你经常下载P2P软件的话我推荐把这个选项关闭,以免产生不必要的 Highest流量。干扰其他正常的网络应用。

Prioritize ICMP 提升ICMP的优先级。ICMP就是Ping之类的数据包。选定这个选项的话,ping值会好看一些。

Strict Rule Ordering 严格按照规QoS则顺序执行。选定这个选项的话,QoS的规则就会按照Classification里面的顺序从头到尾执行,直到碰到一个符合的规则。否则L7,IPP2P规则会先被执行,然后才执行基于端口,IP地址的规则。建议选定,以便于精确控制。

Reset Classification When Making Changes 在设置被改变的时候重置Classification。选定的话每次改变qos设置,所有的连接都会被重新评估。否则你必须从启动正在下载的程序,重新连接才能使设置生效。推荐选上。

Default Class 缺省QoS级别。这个指的是所有未被定义的协议的优先级。这个要配合classification里面的设置来决定。默认是Low。

Outbound Rate / Limit
Max Bandwidth kbit/s上行速度。注意,这个值千万不能乱填。它直接决定了qos是否能够正常工作。不适当的值不但qos不工作,严重的话在下载的时候连网都上不去了。这个值应该是你网络上行的最大带宽x90%。填得太大的话QoS就会发送比你的网络能承受的更多的数据,从而使网络阻塞,QoS也失去效果了。

而且必须是实际的最大带宽而不理论最大带宽。比如说ADSL最大理论上行是512K,但是我实测下来只有400多K。因为ADSL传输的时候要给每个包加载包头还有校验位,占用了一定的带宽。大家一定想我怎么才能知道我最大上行呢?其实用番茄就可以测到。随便找一个BT的种子下载,要下得人多的。然后不限制上行速度。观察番茄的流量监视表,当上行速度稳定为一条直线的时候就是你的最大上行带宽。

番茄把从高到低级别分为了Highest – 〉Class E几个级别。Highest是最高的级别。Class A -> E是番茄作者自己定义的几个级别,他的优先级比Lowest还低
下面是我的设置,大家要根据自己的实际带宽相应设置。

Highest 320 - 400 kbit/s
High 40 - 396 kbit/s
Medium 20 - 392 kbit/s
Low 12 - 388 kbit/s
Lowest 8 - 380 kbit/s
Class A 4 - 200 kbit/s
Class B 4 - 160 kbit/s
Class C 4 - 120 kbit/s
Class D 4 - 80 kbit/s
Class E 4 - 40 kbit/s

Inbound Limit
Max Bandwidth kbit/s 下行速度。其实这一项实际意义不大。下行的qos是没有意义的,因为数据包已经通过网络瓶颈(你的宽带线路)到达你的路由器了,再限制速度的话路由器只能丢弃多余的数据包。直接结果就是这些数据包不得不重新传一遍,白白浪费了网络带宽。下行的qos只有ISP支持才可能实现。大家可能会想,我只用上行的 QoS有什么作用呢?我要的就是能够控制下行的速率啊。其实控制了上行,间接的也就控制了下行。你想想如果某个协议的网络请求能够优先发送出去,返回的数据是不是也相应的会先到达呢?

这里我填入了一个很大的值10000K,其他全部选None,不限制下行速度。

当然在特定的情况下,这个选项还是有用的。具体我就没有研究了。毕竟我只有512k的带宽,当然要榨干它。

Classification (分类设定)

这里就是设定哪个网络协议拥有什么样的优先级的地方拉。一共有3行。

第一行:
地址:可以是源或目标IP地址或MAC地址。如果你想控制来自某个客户端的,就要在这里填上相应的值。
优先级:Highest -> Class E。定义符合这条规则的网络协议的优先级。
描述:对这条规则的简单描述。

第二行:
网络协议:一般选TCP/UDP。除非是一些特殊的网络应用。
端口:应用于所有经过这个端口的数据

第三行:
IPP2P: 这是一种P2P协议的过滤器。能够识别常见的P2P协议,比如BT,电驴。不过我实际使用下来发现基本没用。
Layer 7:第七层过滤器。这是一种非常高级的过滤器,工作于网络的最高层:应用层。它能够识别数据包里面的字符串,从而识别数据包是那个应用程序发出来的。番茄里面包含了许多常见的网络应用程序,如BT,电驴,迅雷,CS,魔兽等。

值得注意的是L7过滤器因为非常复杂,所以要小心使用。有些过滤器会overmatch,也就是说会把许多其他程序发出的数据包误认,比如说 SkypeOut过滤器。有些过滤器会undermatch,也就是说不捕捉到全部的流量,比如说BT过滤器。实际使用中我发现Skype out过滤器会把大约5%的BT数据认为是skype的数据,而BT过滤器则有20%左右的BT数据没认出来。在这里我们要尽量把overmatch的过滤器放在后面,undermatch的放在前面,以减少误报的可能性。有些过滤器是另一些得子集,如果你把这些子集放在他们的父集后面,他们是不会生效的,因为父集过滤器已经把数据包截获了。例如,http-video是http得子集。另外,并不是所有的L7过滤器都能保证工作,有些实际上效果不佳。要了解更多的信息比如那些是overmatch/undermatch的,那些确定是有效的,请参看L7过滤器的主页http://l7-filter.sourceforge.net/protocols

另外值得注意的是L7过滤器很占用系统资源,它会明显占用CPU和内存的使用。加载了不少L7的过滤器后,我的WRT54GS(32M内存)的内存使用稳定在21M左右。用WRT54G的兄弟可得悠着点,因为只有16M。内存溢出的话说不定就死机了。

在这些设置里面,端口/IP地址的过滤器是最有效的,能够100%的有效,而且资源占用率最低。IPP2P和L7过滤器并不是100%有效。

下面是我的一些设置,大家还要根据自己的实际情况量身定做。。

TCP/UDP
Dst Port: 53 Highest DNS
DNS非常重要,一定要设置为最高,并且放在最前面。不这样的话在大量下载的时候,DNS数据包可能会因为网络阻塞发送不出去,导致网页无法访问。

TCP/UDP
Port: 500,1701,1723,4500,3389,33089 High VPN,RDP
我经常使用公司的VPN,把VPN设为高,保证VPN连接可靠。

TCP
Dst Port: 80,443
Transferred: 0 - 1024KB Medium HTTP 0-1024k
TCP
Dst Port: 80,443
Transferred: 1024KB+ Low HTTP 1024k+
HTTP优先级设为中。也就是浏览网页的优先级。每个http连接流量超过1024k后优先级为低,保证了HTTP下载文件不会影响网络的浏览。

TCP
Dst Port: 21 Low FTP
ftp优先级为低,保证ftp下载不会影响网络浏览。

L7: bittorrent Lowest BT
TCP/UDP
Port: 25000 Lowest BT
BT 优先级设为最低,BT下载不会影响其他任何应用。在这里我使用了L7和端口两种过滤器,完全保证了所有BT流量都被过滤了。另外需要注意的是BT客户端的连接数不要设的太高了,否则效果打折扣。我512k的带宽,BitComet设置全局100个下行连接50个上行连接正好。

好了,写了两个小时,终于完成了。希望对大家真的有所帮助。如果有不对的地方还请多多指出。

http://www.right.com.cn/forum/viewthread.php?tid=9417&extra=page%3D2

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License