Since moving to North Idaho our internet is slow, we’re regularly saturating our .5Mbps upload cap doing cloud backups and uploading pictures and videos which can make gaming or web browsing painfully slow and unreliable. I tried to get QoS (Quality of Service) working on DD-WRT but it can only have QoS rules based on port, not remote IP or amount of data transferred per connection. This works for giving voice and games higher priority since you can differentiate that by port but it had no way of throttling down Crashplan backups or Flickr uploads on port 80 or 443 without also throttling internet browsing on those ports.
Tomato has better QoS support but unfortunately my Buffalo router isn’t supported by Tomato, but my trusty old Linksys WRT-54GL is, so I flashed it with TomatoUSB (well, first I flashed the wrong firmware and bricked my router but some smart guy made a revival guide where you can get it back by shorting a pin). The default QoS rules actually work pretty well:
I ended up adding more rules to fine tune it a little more and now it’s running perfectly.
So, here’s my new network setup: