Scott Alan Miller

Tuesday, November 29, 2005

Netgear WG311v2 Wireless Adapter on SUSE Linux 10.0

I know that I am not the only person out there who has to get a Netgear WG311 version 2 wireless 802.11g adapter working on Novell's SUSE Linux 10.0 so I thought that I would share some quick notes that pertain directly to this combination so that others wouldn't be caught struggling with the same things that I did. I had this combination working with SUSE 9.2 a year ago but I updated the machine and it broke the wireless so I had to start from scratch.

First of all, yes the WG311 does use the Texas Instruments ACX111 chipset that SUSE and lspci so nicely detect but that driver does not work with this card, at least not the driver that comes with 10.0. So even though that auto detects the card do not get your hopes up that it is just going to work. If anyone has gotten a Linux driver to work with this card I would love to hear about it.

What I had to do was use ndiswrapper to encapsulate the Windows XP driver for the Netgear card so that I could use it under Linux. A lot of sites and forums said that you would need to scrap the included ndiswrapper package and get a new one directly from the ndiswrapper project but this was not the case for me. I went into YAST and installed ndiswrapper and all of its dependancies and those ended up working just fine for me. I believe that the included version is 1.2 but I am not positive. Installing the included packages is by far the easiest option if it is going to work.

Here is the real trick that I didn't find on any other site: the newest 2.x version of the driver does NOT work. The error that I get is that the hardware that I have is invalid. I read that someone had been having good luck with the older drivers so I tried the oldest stable driver that Netgear offered from their site which was something like 1.0.0.10. That driver worked great - found the card immediately.

After that I had one additional issue: smpppd kept crashing for some reason which was super annoying since it wasn't really needed for anything. You can't use kinternet without it but that isn't very important for most of us. It didn't matter in the least for me. So I had to disable smpppd altogether or it would eat almost all of the processor at way too high of a priority and make the machine impossible to use. I went into YAST and disabled it from startup and then manually removed it from /etc/init.d/rc.d/rc5 and everything was fine.

So the procedure went roughly:

1. Download older stable Netgear drivers (be sure that you get right version as there are three chipsets in these cards and they cannot share drivers.) I was working with version 2!

2. Unzip the driver package to someplace handy that you can get to.

3. Using YAST install the ndiswrapper packages. I don't think that there was anything extra needed.

4. Load the driver into ndiswrapper (the driver is the .inf file under Driver/Windows XP)...
ndiswrapper -i wg311v2.inf

5. Check that it loaded correctly...
ndiswrapper -l

6. One last thing...
modprobe ndiswrapper

7. Now, go into YAST again into Network Devices and set up your wireless card as usual. Manually select the driver and choose 'ndiswrapper'.

8. Once YAST runs you might find that smpppd has fired up and that you will need to kill it. This is easy as long as your mouse and keyboard are responding.

ps ax | grep smpppd
kill -9 'whatever pid the last command gave you'

9. Now go into YAST and disable smpppd from startup. Be sure to remove kinternet as well since smpppd is a dependancy.

I did all of that from memory so if there are any problems just comment and I will try to help you out. I know what a pain this procedure is.

Friday, November 18, 2005

AoE2 or Age of Empires II over the Internet

I realize that at this point this is a really old, legacy topic to talk about but it has been an ongoing discussion for years and I am getting tired of trying to support this and not being able to find anything written about it online so I am posting the necessary information here.

What is the issue? The issue is that Age of Empires 2 supports up to eight players in a "LAN" setting. Players with public IP addresses can play with each other as well. However, most players would like to be able to host their own game without needing to use the horrible "online" system that Microsoft came up with and need to be able to use regular networks that exists for home users today which include a single public, dynamic IP address with one or many users behind that firewall connected over the Internet to one or more other public IP addresses each with one or more players assigned to it. The issue is that AoE2 using Microsoft's DirectPlay peer to peer architecture which does not, in any way, support this structure.

What can be done easily is connecting many players playing from many sites as long as there is only a single player behind each public IP address. This is easy. Simply use port forwarding on each firewall to make each player's computer appear to be on the public Internet. A simple Google search will turn up which ports need to be forwarded.

The real challenge comes in when you want to have more than one player behind a single public IP address. There is no straight-forward way to do this. You cannot do this with port forwarding because of the dynamic and overlapping port assignments used by DirectPlay. Host based VPN solutions are difficult at best to attempt. DirectPlay does not appear to support the architecture necessary for many host based VPN solutions.

What is the real solution? After years of attempting to find a good solution to this problem I have found only one really useful solution. That is a network to network VPN solution using a transport such as IPSec. The option that we decided to try is the IPSec VPN hardware solution available from Netgear. The Netgear solutions that we tried our integrated router/VPN units that are simple to use and decently inexpensive. We have used them in a variety of configurations and they have worked reliably and solidly.

How does this work where other solutions do not? Unlike any other solutions, the IPSec N2N VPN solution works by hiding all levels of the VPN process from the host computers which are running AoE2. The public Internet is hidden 100% and all of the computers on the new virtual LAN are unaware that they are going over the Internet and they interact exactly as if they were on the LAN (although the broadcast domain is chopped so you do have to enter the server IP address instead of using broadcast based discovery methods.) This is different from host based VPNs because any host based solution has an opportunity for the DirectPlay layer to be "confused" or to detect the VPN and can "disallow" the communications.

Currently I have been working with someone who is trying to find a host based VPN solution to allow AoE2 to be played over the Internet with multiple users at a single site but, as of yet, the problems have remained consistent over the years. I am sure that there are many N2N VPN solutions that will also work but I have not had time to test any others. I am interested to see how well a SmoothWall firewall IPSec VPN will perform, for example.