I’m a fan of the QoS controls built into Tomato firmware and other fancy routers. Unfortunately it doesn’t work on my slow Grass Valley link. The problem is the QoS algorithm they use needs to know the max link speed as a parameter; basically it throttles traffic that approaches 90% of that link speed when things get congested.
Except, I don’t have a single link speed. My link is 2500kbps for about 60 seconds, then is 1000kbps. If I set the QoS limit to 1000kbps then the router never allows any single stream to use more than that, basically wasting my burst. So I set it to 2500kbps, but then that screws up the traffic shaping when things get busy.
There’s other QoS algorithms out there that should be possible. I dimly recall back in 1999 when I studied this last that RED didn’t require knowing the link speed, just auto-detected congestion. That may be harder to pull off on a house router since it’s sitting behind the congested link, you really want to shape the link upstream of the bottleneck.