Linux PC router messes up fair queuing
My Linux router is messing up its fair queuing (you might call it "Quality of Service"). What I mean is that one big HTTP download connection takes up the whole Internet connection and won't even let pings or DNS traffic through.
I've tried using tc to control bandwidth, allocating a higher priority to port 53, ICMP traffic and lower priority to HTTP. Alas, my stuffing around has not helped. I don't have any config files left because the router is running a Slax live CD, and since I haven't had a working tc configuration so far, I didn't save anything.
The physical setup is as such:
Router: Slax 5.05 (Live CD, based off Slackware),
Pentium 3 500Mhz, 128MB RAM, working ethernet card, working serial ports, external serial 56k dialup-modem (yuk!)
Client: Fedora Core
Pentium 4 3.2GHz, working ethernet card.
The PCs are connected by crossover cable. The common scenario is that I'm sitting on the client and browsing the web and chatting on IRC, and then when I download some big file, everything else drops out apart from that one download. Once the download is finished or cancelled, everything goes back to full speed. Note also that the router is not used for anything but a firewall; it has no GUI running and no services apart from SSH.
I've tried searching Howto's, but I seem to run into the same bandwidth sharing problem. The core of my question is how to get the router to fairly share my bandwidth so that ICMP and DNS and all the interactive traffic can get through during a heavy download.
Thanks for any help, links or pointers,