Ok, here’s the situation: I have a small home network, with a DSL router providing access to the Internet. I have three boxes accessing the net via this router, a windows XP box connected directly to the router, and two other boxes connected to the router via a switch, one running Vista (my brother’s) and my own OpenSUSE box.
My problem is this: whenever one of the windows machines is downloading at a high rate, my linux box tends to clog up and is almost unable to access the net, or will do so sporadically (I have to try several times downloading a page before I get a response). However, if one of the windows boxes tries to access the internet while the other one is downloading, the bandwidth will be simply divided up between the two of them with no problems.
As you can probably imagine, this is quite a pain in the *ss, as in order to use the internet, I have to ask everyone to stop downloading massive files. Not to mention the fact that it makes me feel at a disadvantage (which, let’s face it, is really the issue here >:( ).
Is there some sort of special setting that windows use when dividing up the bandwidth? How come my machine responds poorly when the network is tied up but the windows machines don’t seem to mind?
I read on some fora that transmission control my actually make matters worse in case of congested networks; I tried disabling it on the windows machines but that didn’t seem to do much to improve the situation. I have no idea how to enable/disable it in OpenSUSE (I tried ethtool, but I could not find any setting regarding transmission control).
Does anyone else seem to have the same problem? Any ideas I could try out? My router seems to support QoS, but setting that up is a bit of a hassle, so I was wondering if there are simpler solutions.
Unless you change the settings in the router to prevent these downloads, I can’t see much you can do. It’s unlikely the router is sophisticated enough to be able to throttle connections. If the downloads are bittorrent and particularly if DHT is used, that can swamp the router.
Who has control of the router?
I am not sure what DHT is, actually, but my machine gets clogged mostly when uTorrent is involved, and sometime when YouTube videos are downloaded (which is, usually at peak available bit rates).
I can access the router and change the settings, if I have to, but I think that means changing the settings accordingly on all machines.
How come the windows machines don’t mind the swamping?
It’s employed very much in utorrent. I’m not saying that even if you manage to get this switched off on the UT software side that this will eliminate the issue. But anti p2p monitoring companies will use it to deliberately flood routers, it’s also a security risk IMO in bittorrent.
Anyway this is not really an issue we can discuss, as you know there are legal issues with this.
We can tell you though, that the only way to have control of this is to be the admin of the router. The router has to allow bittorrent via UPnP or port forwarding. Switch UPnP off or close the open ports or both. If that’s to drastic, some routers will allow schedules for each connection on the LAN, but you need to assign IP’s on the LAN to each connection.
I think your best option is to flash your new (or old) router with a firmware that will provide greater granularity of control (by far) than the stock firmware the 99% of them ship with. For example, if compatible, you can flash your router with the OpenWRT firmware and take it from being essentially a glorified switch to being an actual router you can customize.
These open source firmwares allow you MUCH greater control over QoS setting and with them you can do exactly what you are seeking.
Here is an article that describes this as well as links to three popular firmware choices.
NOTE: VERIFY your router is supported before you flash it as you may otherwise brick it and recovery can be quite challanging.
Personally, I went with OpenWRT and I love it. I can ssh into my cheapo Linksys WRT54g and set iptables rules, monitor QoS, etc. It increases the value of consumer routers many times over.
I just got a new wireless router, a Level One WBR 3600, so I think I’ll play around with its settings before I try something else.
I read the pages you linked to, and what I saw seems quite interesting, although it may be a bit out of my league. I do have a question though: Can I install OpenWRT on this DSL router, or do a have to use a stand-alone router and keep the DSL connection on a separate box? Does the software handle the DSL connection as well?
From what I have seen, I don’t think so, so this means that I will have to fork over another 50 E to get a second machice doesn’t it? Besides, my new router is not on the supported list (although some similar older models from Level One are).
It does sound intriguing though…
I’ll see what I can do with my new DSL router using some of the advice on the web pages you linked.
I would keep the DSL router you have and just buy a very inexpensive router to use for the actual routing (the DSL one would then just be a bridge or just pass everything to the 2nd router, etc.) - you could buy a used Linksys WRT54G, etc. to install the Linux routing firmware of your choice and manage your QoS through it. This would only add a negligible cost, but provide a great amount of flexibility. Get one with at least 8MB, more is better
After using my new router for a couple of weeks, I feel that the old one had a problem with the DHCP server it was running or something, 'cause I don’t have the same problems with the one. I have all sorts of new problems, but my PC doesn’t clog up any more.
The new one is a Level One WBR3600. Can’t say I am thrilled; QoS is fairly basic, but I think it gets the job done. The interface is pretty lousy, with long response times and inaccurate reporting of information. (e.g. number of clients connected is wrong / out of date, etc). Easy to set up, though.
Anyways, I think I am gonna try using the two-router configuration you suggested, as soon as everyone goes on vacation, that is…