1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

BW Limiter in Toastman Causing Restarts?

Discussion in 'Tomato Firmware' started by WRD - EasyTomato, Oct 24, 2012.

  1. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    We've been having an awful time getting the BW Limiter in EasyTomato to work well. A large nonprofit has a few ET routers at medical clinics in Haiti and were trying to limit some users. Enabling the BW limiter caused the routers to continually restart after only about two minutes. I've been having stability issues as well while testing BW Limiter at home.

    We haven't touched any of the BW Limiter code, so I just wanted to see if anyone running either stock Toastman or EasyTomato has had serious stability issues with the BW limiter. Has anyone using Toastman's build used the BW Limiter?

  2. gutsman7

    gutsman7 Networkin' Nut Member

    Are you using QOS? If so there shouldnt be any problems. Unless perhaps if you touched the qos code.
  3. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    We want and were trying to use the BW Limiter by itself. So no QOS. We haven't touched any QOS or BW code. Do you use the BW Limiter?
  4. gutsman7

    gutsman7 Networkin' Nut Member

    I have used it in the past and didnt have any problems with it. But havent used it on the newer Toastman's builds. You can always use the firewall box and use scripts to limit your clients.
  5. lefty

    lefty Networkin' Nut Member

    FWIW the toastman builds come with a stripped down version of the BW limiter, shibby's builds come with the full BW limiter, not sure that it matters, but i would think since toastman's BW limiter is stripped down that the non-stripped down/non-modified version in shibby's builds may be worth a try, but me personally couldn't tell you, i use QoS and not BW limiter.
  6. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    We can, but we would really rather stick with stock stuff, providing it works. It is much less work/cleaner for us and we've got a lot to do on this project.

    Yeah, I figure almost everyone uses QoS and not BW. We might look into Shibby's build and see how that works.

    If anyone else has tested this let us know!
  7. Monk E. Boy

    Monk E. Boy Network Guru Member

    Just to add some background to the discussion, for a while Toastman removed BW limiting completely from his builds. I don't remember if it was due to reports of problems with it or what, but there are discussions in this forum about its removal and reinstatement... if you wanted to Google up some light bedtime reading. ;)
  8. Porter

    Porter LI Guru Member

    I have only heard people complaining about BW limiter if they used QoS and BW limiter at the same time. So this is somehow new to me. On the other hand it is true that they don't work together and should therefore never be used together.

    I'm using only QoS on the latest Toastman for my WRT54GL. I have an uptime of more than 200 days by now. If you want something stable use this.
  9. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    Thanks, but for what we are trying to do right now we only want to BW Limiter without QoS.

    I found something on TomatoUSB with another guy having the same problem earlier this year, so perhaps we're not alone. Though it looks like the BW Limiter in Toastman doesn't see a lot use... :p
  10. Porter

    Porter LI Guru Member

    What are you trying to achieve? What's the typical environment Easy Tomato is being used in (number of hosts, what is the internet being used for?)?
  11. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    It's pretty diverse (aka tons of use cases). We want to cut down heavy users (torrenting etc), likely by priority then maybe also direct bandwidth limiting.

    Before everyone jumps on us to say "this is what QoS is for!!!!" I'll preempt you all and say we can't use it. It's way way to hard for our users to setup as it's quite custom and takes a lot of tinkering/input/bandwidth measuring. We are working on ways to make an automated QoS system (measures max bandwidth throughput automatically), but this is a nontrivial problem when it needs to work first time every time on thousands of different connection speeds, many of which are very dynamic during a single day!. :)

    BW limiting is easy to understand and can be merged into the EasyTomato UI with little problem. (if only it would work!)
  12. Monk E. Boy

    Monk E. Boy Network Guru Member

    If you can script a bandwidth test, you could set it to run every hour and adjust the QoS bandwidth values after each test. I'm not suggesting its a trivial amount of work, just that it could be automated to cope with changing bandwidth.

    Have you looked at other QoS GUIs to draw inspiration from? Someone, somewhere has to have got one setup that's easier for "normal" people to use.
  13. Elfew

    Elfew Addicted to LI Member

    use shibby build... there is better BW with extra functions and it works great
  14. shibby20

    shibby20 Network Guru Member

    i`m using only bw limiter on many of routers. I haven`t never any of issues.
  15. pharma

    pharma Network Guru Member

    It sounds like you based your firmware off the Toastman version that included the full BW limiter. I believe that version had issues -- primarily router restarts and freezing when selecting a particular B/W option. The restarts could be avoided by not selecting one of the checkboxes in the BW limiter section. I believe the checkbox enabled an additional BW option just below where you put the info of targeted ip addresses - possibly related to ip's to exclude from being limited but not sure. The optional section was removed because of the issues it caused.
    I used both QOS and B/W limiter without any issues, primarily targeting my nephew who was hogging available b/w. I know it was working because he actually commented if something was wrong because speeds were slower. This is using the current Toastman version -- can't help you as to which version the changes were made, but since that change have had no problems. There were a couple posts related to it, possibly in the main Toastman thread.
  16. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    This is what we are likely to do, though there are also interesting ways of looking at organic network traffic to look for saturation and bandwidth. Both of these ways have drawbacks and yes, it's not trivial. But yes, this is what we are likely to do in the end.

    We've looked at stuff, but the very idea of QoS is beyond out target user. If someone gets it, they can use the build in one without too much trouble. We will likely have a one check box QoS that just throttles torrenting and say that if you have a better understanding of networking use the QoS in AdvancedTomato mode of EasyTomato, which is just regular tomato.

    Thanks for this! Guess we will look into this a bit more. We can maybe switch out the BW limiter for the one from Shibby, but we need to look at how much work that would be.
  17. Porter

    Porter LI Guru Member

    The Gargoyle firmware has an automatic QoS-system. But I don't know how open source this whole stuff is.

    Unless the BW limiter has improved significantly, I don't know how you would detect torrent traffic with this system. Ok, L7 filters could do some stuff automatically, but does the BW limiter support this? Then again torrenting users like to use protocol obfuscation, which means L7-filters might be useless. With the QoS-system you can at least instate something like a white list for traffic (http, email, chats) and put anything that isn't detected in the class of unwanted traffic. Another cool thing is that downloads are put in a different class than normal webtraffic, which means that you can still surf comfortably while downloading. Does the BW limiter have this by now?

    The QoS-system in Toastman's firmware has reasonable standard filters that don't need tweaking by inexperienced users in order to work. The only thing the user has to do is to measure bandwidth. I agree that this is something not every user feels comfortable doing.

    What the QoS-system sometimes doesn't to do so well is dividing traffic fairly between users. In my experience this isn't such a big problem anymore. The situation can be further improved by using the right algorithm for queueing. Replacing the sfq qdisc with the newer esfq could solve this.

    Moreover changing bandwidths over the course of a day are a big problem. So detecting network congestion is neccessary. But once you know the current congestion you can either use BW limiter or the QoS-system.
  18. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    Sorry. Confusion here. We are going to use the QoS to go after torrenting, not BW limiter. But that's dependent on being able to measure the WAN max throughput automatically. Thanks for the Gargoyle reference, as they talk about doing that so we will look into it. (Active Congestion Controller)

    For EasyTomato, we actually don't expect any of the users to be able to measure their own bandwidth. So when we say automatic, we mean a single check box that enables it and disables it. :)

    Once we've got a reliable way to get the max throughput we should be good, though there is still some value in having BW limiting for what we want.
  19. pharma

    pharma Network Guru Member

    Sorry if I mislead you but the firmware I used thoughout was Toastman. I encountered similar issues as you and resolved them in both instances using Toastman's firmware ... the solution coming with a newer Toastman version with "modified" B/W Limiter. But it sounds like you might have found a solution (Gargoyle suggestion). Look forward to hearing your progress! :)
  20. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    No no. I meant I hadn't described what we were doing well. We are using Toastman, we might look into how hard it would be to take shibby's BW limiter and put it in to our version. Not sure though.
  21. Monk E. Boy

    Monk E. Boy Network Guru Member

    For what it's worth, you don't have to "classify" torrent traffic to get it in a category. What you need to do is classify all other legitimate traffic and let BT get caught by the "everything" rule. For example, port 80 and 443 TCP traffic is HTTP/HTTPS. If a BT client tries to get tricky and set itself up on port 80 or 443 but is using UDP then it doesn't get classified at HTTP/HTTPS, it gets classified by an "everything" rule. Avoid L7 filters at all cost due to the CPU utilization, the fewer you have the better your traffic will flow.

    Good luck on the BW limiter.
  22. Toastman

    Toastman Super Moderator Staff Member Member

    I think that anyone with low bandwidth links, such as satellite, has a difficult job on their hands. You really need QOS to prevent people taking the bandwidth, but I appreciate that the rules can scare some people and perhaps they would be unable to add new rules to cover their own needs without any real knowledge of what to do.

    On the other hand, if you use bandwidth limiter (which is in fact just another QOS system) then each user gets really poor bandwidth even if nobody else is using the internet (which I personally hate).

    The answer might be to revert to a much simpler set of QOS rules such as Teddy and I did for TomatoUSB, which used an "everything " rule to handle P2P. OK, they will probably not be sufficient.

    The QOS systems in Shibby and Toastman builds diverged some while back. Mine uses IMQ devices so should work together with QOS to limit individual machines which hog bandwidth. Shibby's doesn't use IMQ. As to whether the two systems in Toastman can work together, it does whenever I've tried it, but personally I hate the bandwidth limiter. It seems to me to defeat the whole point of QOS.

    The auto QOS in Gargoyle is a bit of a red herring, because all it does is ensure that the QOS is using reasonable max bandwidth settings. It doesn't address the problem of badly behaving clients.
  23. WRD - EasyTomato

    WRD - EasyTomato Networkin' Nut Member

    Yep! This is the only way having an on/off only QoS is going to work!

    To be sure it's a difficult job, but we're going for better, not perfect. Our target end user is a doctor at a hospital in Africa or a teacher at a school in South America. They won't even know what a MAC address is. For all intents and purposes assume that our admin user would only ever see the EasyTomato interface and if they were to click on the AdvancedTomato (regular Tomato) interface their head would explode!

    Our uses have a binary choice, they can have our auto settings with an On/Off button or they will have nothing. Question is, can we build something that is significantly better than nothing? Which of course may be significantly worse than a custom, optimized setup. We think so. :)

    As for the using BW limiter. We might make it so that there is a priority setting for each user in EasyTomato (a user is a visual object in EasyTomat) to set him to low (and only low or normal). This means you could easily and individually punish a rouge user without destroying the whole network with poorly made priority settings (like putting 1/3 of the computers on high priority and watching antivirus updates kill the network for everyone else).

    This is interesting. I think you're right that for Gargoyle it might be in that it makes people think the magic box is fixing their slow internet, however in our case that's about as much as we can do in automated way. If we can automatically adjust the max bandwidth to at least keep latency reasonable, that's far better than nothing at all!

    As for badly behaving clients we hope that we can make an admin identify them though the graphing and accompanying table (still working on this). After being identified, well actually we hope that someone will go talk to them and we're going to write as much in our user guide. It's easy enough, though EasyTomato's interface, to block them or then perhaps drop them into a lower priority (if BW limiter works/is helpful) should they not respond to talking.

    Having help/advice making our "auto" QoS rule set (WWW good, P2P very bad) would be greatly appreciated once we get there!
  24. phuque99

    phuque99 LI Guru Member

    The wshaper module using Linux's tc in OpenWRT do a decent job as a configuration-free auto qos ruleset. You might want to poke at that and port it over to Tomato since you're motivated to do so.

Share This Page