FreeBSD Based Gaming Router
Zaphoid writes "Lan Game Reviews has posted an article on how to use an old computer and FreeBSD distro m0n0wall to create a gaming router. Gaming routers allow users to use their full bandwidth for downloads and other high bandwidth apps, and low latency applications at the same time. By keeping packet queues on the router side, rather than the modem side. Users are able to achive great pings in online games, while fully using their download bandwidth. This is a great alternitive to expensive gaming routers on the market today."
"This is a great alternitive to expensive gaming routers on the market today."
:)
Yes, this is exactly what the gaming world has been waiting for. The funny thing is that when somebody tries to create a product that is designed for USERS, they complain. However, when you design something so obscure out of your own whim that might never be used by anybody else, that is considered cool. Discuss.
Cover your eyes and click this link!
You can do this with a wrt54g and the sveasoft firmware, too. I prefer that way, so you don't have to worry about another machine that sucks a lot of power lying about. IIRC, you can get the sveasoft firmware at alternate locations, just google for it. I broke down and bought it ($20/year), and got my money's worth.
You might even be able to do it with the free wrt54g firmware, openwrt, but I've never tried it.
This little box is extemely reliable, has very low power consumption, it's cheap and it's small. Plus, it does wireless (WPA, etc).
Such routers seem to be under $100.
& btnG=Search+Froogle
http://froogle.google.com/froogle?q=gaming+router
I don't see how a loud, hot old PC is necessarily better. And if you want an embedded system, those are normally quite pricey.
I'm not convinced that using an old PC is the best way to go here. Hacking a WRT* might seem more reasonable -- but a lot trickier.
I really don't like having lots of big boxes around, humming. But then I don't like games either.
http://www.thebricktestament.com/the_law/when_to_
I have played implmenting packet priortization in the same method they use on here (except on linux using dsl_qos_queue - www.sonicpsike.net).
...
It works great but there is one major disadvantage. In order to have the queue on your side work, you must lower your upstream so that there is no buffering/queueing happening on your ISP's side.
This is a problem becase it is that exact ISP buffering that allows you achieve higher upstream transfer rates. In my case (768 Kbs up), I lowered my maximum upstream from close to 80k to closer to 70k in order to reduce the ISP's sides queueing.
I still have the system in place beacause it effectively allows my to be using alot of upstream bandwdith and still have fast download (and SSH console echos!). I sure would like to get that extra 10k back though
Both the v1.0 and v1.1 WRT54G routers have 16MB of RAM and a MIPS processor running at 125Mhz. The v2.0 of the same router has the 200Mhz CPU.
If you have a WRT54GS, it comes backed with 32MB of RAM and a 200Mhz CPU also. That's some beefy hardware for just routing alone! Even better, these routers run on a version of Linux. The source code is available from Linksys for free.
Screw having another bulky PC laying around. You can have my Linksys when you pry it from my dead cold hands!
Life is not for the lazy.
I've been using monowall for probably almost a year now, for a couple different routers. Here's why I like it. Put 3 net cards in a computer. 1 for the diesel modem, 1 for the LAN, and one for the wireless access point. Block all traffic from wireless to LAN, and then allow only VPN traffic in. You have free unencrypted wi-fi for friends and neighbors, and encryption for yourself far superior to WEP.
Traffic shaping only affects UPSTREAM data.
There's unfortunatly no 100% effective way a simple user could get rid of the queues at the ISP side during heavy downloads. ICMP Source Quench were supposed to be an answer to this, but the potential exploits lead many admins to simply filter them out. IMHO, 'gaming firewalls' could ease a bit latency on assymetric lines (ADSL mostly), but true QoS can only be achieved if _both_ ends do shape their traffic (the above applies to IPv4).
As far as I've seen by experimenting myself, the benefit of such an assymetric setup is to prevent excessive pings (several seconds). Playing a FPS during heavy use is still a no go as it implies irregular ping, and an average of 100-150 ms. However, it's quite a nice setup if you plan to play some MMORPG or want to get connected through SSH.
Regards.
f you RTFA this "game router" is really only adding traffic shaping/prioritization, which is something a middle of the road router can do anyway in FIRMWARE which will be lots faster than that software.
Your typical cable routers "firmware" is either pf/netfilter or something very similiar, and isn't imparted any speedup.
If your box did something like l7-filter in hardware, then you'd have an argument...
Actually I'm still running several AMD DX4's, with various versions of FreeBSD. A DX4 133 is about the same speed as a Pentium 100 and allowed many to upgrade their CPU speed without changing their motherboard, so actually there was a decent market for them, for a while anyways. AMD made 486's that could be clocked to 40Mhz bus speeds, and so the DX4 was actually capable of 160Mhz, which generally beat out Pentium 100's for many things (except floating point). Such machines have plenty of horsepower to run simple websites.
So lets say you happen to have an old PC laying around unused and two NICs to stick in it. Let's then say you downclock the FSB and CPU to conserve power so that the machine only uses about 100W average. And let's say that the reason you need this type of router is to have good throughput on gaming and websurfing and still maximize your throughput on P2P apps that are flooding your connextion.
So you're running a PC at 100W 24/7. At 8 cents per kwh, that comes to $5.76/month. Of course, your power probably costs 12-15 cents per kwh, and your old PC probably takes 150-200W power, so you're probably using more like $8+/month. Also add in extra air conditioning costs in the summer to offset heat from the extra PC you have running.
I built a PC based router back when basic standalone units cost $250. Once they hit the $50 mark (two years ago, I probably paid more like $30 AR), I decided I was long overdue to buy one. I recouped my entire cost in less than 6 months. Unless there's something a $50 (now) Linksys WRT54g can't be modified to do, you shouldn't be bothering with a PC based solution.
The only way the PC router solution makes any sense is if you also happen to be using it as a print and file server, or a PC jukebox or running ftp/http services.
Want to drive yourself nuts? Put a pair of Sveasoft-hacked Linksys WiFi units between a PC and a server, and try to do something intensive like a CVS checkout. The thing works OK when it's not the bottleneck, which is the case when you're talking over some low-bandwidth link to the outside world. But when the WiFi link is the bottleneck, something breaks in queuing.
Yeah, we tried Sveasoft support. They're in denial about the problem, and we don't have time to debug it for them.
You can do lots of things to cool those PCs down though. Sleep (Suspend to RAM) or Hiberation (Suspend to Disk) are always good options if you aren't using the computer when it's not around. Personally, I use my computer 24/7 to do something, but you can still negate a lot of heat:
- If you are using an Athlon 64, use the Cool'n'Quiet tech to dynamically clock your system down to as little as 800Mhz -- it sips power at that speed. To be fair, Pentium 4 Prescott owners also have a similar feature, but it can only clock the system down to 2800Mhz (or whatever the 14x multiplier would net you, if you are overclocking or underclocking your bus).
- Take advantage of the automatic turning off of disks and displays available on any modern ACPI PC.
- You can always underclock parts of your system, even dynamically. For instance, any modern nVidia GPU can be dynamically clocked down when running in 2D mode and then throttle back up when 3D apps need the power. I'm sure there are similar features for ATI GPUs.
- For the more adventurous, you can buy water cooling kits, and place the radiator outside, or in a window blowing exhaust air out. Make sure your pump can move the water over the delta in height, though!
My system has six disks in it (1x80GB system, 1x200GB "misc", and 4x300GB in a RAID-5), as well as 2 19" LCDs, so the hard disk and monitor features really help me out. I unforunately don't have a processor capable of dynamic clocking yet (I'm still on an Athlon XP), but I do dynamically adjust the bus down 25Mhz or so when I'm not using the computer heavily. For my laptop though, you can't beat suspend-to-disk: it takes about 14 seconds to boot in to Windows, exactly the same way as I left it. I've also offloaded all my critical services to an old, passively cooled PII/266 so that the desktop can be shut off as often as possible (e.g. when Remote Desktop and FTP aren't required).
Just because you asked... the reason the DX4 is a DX4 and not DX3 (since it, as you pointed out, only triples the bus speed) was because of the enhanced amount of cache which according to intel allowed it the same level of performance as quadrupling the bus speed while not actually doing so - hence DX4. :)
Exactly. Some people just get their kicks out of using old hardware and doing something worthwhile with it. I recently saved an old box (AMD K6 200, 64 MB RAM) from an inglorious death at the landfill - luckily the previous owner, a good friend of mine remembered my fondness of computer-related junk and i happily went and picked it up.
... whatever else I might find amusing. It also has an old ISA radio card; I'm hoping to get it working so anyone could listen to FM radio over LAN (via ESD). Can't do that with your average soapbox-router.
Now it has NetBSD installed (a superb OS btw), currently only NATing an ADSL connection and running apache and sshd - but possibilities are endless. I'm planning to add trafficshaping / firewall (pf), PHP module to apache, a plethora of P2P clients (amule, bittorrent, soulseek, etc), samba