Since moving to North Idaho our internet is slow, we’re regularly saturating our 1/2 Mbps upload 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 recovered it). The default QoS rules 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: