Nintendo DS Wireless Networking Guide Version 1.2
Copyright 2005 - 2008, Tom "TJ" Nardi (MS3FGX@gmail.com)
================================================================================
= Contents =
================================================================================
1. Introduction & Overview
1.1...Introduction
1.2...Why was this Guide Written?
2. DS Configuration
2.1...Introduction to WiFi Setup on the DS
2.2...Configuring a WiFi Connection on the DS
2.2.1...Step 1
2.2.2...Step 2
2.2.2.1...Automatic Configuration
2.2.2.2...Manual Configuration
2.2.2.3...AOSS Configuration
2.2.3...Step 3
2.3...Configuring a Connection with the Nintendo Wi-Fi USB Connector
2.4...Wi-Fi Connection Options Menu
2.4.1...System Information
2.4.2...Erase Nintendo WFC Configuration
2.4.3...Transfer Nintendo WFC Configuration
3. Setting Up Your Own AP (Basic)
3.1...Using a WiFi Router
3.1.1...Using a Stand-Alone AP
3.2...Using the Nintendo Wi-Fi USB Connector
3.2.1...Requirements
3.2.2...Pre-Installation
3.2.3...Installation
3.3...Nintendo Wi-Fi USB Connector Versus Wireless Router
3.3.1...Compatibility
3.3.2...Security
3.3.3...Efficiency & Convenience
3.3.4...Verdict
4. Setting Up Your Own AP (Advanced)
4.1...Configuring a Software AP in GNU/Linux
4.1.1...WiFi Options in GNU/Linux
4.1.2...Setting up the Hardware
4.1.3...Setting up the Software
4.1.3.1...IP Ranges
4.1.3.2...Routing
4.1.3.3...Static IP
4.1.3.4...DHCP
4.1.4...The Complete DS_AP Script
4.2...Configuring a Software AP in Windows
4.2.1...Supported Devices
4.2.2...RT2500 Driver Installation
4.2.3...Software Configuration
4.2.3.1...RT2500 Soft AP Setup
4.2.3.2...Configuring ICS
4.3...Configuring a Software AP in Mac OS
4.3.1...WiFi Options in Mac OS
4.3.2...Configuring Internet Sharing
4.3.3...Configuring AirPort Options
4.3.4...Connecting the DS
4.4...Hacking the Nintendo Wi-Fi USB Connector
4.4.1...Using the Nintendo Wi-Fi USB Connector with AOL
4.4.2...Nintendo Wi-Fi USB Connector Soft AP
4.4.2.1...Driver Modification and Installation
4.4.2.2...Software Modification and Installation
4.4.2.3...Soft AP Configuration
5. Network Security
5.1...WiFi Security
5.1.1...Cloaked SSID
5.1.2...MAC Filtering
5.1.3...WEP
5.1.3.1...Use a Strong Key
5.1.3.2...Use the Highest Encryption Possible
5.1.3.3...Limit your Bandwidth
5.1.3.4...Rotate your Key
5.1.3.5...Combine Forces
5.1.4...Is it Safe?
5.2...Securing your WiFi Router
5.2.1...Use a Strong Password
5.2.2...Disable Wireless Management
5.2.3...Disable Remote Management
5.2.4...Disable Remote Upgrade
5.2.5...Enable HTTPS
5.3...Nintendo Wi-Fi USB Connector
5.4...Firewalls
5.4.1...General Firewall Concepts
5.4.1.1...Inbound Firewall
5.4.1.2...Outbound Firewall
5.4.1.3...Network Segmentation
5.4.2...Types of Firewalls
5.4.2.1...Hardware Firewalls
5.4.2.2...Software Firewalls
5.4.2.2.1...GNU/Linux
5.4.2.2.2...Windows
5.4.2.2.3...Mac OS
5.4.3...Practical Application
5.4.3.1...Inbound Firewalling
5.4.3.2...Outbound Firewalling
5.4.3.3...Network Segmentation
6. FAQ & Troubleshooting
6.1...FAQ
6.1.1...Nintendo Wi-Fi Connection
6.1.2...Routers
6.1.3...Nintendo Wi-Fi USB Connector
6.1.4...GNU/Linux
6.1.5...Windows
6.1.6...Mac OS
6.2...Troubleshooting
6.2.1...Nintendo Wi-Fi Connection
6.2.1.1...Error Messages 50000 to 59999
6.2.1.2...Error Messages 80000 to 89999
6.2.2...Routers
6.2.2.1...DS Does Not Detect Router
6.2.2.2...DS Cannot Establish Link with Router
6.2.2.3...DS Connects to Router But Cannot Connect to Internet
6.2.2.4...None of that Worked!
6.2.3...Nintendo Wi-Fi USB Connector
6.2.3.1...Wi-Fi Connector Not Detected by Installer
6.2.3.2...Internet Connection Sharing Error
7. Reference
7.1...Networking Glossary
7.2...Software AP Compatible WiFi Hardware and Drivers
7.2.1...GNU/Linux
7.2.2...Windows
7.2.3...Mac OS
7.3...Finding the Current TCP/IP Information
7.3.1...Under GNU/Linux
7.3.2...Under Windows
7.3.3...Under Mac OS
7.4...Correctly Configuring a Static IP
7.5...Tips for Increasing WiFi Range
7.5.1...Transmission Rate
7.5.2...Antennas
7.5.3...Router Firmware
8. Thinking Out Loud
8.1...Rate Autonegotiation
8.2...WiFi vs. NiFi
8.3...Nintendo Wi-Fi USB Connector vs. Software AP
8.4...What Happened to WPA?
8.5...A Tale of Two Consoles
8.6...Ad-Hoc on the DS
8.7...Monkey See, Monkey Don't
8.8...Escaping Captivity
8.8.1...Nintendo Wi-Fi USB Connector
8.8.2...MAC Cloning
8.8.3...Nintendo DS Browser
9. Misc
9.1...Version Information
9.2...Future Additions
9.3...Disclaimer
9.4...Credits
================================================================================
= 1. Introduction & Overview =
================================================================================
--------------------------------------------------------------------------------
- 1.1 Introduction -
--------------------------------------------------------------------------------
I welcome you to the first Guide I have ever submitted. The reasoning behind
this Guide, and my goals with it, are covered elsewhere. I just thought I would
start the Guide off with a little general background information about it and
myself.
I am a Network Administrator by profession. Some would say that networking is
my life, and others would say that I have no life at all. Both parties would
probably be correct. I saw the opportunity to use my knowledge to help others
on a fairly large scale when the DS was announced to have WiFi capability, and
this Guide is the end result.
Considerable time and money has been spent researching this Guide. I have spent
hundreds of dollars to buy the hardware needed to test all of the things you
will read here. Hardware that I had no use for, but could not in good
conscience write about unless I had in my own hands.
This document was written entirely by myself, but even though I wrote this on
my own, I have had support and help from others, and they are all thanked in
the credits.
I also encourage anyone who reads this Guide to email me with their impressions
or suggestions. I am always open to new ideas for the Guide, so drop me a line
if you think there is something I should cover. Even if you don't have a
technical comment or idea, general feedback is always welcome as well.
If you want more one-on-one help with anything I have covered in the Guide, or
something is not exactly clear to you from what I have written, feel free to
email me with that as well. A few people have already emailed me with the
problems they were having, and we were able to work out a solution together,
which is what this is all about in the first place.
A word of warning though, I feel that if you chose to use a text-based method
of communicating with others, you should at least form that text properly. So
if you are going to email me, then make sure it is done in proper English. I
hate "133t speak", and if I receive an email written in it, I assure you, I
will redefine the word "unhelpful".
Finally, perhaps a little technical information on this document itself. This
Guide was written completely in Vim, and spell checked with Aspell. I did not
use word wrap, and instead manually entered carriage returns at or before 80
characters as I wrote it. Big fun.
I hope that you enjoy this Guide, and more importantly, I hope that it helps
you.
--------------------------------------------------------------------------------
- 1.2 Why was this Guide Written? -
--------------------------------------------------------------------------------
The answer to that question is not what you might think.
Prior to the opus you are currently reading, I had never written a single FAQ
or Guide of any sort. This is because I never felt there was anything worth
writing about, and if there was, certainly somebody else would do it.
But, coming to the end of 2005, no serious WiFi Guide had been written for the
DS, and even worse, there was even more confusion then usual, as Nintendo had
released their own WiFi adapter, and it had gotten to the point that some
people actually believed that the Nintendo Wi-Fi USB Connector was the only way
to get online.
At the same time, the Nintendo Wi-Fi USB Connector troubled me, as it put heavy
limits on what sort of hardware and software it would work with. Limits that
did not have to exist. Many people out there, including myself, do not use
Windows XP, or Windows at all for that matter. Nintendo obviously did not care
too much about the Linux and Mac OS users of the world, or even people running
older versions of Windows itself.
So, due in no small part to my own greed, my initial idea was to write a Guide
that would detail how to use nearly any WiFi device as an AP for the DS in
Linux. Then I realized that (other than myself) roughly 4 people would benefit
from such a Guide.
Then I said, "Fine, I will expand that to Mac OS as well." Alright, that gives
us 10 more people.
So far, I have 14 people on the edge of their seats.
I was starting to figure this was useless, so I came to the conclusion that I
couldn't just write about setting up a software AP in Linux, or even in Linux
and Mac OS. I would need to cover everything possible.
I would have to cover creating a soft AP in all 3 major operating systems. But,
what good is a Guide on creating and setting up an AP, if you don't tell people
how to connect their device to it? So I would also have to cover how to setup
the DS with WiFi. Of course, many people just want to use their standard
wireless routers, so I would have to cover that as well. While on this grand
adventure of networking, I might as well document my observations and
experiments too...
So, from my simple initial goal, we now have the Guide you are currently
reading. A document that, I hope, will help everyone who reads it, from people
who just want to get their DS working with their existing router, to Linux
users who want to fight the system.
That is why this Guide is called the "DS Wireless Networking Guide", rather than
something like "WiFi FAQ". This document is not intended to be a simple FAQ
giving obvious answers to equally obvious questions. This is intended to be the
Bible of the DS's WiFi abilities. It is a technical look at the DS, WiFi
technology, and networking in general.
================================================================================
= 2. DS Configuration =
================================================================================
--------------------------------------------------------------------------------
- 2.1 Introduction to WiFi Setup on the DS -
--------------------------------------------------------------------------------
So here is where things get murky. Because of Nintendo talking so much about
their designated public APs, and the WiFi Adapter, some people have gotten the
idea that the DS does not work with normal WiFi hardware, and needs to get
online using special Nintendo software/hardware. This is completely untrue, and
here we will talk about getting the DS online with your average home wireless
router.
A few details on the WiFi setup for the DS. Unlike the PSP, the DS itself has
no capacity to configure it's WiFi hardware, search for APs, do a connection
test, etc.
This ability is added by each online game for the DS. They all contain the same
identical WiFi setup and testing application, so one explanation will cover
every online DS game ever released. How convenient.
In addition, contrary to what many people assumed, WiFi configuration
information is not saved to the game cart, but is written to free space on the
firmware EEPROM inside the DS itself. This means that once you configure your
DS for WiFi connectivity in one game, you don't have to do it for other games.
There is enough free space on the firmware EEPROM to hold 3 separate WiFi
connection profiles. An interesting note is that, unlike the PSP, you don't
need to actually tell the system which profile to use, it will automatically
determine which one of the connection profiles to use, without user
intervention (actually, you can't manually select which profile to use even if
you wanted to).
So now that we know some specifics about the WiFi configuration for the DS,
let's figure out how to do it.
--------------------------------------------------------------------------------
- 2.2 Configuring a WiFi Connection on the DS -
--------------------------------------------------------------------------------
Each game is different, so you will need to find out how to get into the WiFi
configuration system by reading the manual for your game. Assuming you have
found it, let's go over the basic setup.
Once you get into the WiFi setup, you will be presented by a large blue button
that says "Nintendo Wi-Fi Settings" and a smaller orange button that says
"Options". For now, we are only interested in the Settings menus, so click on
that button.
From here on, the setup process is separated into 3 major parts. Let's take a
look at each one individually, and cover it's use.
--------------------------------------------------------------------------------
- 2.2.1 Step 1 -
--------------------------------------------------------------------------------
For step one, you will chose which WiFi profile you want to work with. Again,
the DS can hold 3 such profiles, so you can have one for home, work, and a
spare for public APs. How you use these profiles is up to you, so chose which
one you want to setup, and click it.
--------------------------------------------------------------------------------
- 2.2.2 Step 2 -
--------------------------------------------------------------------------------
Here you must choose how you want to configure your DS. Either Automatically,
Manually, or with an AOSS device. Let's talk a bit about each one, and give an
example setup.
--------------------------------------------------------------------------------
- 2.2.2.1 Automatic Configuration -
--------------------------------------------------------------------------------
This is the mode most people are looking for; this will enable you to get
online with your DS with almost any WiFi router out there. At home or away,
if you want to get online with the DS, this is the first part of the
configuration you are going to be looking at.
To enter this mode, click on the button, "Search for an Access Point". You
should then get the message "Searching for an access point..." along with a
noise. This will take a few seconds, and afterwards, you will be presented with
a list of all the AP's detected (if any were found).
For each AP, you will see three pieces of information:
The first, and perhaps most relevant is the name of the WiFi network, or SSID.
This is the name that was given to the network to help identify it. You will be
using this name to figure out what device you are actually connecting to.
Second is an image of a lock. Very simply, if the lock is open, there is no
encryption on the network and you will be able to immediately connect to it. If
the lock is closed, that means encryption is in place. The lock can be two
different colors. Red indicates WEP, which means you will need the WEP key for
that network if you want to connect to it. The lock could also be gray, which
means the network is using WPA. At this time (more on this in my "Thinking out
Loud" section), WEP is the only supported form of encryption for the DS, so if
you see a gray lock, you cannot connect to that network.
The last piece of information is a simple indication of signal strength. This
should be pretty simple for most people to decipher, since it is very similar
to the signal strength indicator on cell phones. The more bars, the better the
signal. Additionally, the icon itself will be green, yellow, or red, indicating
the condition of the connection. Green is obviously the best, and red is
either very low, or no connection at all. You might as well ignore any APs that
show up consistently as red, as it is likely the signal is not strong enough to
connect.
Now that we know what all that means, take a look at the list and decide which
one you want to connect to. Simply click on it, and it will automatically setup
the connection. If a WEP key is required, a prompt will come up asking you for
it.
You will then see a message confirming that the setup has been saved, and then
it will ask to run a Connection Test (Step 3). Assuming everything worked and
you have a good signal, you should get a message saying "Connection Successful"
and it should return to the main WiFi setup menu. If you got this message, you
are ready to play online.
Now, this is obviously the easiest and most applicable of the connection
options. However, it depends on a few things which may be a problem depending
on the network setup. First, it depends that the network you are connecting to
has SSID Broadcast enabled. This is not always true, as many people chose to
cloak their SSID to make it less obvious to other WiFi users. Second, this
depends on a DHCP server on the network. A WiFi router contains a DHCP server
element (though it might not be enabled on the particular router you are
connecting to), but a more advanced network, using WiFi APs and not
consumer-type hardware may or may not have network-wide DHCP enabled.
If you fall into a group where either of these is a problem, then the next
option is for you.
--------------------------------------------------------------------------------
- 2.2.2.2 Manual Configuration -
--------------------------------------------------------------------------------
This mode is for more advanced setups. Probably 80% of users will not need this
option, but for those of us that do, be glad it is here.
To get here, get yourself to Step 2 as described earlier, and click on "Manual
Setup".
I assume that if you are at this screen, you already know what you are doing.
You know what an IP address is, you know what a subnet mask is, and you don't
need to waste time reading detailed explanations about them, and I certainly
don't need to waste time writing them. If you do need a more detailed
explanation about these terms than I am giving here, take a look at the
"Networking Glossary".
You are given the following options in the Manual Setup:
+------------------------------------------------------------------------------+
| Setting | Description |
+------------------------------------------------------------------------------+
| SSID | This is the name of the WiFi network you |
| | want to connect to. |
|------------------------------------------------------------------------------|
| WEP Key | Enter the WEP key here, if WEP is enabled. |
|------------------------------------------------------------------------------|
| Auto-obtain IP Address | This gives you the option to disable or |
| | enable DHCP. |
|------------------------------------------------------------------------------|
| IP Address | This allows you to manually assign an IP |
| | address for the DS to use. |
|------------------------------------------------------------------------------|
| Subnet Mask | This allows you to manually assign the |
| | subnet mask for the DS to use. |
|------------------------------------------------------------------------------|
| Gateway | This is the IP for whatever router you are |
| | using to connect out to the internet. |
|------------------------------------------------------------------------------|
| Primary DNS | These options allow you to assign |
| Secondary DNS | primary and backup DNS servers. |
+------------------------------------------------------------------------------+
At the top there is also a button labeled "Test Connection" which you can use
to make a quick check of the current settings. At the bottom there are buttons
to Cancel and Save Settings. When you choose Save Settings, you will be
prompted to perform a Connection Test (Step 3), let it run, and if it passes,
you are ready to play online.
Again, if you have gotten this far, you likely don't need any more guidance
than that. The Manual mode is a nice addition for advanced users, but does lack
MAC Spoofing and Proxy support, which might be a problem for some people.
--------------------------------------------------------------------------------
- 2.2.2.3 AOSS Configuration -
--------------------------------------------------------------------------------
AOSS (AirStation One-Touch Secure System) is a system designed by Buffalo
Technology to automatically setup a secure WiFi connection. This attempts to
address a major problem with WiFi technology, or perhaps more accurately, the
use of WiFi technology. Due to the popularity of WiFi, it is in use by many
people who do not really understand the technology and how to properly use it.
This has lead to literally millions of insecure WiFi networks all over the
world, posing a massive security risk for individuals, businesses, and indeed,
the Internet itself.
To use the AOSS feature, your router needs to support AOSS. I'll save you the
time of doing the research, and tell you, it almost certainly does not support
AOSS. AOSS is (at the time of this writing, and the time of the launch of
Nintendo Wi-Fi Connection) a new, and fairly rare technology. Unless you have
a very recent router from Buffalo Technology, you aren't going to have AOSS.
But for those who do, or will in the future, here is a quick run down of the
AOSS setup:
Navigate to Step 2 as done before, and then click the button that says "AOSS".
The DS will then begin scanning for a signal from the AOSS device. While it is
doing this, go to your router and locate the AOSS button on the front panel.
Hold the button down until it starts to blink, then let go. After a minute or
so, the DS and the router should have worked out the proper connection
settings, and the DS will inform you of this, and save the settings to the
firmware. Again, like in the other modes, it will also prompt you to start a
Connection Test. If the Connection Test is successful, you are ready to play
online.
--------------------------------------------------------------------------------
- 2.2.3 Step 3 -
--------------------------------------------------------------------------------
Step 3 is simply the Connection Test that the DS WiFi setup program runs after
you configure any WiFi connection.
In this Step, the DS will test the WiFi connection by first associating with
the AP, authenticating, and then contacting the Nintendo Wi-Fi Connection
servers.
You have no control over any of this, and if all goes well, Step 3 should
simply say "Connection Successful", and return to the main menu. If any part
of the test fails, it will give you a fairly detailed error message about what
exactly it failed to do, and will also give you contact information for
Nintendo of America. In addition, it may give you an error code that you can
put into a form on NintendoWiFi.com and try to find a solution there.
The vast array of problems that can come up with WiFi and all the error codes
and messages the DS may display are well beyond the scope of this document.
The only thing I can tell you is that the DS does at least tell you what it
failed to do, so you at least have a place to start your troubleshooting.
--------------------------------------------------------------------------------
- 2.3 Configuring a Connection with the Nintendo Wi-Fi USB Connector -
--------------------------------------------------------------------------------
Nintendo realized that as common as WiFi is today, there are still many people
that do not have access to it, and are intimidated by technology too much to
try and setup their own router just to use the Nintendo Wi-Fi Connection.
Because of this, Nintendo has developed the "Nintendo Wi-Fi USB Connector".
This device is a USB WiFi adapter that can be used to get the DS (and only the
DS) online without the luxury of a real WiFi router. This is great for some
people, but it's relatively high price and OS requirements have left quite a
few people unhappy with it.
To use the Nintendo Wi-Fi USB Connector, we don't go through the usual steps
to configure the WiFi. Instead, from the the WiFi setup, click the button that
says "Connect to your Nintendo Wi-Fi USB Connector". You will be prompted to
setup the Wi-Fi Connector on your computer, and to press A once you have done
so.
You should already have the Connector setup on your computer, but if you have
not, then jump to Section 3.2 and read how to do so. If you have your Connector
setup already, then just keep reading here.
Press A on the DS to connect it to the Wi-Fi Connector. After a few seconds,
you should get a pop-up on your computer saying that a user wants to connect to
the Nintendo Wi-Fi Connection. Open up the Registration Tool by double clicking
the WFC logo, and you will see a list of DS's that are trying to connect to
your computer. To identify individual DS units, the list shows the nickname
that the user entered on that DS. Simply right-click on the DS you want to
manage, and either Allow or Deny access for that DS.
After granting permission for the DS, you will see a message on the DS that
says it has saved the configuration options, and it will ask you to run a
Connection Test, as usual. If the test passes, you are ready to play online.
One note on the Wi-Fi Connector, you can only have 5 people connected up to the
computer at once. This is probably not a problem for most sane individuals, but
it is still something that should be noted.
--------------------------------------------------------------------------------
- 2.4 Wi-Fi Connection Options Menu -
--------------------------------------------------------------------------------
Here I will briefly describe the functions that are available under the
"Options" menu on the main screen on the "Nintendo Wi-Fi Connection Setup"
program.
--------------------------------------------------------------------------------
- 2.4.1 System Information -
--------------------------------------------------------------------------------
On this screen, you will see both the DS's hardware MAC address, which you may
need if you are using MAC filtering on your AP.
Under this, you will see your DS's Nintendo Wi-Fi Connection ID, which is a
unique ID created for your DS the first time it logged onto the WFC. It is what
identifies your system and links it with your "My Nintendo" account for stat
tracking.
--------------------------------------------------------------------------------
- 2.4.2 Erase Nintendo WFC Configuration -
--------------------------------------------------------------------------------
As the name implies, this option will completely erase all of the WiFi settings
on your DS, as well as your WFC ID. You will only want to use this option if
you are selling the DS, or want to completely start over with your WFC career.
*IMPORTANT*
Once deleted, there is no way to restore this information or your WFC ID.
--------------------------------------------------------------------------------
- 2.4.3 Transfer Nintendo WFC Configuration -
--------------------------------------------------------------------------------
Since WFC identifies users based on their WFC ID rather than the standard
username and password combination, once you sign on to WFC with a DS, that must
be the DS you use at all times, or else your stats will not be kept track of.
This however causes a problem if you ever want to get a new DS. Thankfully,
Nintendo saw ahead and added this feature, which will allow you to transfer
your WFC ID and settings to another DS.
Let's call your old DS with your WFC information "DS A", and the new DS that
you wish to transfer the information into, "DS B".
Start DS A with a WFC game, get into the "Wi-Fi Connection Option" menu, and
select "Transfer Nintendo WFC Configuration". The DS will then show you some
information about what you are about to do. Hit "OK" on both of these screens.
Now, on DS B, start the system and go to "DS Download Play", you should see
"Nintendo WFC Configuration Transfer" come up. Select it and press "Yes" to
download it into your system. Back on DS A, you must select "Yes" to transfer
the information into DS B.
If there is already WFC information on DS B, it will warn you, and you will
have to hit "OK" to overwrite it.
After that, the transfer will begin. This should take around 30 seconds. After
the transfer, select "OK" on both DS A and DS B, which will save the changes
and shut down both systems.
As far as WFC is aware, DS B has now taken the identity of DS A. Your WFC ID
has been transferred, as well as your configured WiFi profiles. All of your
Friend Codes will still be valid, and your new DS will also remain linked to
your "My Nintendo" account.
*IMPORTANT*
Transferring the WFC settings from one DS to another permanently deletes the
information from the old DS. Only transfer WFC settings if you are sure that is
what you want.
================================================================================
= 3. Setting Up Your Own AP (Basic) =
================================================================================
For the vast majority of computer users out there, there are two main options
for setting up your own AP in your home.
You can either buy a wireless router (or a stand-alone AP to add to your
current wired router) or buy the Nintendo Wi-Fi USB Connector. Personally, for
many reasons, I would suggest the router.
Not only does it add a hardware firewall to your network, it is a much more
capable device for the price, compared to the fairly high price of the
Connector, which can't be used for anything else. Also, the router is
independent of the OS on the computers it is connected to, which means people
running Linux, Mac OS, and older versions of Windows, can all use the router
along with your DS.
But regardless, I must be objective as possible, and describe all
possibilities, so in this section we will cover the two major options.
--------------------------------------------------------------------------------
- 3.1 Using a WiFi Router -
--------------------------------------------------------------------------------
Not to get into a rant here, but the device you know as a router isn't actually
a router.
The average SOHO (Small Office Home Office) "router" is a combination of 2 or
more devices. In the case of a wired router, it is a combination of an actual
router, and a 10/100 switch. In the case of a WiFi router, then you are talking
about a device made up of a router, a 10/100 switch, and a WiFi AP.
Not to shatter your world perspective there, but I wanted to at least clear up
the misconception. It is just easier to market these combination devices as
"routers" to the public. It is also easier to type router than to type out
what it really is, so I might as well refer to it as such as well.
First of all, there is no way I can adequately describe the setup of every
WiFi router out there. There are just too many brands, models, and options.
What I can do is point you to the official list of tested routers by Nintendo:
http://nintendowifi.com/customersupport/supportedRouters.do
If you don't have a WiFi router, and want to get one to use the Nintendo Wi-Fi
Connection, this is a good a place as any to check for suggestions. Linksys
makes the best consumer-grade routers available today, so if you are going to
buy a router, do yourself a favor and get yourself the Linksys WRT54G. Yes,
there are cheaper routers, and those routers are almost all of the ones with a
low rating. You get what you pay for, plain and simple.
As for setting up each router, Nintendo has already done that work for you as
well:
http://nintendowifi.com/consumerservice/routerSetup.do
Beyond that, there is not much I have to say about this part. Nintendo has
already done a far better job then I can testing routers and detailing their
setup. Follow their guides, and you will have no problems.
--------------------------------------------------------------------------------
- 3.1.1 Using a Stand-Alone AP -
--------------------------------------------------------------------------------
I felt this was better suited as a note to the main router section since they
are so similar in concept.
As I talked about in the beginning of this section, the normal consumer grade
"wireless router" is a combination of many networking devices, including a WiFi
AP. So then as you may have guessed, it is possible to get a wired router, and
buy an add-on AP to give the router WiFi capabilities.
This is a good concept, but in the real world is not terribly practical. The
problem here is that most WiFi APs worth buying (or in other words, aren't
trash) easily cost as much if not more than a brand new SOHO router. In
addition, Nintendo has done no testing with these devices, nor have they
detailed setup guides for the different models and brands of them out there.
That means that if you choose to go this route, you are not only likely to pay
more than you have to, but you have no assurance the end result is going to
work, and are completely alone on the setup.
If you can, do yourself a favor, and buy a complete WiFi router.
--------------------------------------------------------------------------------
- 3.2 Using the Nintendo Wi-Fi USB Connector -
--------------------------------------------------------------------------------
The setup for the Wi-Fi Connector is pretty straight forward, there isn't a
whole lot you need to do, or much that can go wrong (as long as you follow all
of the directions, anyway).
The most likely problem you will face is if you use a software firewall. You
will need to allow the Wi-Fi Connector software though the firewall, but
unfortunately some of these products do not work properly with the Wi-Fi
Connector, and so that isn't always possible. Due to the amount of firewall
products out there, I can't advise on how to correctly configure each one to
work with the Wi-Fi Connector software. You will have to check the help files,
or the developer's website, to find out how to allow programs though the
firewall, and what (if any) adjustments need to be made for the Wi-Fi Connector
to work with it). The Nintendowifi.com website also contains some information
on software firewalls which might help you if you run into a problem.
--------------------------------------------------------------------------------
- 3.2.1 Requirements -
--------------------------------------------------------------------------------
There are a few requirements you need to meet to be able to use the Wi-Fi
Connector. Check to make sure your setup is compatible before you purchase, or
try to install, the Connector.
You will need:
Broadband Internet
Windows XP
USB 2.0
A few notes on these requirements:
The source of the Internet connection does not really matter. Technically, it
doesn't even have to be broadband. All that matters is you have a network
interface on your machine that can connect out to the Internet in some way.
This interface can also be wired or wireless. So for example, if your router is
not compatible with the DS, but you have a laptop equipped with a wireless
adapter and a free USB port, you could use the Connector with that to get the
DS online.
Windows XP is required for the Wi-Fi Connector to work. It does not work on any
other version of Microsoft Windows. Be sure you understand this before you
purchase it.
The Wi-Fi Connector does not work with USB 1.0 or USB Hubs. Be sure you have
one free USB 2.0 port before you purchase the Connector. The Connector comes
with a USB extension cable, so don't worry if your only free port is in the
back of the computer, you can use the extension cable to bring the actual
Connector to the front of the machine. If you do not have USB 2.0 in your
computer, you can purchase a USB 2.0 PCI card for around $20 - $30 at most
retailers, such as Radio Shack, CompUSA, or BestBuy.
--------------------------------------------------------------------------------
- 3.2.2 Pre-Installation -
--------------------------------------------------------------------------------
Before you do anything, go to the Nintendowifi.com site and download the latest
version of the Wi-Fi Connector software. The version on the CD that came with
your Connector is likely out of date, and there are important fixes in the
latest versions. The latest version of the Wi-Fi Connector software can be
found at the following address:
www.nintendowifi.com/consumerservice/downloads/Nintendo_WFC_USB.zip
Don't insert the Wi-Fi Connector until the installation process tells you it is
time to. If you plug the Connector in first, it will start the "New Hardware
Wizard", and it will not be able to find the appropriate drivers.
You will want to make sure ICS is not already setup and in use on your system.
By default it is not, and unless you specifically setup ICS on your machine
before, it will not be running, and there should be no problem.
The Wi-Fi Connector documentation recommends that if your computer is connected
to a router with an IP of 192.168.0.1 or 192.168.1.1, that you should change
the router's IP to 192.168.2.1. Personally, I don't understand why they
recommend this, since the Wi-Fi Connector sets up an IP range that isn't even
in the 192.168.x.x range. When I did the research for this section of the Guide
I did it with my main router at 192.168.1.1, and had no problems at all. Still,
Nintendo recommends it for whatever reason, so I mention it in case anyone
actually has a conflict with their router at those IPs.
Now that you have checked your system to make sure it meets the requirements,
and completed the pre-installation steps, you can continue on with the actual
installation.
--------------------------------------------------------------------------------
- 3.2.3 Installation -
--------------------------------------------------------------------------------
You should have downloaded a file named "Nintendo_WFC_USB.zip". Inside this
archive there will be a folder called "NintendoWFCReg", extract this to the
Desktop.
Open the folder you just extracted, and double click the "Setup.exe" file
inside to start the installer. You will see a welcome message and a warning
that firewall or anti-virus software could effect the Connector. Click OK.
You will then be shown a box that contains multiple languages. Highlight the
language you want the installer to continue in, and click OK.
Let the installer run for a bit as the progress bar fills. After a minute or
two, the installer will ask you to plug the Connector into the computer. The
installer does not make a noise or have a pop-up to tell you to do this, so if
you aren't paying attention, you can miss this line, and the installer will
just sit there doing nothing. I know I missed it the first time I installed the
software.
Once you plug in the Connector, the message on the installer should change, and
the progress bar will start moving again. The "Found new hardware" pop-up will
also come up, as well as a few other windows that involve the installation of
the drivers. You don't have to do anything with these other windows or pop-ups,
the installation software will take care of it all, just ignore them.
At this point, the light on the Connector should be blinking.
After the windows about the new hardware, you should also see a message about
the computer finding a new network device. Ignore this as well. Around this
time, the installer will say it is setting up ICS.
Soon after, the installation will finish, and the installer will say "Setup
Complete". Click OK to exit the installer. You may now delete the
"NintendoWFCReg" folder if you wish.
After closing the installer, the registration tool should start in the task
bar, which appears as the WFC logo.
At this point, the installation of the Nintendo Wi-Fi USB Connector is
complete. You will now need to setup and register your DS systems with it to
play online.
Read Section 2.3, "Configuring a Connection with the Nintendo Wi-Fi USB
Connector" to find out how to register your DS with the Wi-Fi Connector.
--------------------------------------------------------------------------------
- 3.3 Nintendo Wi-Fi USB Connector Versus Wireless Router -
--------------------------------------------------------------------------------
For users who want to get online with the DS as quickly and as easily as
possible, both a standard wireless router and Nintendo's proprietary soft AP
are the best options. They are both priced close enough for cost not to be an
issue (at the time of this writing), and they both achieve the same end goal
to the user, to get the DS online within only a few minutes, and with minimal
setup and technical knowledge required.
But are they really so similar? While the end result of both options is the
same, there is a bit more to consider in the larger picture.
In this section, I am going to point out a few of the major differences between
the Wi-Fi Connector and your average wireless router. While everything in this
section might not be immediately obvious, it is all well worth considering when
you are making a decision about which device to invest in.
--------------------------------------------------------------------------------
- 3.3.1 Compatibility -
--------------------------------------------------------------------------------
Device compatibility is one of the largest differences between the Wi-Fi
Connector and a wireless router. For many people, this might be the deciding
factor as to which device they go with.
A wireless router is more compatible than the Wi-Fi Connector on multiple
levels. The first, and most obvious, compatibility difference between the two
is that the Wi-Fi Connector only allows Nintendo products to connect to it (DS
and Wii), while a wireless router will work with any WiFi device.
Now, it is possible to hack the Wi-Fi Connector (as will be explained later in
this Guide), but doing so is fairly difficult, and takes a bit of time. It is
much easier to just get a router in the first place, and save yourself the
trouble if you want to use other WiFi devices besides the DS.
The second compatibility issue is that of the operating systems required on the
computers in the network. For the Wi-Fi Connector, you are limited to Windows
XP to configure and run the wireless network. Not only that, but the Wi-Fi
Connector also requires software to be installed on the host computer, so you
can't just plug it into a random computer and get the DS online.
However, if you use a wireless router, there is no OS requirement at all, in
fact, you don't even need a computer beyond the initial router setup. Even
then, all you need is a device with a decent browser.
This is because the router works on the hardware layers of the OSI model, while
the Wi-Fi Connector operates on the software OSI layers, and as such requires a
computer to do much of the work for it.
Any device that utilizes TCP/IP and/or WiFi can communicate and use a wireless
router. So if you are running Linux or Mac OS, or you just want to get other
devices online (PDA, PSP, etc), then you should get a wireless router rather
than the Wi-Fi Connector.
--------------------------------------------------------------------------------
- 3.3.2 Security -
--------------------------------------------------------------------------------
While the wireless router clearly has the upper hand in terms of compatibility,
in terms of security, it is harder to declare a clear winner. Both devices are
excellent in their respective strengths, it just happens those strengths are
completely different between the two.
In terms of WiFi security, the Wi-Fi Connector has the router beat. While many
methods of securing a WiFi network are detailed in the Network Security
section, the fact remains that WEP is a fallible technology. The Wi-Fi
Connector on the other hand, uses a completely proprietary and unique
challenge-response system, that as of this writing, has not been exploited.
The bottom line is, at this point in time, WEP can easily be cracked, but the
Wi-Fi Connector's user registration system can't.
However, it isn't as clean cut as all that. While the Wi-Fi Connector wins out
on wireless security hands down, the wireless router has the considerable
advantage of including an inbound firewall which will protect any device
connected to it. This will protect your network from Internet attacks, such as
worms and malicious crackers. The Wi-Fi Connector offers no firewalling ability
at all.
So in the end, it depends on where you think you are most likely to be
attacked. If you value wireless security, get the Wi-Fi Connector, but if you
are more concerned with keeping your network secure from the Internet side, get
the wireless router.
--------------------------------------------------------------------------------
- 3.3.3 Efficiency & Convenience -
--------------------------------------------------------------------------------
Few people ever think of this aspect of the debate, but it is certainly an
important one to consider.
In terms of energy efficiency, the Wi-Fi Connector is terrible, as it requires
a computer to operate. This means that any time you want to play online with
the DS, you will have to start your computer up (or keep it running). The
computer can't even be in sleep mode, as that would stop the software from
functioning.
Clearly, this takes a lot more energy than the wireless router would. The
router is a small, efficient device, that doesn't contain any moving parts.
This means that not only will it only use a fraction of the electricity of the
computer, but it will also be silent as it operates. A wireless router is
designed to be turned on, configured, and left to run indefinitely.
This is where the issue of convenience comes in. Let's say you are laying in
bed, and decide you want to play a few rounds in Metroid before falling asleep.
Well, if you are using the Wi-Fi Connector, you will have to get out of bed,
start up the computer, play the game, then get back out to shut the computer
down. On the other hand, with the router, you can play online at anytime
without prior setup. The router is always up, so you can play whenever you want
without having to worry about turning anything on or off.
Obviously, in terms of both energy efficiency and convenience, the wireless
router is superior. Convenience especially is important in relation to the DS,
since the whole point of online games on a portable system is the ability to
quickly and easily get into a match.
--------------------------------------------------------------------------------
- 3.3.4 Verdict -
--------------------------------------------------------------------------------
In all aspects beyond wireless security, the router is ahead of the Wi-Fi
Connector. If all other traits are to be considered equal, and most of them
are, then the clear winner in my humble opinion is the wireless router.
Affordable, efficient, and reliable, a good router will serve you and your
devices for years without you having to worry about it.
Just make sure you get a quality router, configure it properly, and keep up on
any firmware updates it may have, and you should have no problems.
================================================================================
= 4. Setting Up Your Own AP (Advanced) =
================================================================================
First of all, if you are this far in the Guide, welcome. My goal with the
Advanced Section is just that, to detail much more advanced setups than what
the average computer user would ever need, or likely even understand.
Specifically, I am talking about software APs, or using an existing WiFi
client device (USB, PCI, or PCMCIA WiFi card) as an AP that the DS can actually
use to connect to the internet. The advantage of this is obvious, not only are
you free of the Windows XP limitation of the official USB Connector, you are
free to pay what you feel is fair. Personally, I did most of the research and
testing for this Guide using a PCMCIA 802.11b adapter that I bought for $4
from eBay.
For all of these setups, you will only need three things; a WiFi device with
fairly good drivers, a broadband internet connection, and an Ethernet card.
I hope this section is of use to those who are advanced enough to know the
official USB Connector is not some magical device, but not quite advanced
enough to actually get a standard WiFi adapter working, or perhaps just don't
want to have to do it without some guidance.
--------------------------------------------------------------------------------
- 4.1 Configuring a Software AP in GNU/Linux -
--------------------------------------------------------------------------------
There is little surprise I chose to cover GNU/Linux first. This was originally
the whole goal of this document. Besides that, Linux is without a doubt the
most capable OS mentioned in this document when it comes to networking.
All of the following has been tested with my own hardware and on my own
network. Everything I put down here has worked for me, and should work for you
as well.
My test setup is a laptop running Slackware 10.2 with kernel release 2.6.10,
on the hardware side, I am using a PCMCIA WiFi card with an RTL8180 chipset.
I am using the card with unofficial open source drivers written by
Andrea Merello.
Much like in the Manual Configuration Section, in the Linux Section, I am not
going to go into painful detail about everything. If you have managed to
install a fairly advanced Linux distribution and are reading this document
from there, you probably don't need much help from me.
--------------------------------------------------------------------------------
- 4.1.1 WiFi Options in GNU/Linux -
--------------------------------------------------------------------------------
I also then suspect you know the situation of WiFi in Linux. Namely, the poor
hardware support that comes from manufacturers not wanting to release
documentation on their hardware. This leaves Linux users with 4 options when
it comes to WiFi drivers.
1. Binary Linux Drivers
------------------------
These are bad because they are statically compiled against a certain kernel
release and build. That might be fine if you are running that identical setup,
but a lot of us are not. It is nice that the manufacturers went ahead and
worked out a binary driver release for their hardware, but it is far from
ideal.
2. Unofficial Open Source Drivers
----------------------------------
Now we are talking. These are drivers created by individual users or groups of
users that wanted no more than to have their WiFi hardware work. These are
usually not quite as stable as more "mature" projects, but are almost always
better than using a binary Linux driver. These projects may or may not be part
of the official kernel tree, so you might need to compile and install them
yourself.
3. Official Open Source Drivers
--------------------------------
These are similar to the second option, but are maintained by larger teams, or
even the manufacturer of the device itself. These are usually part of the
official kernel tree, so your distro might already have these installed, and if
not, you can easily compile them from the official kernel tree.
4. Windows Binary Drivers through Ndiswrapper
----------------------------------------------
Ugh. This is the bottom of the barrel here. You use this right before you just
run a really long network cable to your laptop. To give the developers credit,
Ndiswrapper is an absolutely incredible piece of software; to be able to take
drivers from Windows and use them in a completely different OS is an amazing
achievement. But at the same time, it can be very unstable, and often not all
features of the card are workable through Ndiswrapper.
WiFi drivers in Linux are enough to write a whole other Guide on, I can't
possibly go into it here. All I can say is find a card that works with either
option 2 or 3. If you can't do that, or already have a card that is supported
through 1 and 4, give the following a shot, but I can't make any promises.
On that same note, this entire project hinges on the ability of your WiFi
card's drivers to operate in Master mode. I can't speak for all cards, but
most of the drivers I have used in Linux have supported this. You should check
the documentation included with the drivers to find out if your setup supports
it.
In addition to the WiFi drivers, you are also going to need to have the
Wireless Tools package installed. This will vary with distro, but nearly all
distros should have this available by now.
--------------------------------------------------------------------------------
- 4.1.2 Setting up the Hardware -
--------------------------------------------------------------------------------
The easiest part of this process is setting up the WiFi adapter as an AP.
Again, this feature depends on the driver itself, so if you get an error
message when running any of these commands, you are going to want to do some
research and figure out where your drivers stand on Master mode.
Also, before you go any farther, if you have not already, you should really
check the WiFi setup on your computer to make sure it is working properly.
Connect to a known AP, do some scanning, etc. Make sure you have a stable
system before you start trying to get into a more advanced setup like this.
I am going to give sample commands, and then describe what each one is doing
and why. At the end of this part of the Guide, I will be putting together a
sample start up script that you can use on your system with a little
modification.
For this Guide, I will be using the most common interface names. Namely, the
WiFi device will be known as wlan0, and the Ethernet device will be known as
eth0.
The first and most important thing you need to do is to set the WiFi device
into Master mode. To do this, you are going to want to run the following
command:
bash# iwconfig wlan0 mode Master
This will put the WiFi device at wlan0 into Master mode, or in other words, an
access point. To be able to connect to this AP though, we need to give it some
more information. Let's start with the SSID:
bash# iwconfig wlan0 essid "LINUX_AP"
The SSID can be whatever you chose. Choose something that is short and easy to
remember.
The DS is a bit picky as to what it wants to connect to, so the following two
commands will setup the AP in a way the DS will accept.
bash# iwconfig wlan0 channel 6
bash# iwconfig wlan0 rate 2M
This puts the channel to 6, and the rate to 2 Mbps (more about that in
"Thinking out Loud"). Channel 6 is fine for the US, but in other countries,
WiFi APs run on different channels, so you may need to adjust the channel
based on your region.
And that's it; your hardware is now setup.
Follow Section 2.2.2.1 to scan for an AP. You should see the AP you just
created on the list. Click on it to connect to it.
...
And then watch as it shows an error message. Why does it show an error message
you ask? That is because while we have setup the hardware, we have not setup
the network to actually route traffic over the connection. We have only won
half the battle.
But we now have an AP that the DS sees and will connect to, so we are almost
there. Let's now go over your options for the software setup.
--------------------------------------------------------------------------------
- 4.1.3 Setting up the Software -
--------------------------------------------------------------------------------
Next, we are going to go over some of the required and optional software
configurations to actually get the DS online.
For the purposes of this example, we are going to assume that you already have
a working internet connection in place through your Ethernet card, either by
being directly connected to a wired router, a broadband modem, or some other
network.
--------------------------------------------------------------------------------
- 4.1.3.1 IP Ranges -
--------------------------------------------------------------------------------
You will need to decide what IP range to use for your new wireless network.
You will need to use an IP range that is both in the Class C range and is NOT
the range your computer's Ethernet card is in.
A good range that follows these rules is 192.168.2.x. Most routers are setup
to use either 192.168.0.x or 192.168.1.x, so 192.168.2.x should be out of the
range that any router would have assigned.
So for this document, I will use 192.168.2.x as the IP range for the DS. If
this does not fit your network for whatever reason, you can of course change
this, but keep in mind the two rules you must follow.
To setup your AP with the new IP, run the command:
bash# ifconfig wlan0 up 192.168.2.1
This will now bring up TCP/IP on the AP, and give it the IP 192.168.2.1.
Now that we have an IP for this device, let's get the rest of the networking
sorted out.
--------------------------------------------------------------------------------
- 4.1.3.2 Routing -
--------------------------------------------------------------------------------
The next thing you need to get setup is a route between your Ethernet
connection and the WiFi AP you just created.
To do this, we will be using something called IP masquerading or NAT (Network
Address Translation). This allows one computer with an internet connection
(our newly created AP) to share that internet connection with many clients.
To do this in Linux, you will need to use iptables. To use iptables, you will
need to be running a kernel release of 2.4.x or above. Many distros are
shipping with 2.6.x at this point, and all of them (that I know of) are using
at least 2.4.x. So you should have no problem here.
The following commands will setup NAT between eth0 and wlan0:
bash# iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE
bash# iptables --append FORWARD --in-interface wlan0 -j ACCEPT
bash# echo 1 > /proc/sys/net/ipv4/ip_forward
We now have a connection bridged between your computer's internet connection,
and the WiFi AP.
Next up, we need to give the DS an IP. To do this, we have two options, either
setting up the DS manually, or using DHCP. As manual configuration is the
quicker of the two, let's cover that first.
--------------------------------------------------------------------------------
- 4.1.3.3 Static IP -
--------------------------------------------------------------------------------
To setup a static IP, we will need to follow Section 2.2.2.2 of this Guide.
To get the DS connected in our example setup, enter the following information:
SSID
LINUX_AP
IP Address
192.168.2.2
Gateway
192.168.2.1
Primary DNS/Secondary DNS
For these, you will need to input the IP's of your ISPs DNS servers.
After entering this data, save the configuration and let it run the Connection
Test. If everything has gone well so far, it will pass.
Congratulations, you have just setup a basic software AP, and avoided having
to buy a proprietary device! Hooray for open source!
--------------------------------------------------------------------------------
- 4.1.3.4 DHCP -
--------------------------------------------------------------------------------
To use DHCP, you will need to have the DHCP server installed on your machine.
The easiest way to check this is to run "which dhcpd", which should give a
response like:
bash# which dhcpd
/usr/sbin/dhcpd
If you get that message, your system already has the DHCP server installed. If
you get an error, then you will need to install it. The installation process
will depend on what distro you are running, so consult it's documentation to
find out how to install the DHCP server package.
Now that we have the DHCP server, we will need to feed it a configuration file
so it can setup a DHCP pool to use.
Take a look at the following section to see the complete DHCP configuration
file.
--------------------------------------------------------------------------------
- 4.1.4 The Complete DS_AP Script -
--------------------------------------------------------------------------------
So here it is, the complete script that will automatically give you a AP that
you can connect to with your DS.
The reason I give this last and detail everything first, is that I want you
to understand what is going on here, so that you can fix any problems that
may come up. I also want you to understand the requirements for this script
to work (see Section 4.1.1, "WiFi Options in GNU/Linux").
If you think you have everything you need, then copy the following text to a
file named "DS_AP.sh"
#!/bin/sh
#
# DS_AP
VER="Version 2.1"
# A script to startup a software AP for the Nintendo DS
# Written by TJ Nardi for the DS Wireless Networking Guide
# Send bugs, questions, and comments to MS3FGX@gmail.com
#-CHANGELOG-
# v2.1, Backported features and fixes from Wii_Route
# v2.0, Moved to modular design, complete code overhaul
# v1.2, Checks to make sure user is root before running
# v1.1, Added DHCP client support for NIC
# v1.0, First Release
#--------------------------User Configuration Section--------------------------#
# DHCP Configuration:
# Disable/enable DHCP server (0 = disable, 1 = enable)
# Enable this if you want to automatically configure your DS with correct
# TCP/IP information.
USEDHCP=1
# DHCP configuration file
# If you want DHCP support, you need this file. You need to give both the
# path and file name. The default is "DS_DHCP.conf", located in the current
# directory.
CONFFILE=./DS_DHCP.conf
# Hardware Configuration:
# WiFi Interface
# This is the WiFi card that you will use to share the connection to the
# DS. It must be capable of going into Master mode. Use the test mode to
# make sure your hardware is compatible.
WLAN="wlan0"
# Source Interface
# This is the interface connected to the Internet. It can be any interface
# on your machine, but will usually be eth0 (the primary Ethernet card).
SRC="eth0"
# Bring up source with DHCP before starting AP (0 = disable, 1 = enable)
# Enable this if you want the source interface to be configured with DHCP
# before the script runs. Usually you don't need to do this.
SRCUP=0
# DHCP hostname (only used if above is enabled)
# If you want DS_AP to configure your source interface with DHCP, this will
# be the hostname it sends to the DHCP server. Useful if you want to see
# this machine in your router's DHCP logs.
DHCPHOST="LINUXAP"
# WiFi Configuration:
# SSID
# The name that your new wireless network will go by. If you don't see this
# come up when you are searching for an AP, something is probably wrong.
SSID="LINUX_AP"
# Channel
# 6 should be a safe default, but if you get interference, you might want
# to change it to something else.
CHANNEL=6
# IP
# This is the IP address given to the WiFi Interface. The default should be
# fine, you shouldn't change this unless you know what you are doing.
IPADDR="192.168.2.1"
#-------------------------No need to edit past this line-----------------------#
# Values for debug
MODE="Master"
RATE="2M"
DHCPTIME=20
ErrorHandler ()
{
# Takes two arguments. The first is the form of error, the second is
# the actual error text to display to the user.
# Error text must be 52 characters long.
if [ $1 == ERR ]; then
# This is a critical error, game over.
echo ""
echo "+----------------------------------------------------+"
echo "| ERROR! |"
echo "| |"
echo "|$2|"
echo "| |"
echo "| This is a critical failure. The script must abort. |"
echo "+----------------------------------------------------+"
# Bail out
exit 2
fi
if [ $1 == WARN ]; then
# This is only a warning, we can continue after this, but things might not
# work right.
echo ""
echo "+----------------------------------------------------+"
echo "| WARNING! |"
echo "| |"
echo "|$2|"
echo "| |"
echo "| This is a non-critical failure. The script will |"
echo "| continue, but may not operate properly. |"
echo "+----------------------------------------------------+"
fi
}
VerifyCommand ()
{
# Checks to see if given command exists
# First argument determines if it will print message, second is the
# command to check
if which $2 > /dev/null 2>&1; then
if [ $1 == 1 ];then
echo "OK"
fi
return 1
else
if [ $1 == 1 ];then
echo "FAILED"
fi
return 0
fi
}
ConfigSrc ()
{
# Bring up source interface with DHCP
VerifyCommand 0 ifconfig
if [ $? == 1 ];then
echo "Setting up ${SRC}..."
echo " Checking if DHCP is running..."
# Check if PID file exists, hopefully this catches all distros
if [ -f /var/run/dhcpcd-${SRC}.pid -o -f /etc/dhcpc/dhcpcd-${SRC}.pid ]
then
# If dhcpcd has already been run on this interface, don't run it again
ErrorHandler WARN " Interface already appears to be configured! "
else
# If dhcpcd has not been run, then run it now
echo " OK, DHCP not running on ${SRC}"
VerifyCommand 0 dhcpcd
if [ $? == 1 ];then
echo " Starting DHCP on ${SRC}..."
# Get DHCP IP
dhcpcd -t ${DHCPTIME} -d -h ${DHCPHOST} ${SRC}
else
# If dhcpcd is not found, print error message
ErrorHandler ERR " dhcpcd not found! Please install it and try again. "
fi
fi
else
ErrorHandler ERR " ifconfig not found! Make sure /sbin is in your path"
fi
}
ConfigWiFi ()
{
# Setup the WiFi hardware
VerifyCommand 0 iwconfig
if [ $? == 1 ];then
echo "Setting up ${WLAN}..."
echo " +---------------------+"
# Set mode
if iwconfig ${WLAN} mode ${MODE} > /dev/null 2>&1; then
echo " | Mode | ${MODE}"
# Set SSID
iwconfig ${WLAN} essid ${SSID}
echo " | SSID | ${SSID}"
# Set channel
if iwconfig ${WLAN} channel ${CHANNEL} > /dev/null 2>&1; then
echo " | Channel | ${CHANNEL}"
else
# Show a warning if card failed to change channels
ErrorHandler WARN " Failure while attempting to change WLAN channel! "
fi
# Set data rate
if iwconfig ${WLAN} rate ${RATE} > /dev/null 2>&1; then
echo " | Rate | ${RATE}"
else
# Show a warning if card failed to change rate
ErrorHandler WARN " Failure while attempting to change WLAN rate! "
fi
echo " +---------------------+"
# Set IP for AP
echo ""
echo "Configuring TCP/IP..."
VerifyCommand 0 ifconfig
if [ $? == 1 ];then
ifconfig ${WLAN} up ${IPADDR}
echo " Interface ${WLAN} given IP of ${IPADDR}"
else
ErrorHandler ERR " ifconfig not found! Make sure /sbin is in your path"
fi
else
# Show an error if card failed to go into master mode
ErrorHandler ERR " This WLAN device will not work with DS_AP, sorry. "
fi
else
ErrorHandler ERR " iwconfig not found! Is wireless-tools installed? "
fi
}
StartNAT ()
{
# Enable NAT through IPtables
VerifyCommand 0 iptables
if [ $? == 1 ];then
echo "Setting up Network Address Translation..."
iptables --table nat --append POSTROUTING --out-interface ${SRC} -j MASQUERADE
iptables --append FORWARD --in-interface ${WLAN} -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
else
ErrorHandler ERR " iptables not found! Make sure /sbin is in your path"
fi
}
StartDHCP ()
{
# Configure and start the DHCP server, if it has been enabled by the user
VerifyCommand 0 dhcpd
if [ $? == 1 ];then
echo "Setting up DHCP Server..."
# Make sure the server isn't already running
if [ -f /var/run/dhcpd.pid ]; then
ErrorHandler WARN " dhcpd is already running! "
else
# Check that config file is where it is supposed to be
if [ -f ${CONFFILE} ]; then
# Start dhcpd with WLAN interface and DS config file
dhcpd ${WLAN} -cf ${CONFFILE} 2> /dev/null
else
ErrorHandler ERR " DS_DHCP.conf not found! Cannot configure DHCP! "
fi
fi
else
ErrorHandler ERR " dhcpd not found! Please install dhcpd and try again"
fi
}
SystemTest ()
{
# Run some basic tests to verify and hardware capability and system sanity
clear
echo "DS_AP Diagnostic Mode"
echo
echo "Hardware Configuration"
echo "---------------------------------"
echo "Source Interface: ${SRC}"
echo "Destination Interface: ${WLAN}"
echo -n "Checking for Master mode on ${WLAN}: "
if iwconfig ${WLAN} mode master > /dev/null 2>&1; then
echo "OK"
else
ErrorHandler ERR " This WLAN device will not work with DS_AP, sorry. "
fi
echo
echo "System Checks"
echo "---------------------------------"
echo -n "Checking for ifconfig: "
VerifyCommand 1 ifconfig
if [ $? == 0 ];then
ErrorHandler ERR " ifconfig not found! Make sure /sbin is in your path"
fi
echo -n "Checking for iwconfig: "
VerifyCommand 1 iwconfig
if [ $? == 0 ];then
ErrorHandler ERR " iwconfig not found! Is wireless-tools installed? "
fi
echo -n "Checking for iptables: "
VerifyCommand 1 iptables
if [ $? == 0 ];then
ErrorHandler ERR " iptables not found! Make sure /sbin is in your path"
fi
echo -n "Checking for dhcpcd: "
VerifyCommand 1 dhcpcd
echo -n "Checking for dhcpd: "
VerifyCommand 1 dhcpd
echo -n "Checking for DHCP Configuration: "
if [ -f ${CONFFILE} ]; then
echo "OK"
else
echo "FAILED"
fi
}
# This is where execution actually starts.
# Make sure the user is running with root permissions
if [ "$UID" -eq "0" ]
then
# OK, the user has root permissions, let's get rolling...
# Determine operating mode based on the argument used to start DS_AP
case "$1" in
'start')
# This starts DS_AP
# Print the boilerplate
clear
echo "Nintendo DS WiFi Access Point Script, ${VER}"
echo "-----------------------------------------------------------"
echo "Starting..."
echo
# If enabled, setup source interface
if [[ ${SRCUP} = "1" ]]; then
ConfigSrc
else
echo "Skipping Source Interface Configuration..."
fi
# Setup WLAN
echo
ConfigWiFi
# Start NAT
echo
StartNAT
# If enabled, setup DHCP
echo
if [[ ${USEDHCP} = "1" ]]; then
StartDHCP
else
echo "Skipping DHCP Configuration..."
fi
echo
echo "DS_AP Started!"
exit 1
;;
'stop')
# This stops DS_AP
# Print the boilerplate
clear
echo "Nintendo DS WiFi Access Point Script, ${VER}"
echo "-----------------------------------------------------------"
echo "Stopping..."
echo
echo "Setting ${WLAN} to sane defaults..."
iwconfig ${WLAN} mode managed channel auto rate auto 2>/dev/null
echo "Done!"
echo
echo "Shutting down ${WLAN}..."
ifconfig ${WLAN} down 2>/dev/null
echo "Done!"
echo
echo "Shutting down DHCP server..."
# Kill it, then remove PID, since it doesn't seem to do so on it's own
killall dhcpd 2>/dev/null
rm /var/run/dhcpd.pid 2>/dev/null
echo "Done!"
exit 1
;;
'test')
SystemTest
;;
*)
echo "usage: $0 start|stop|test"
esac
# If the user doesn't have root permissions, they end up here
else
echo "Sorry, you need to have root permissions to run this script."
echo "Either login as root, or run this though sudo. If using sudo,"
echo "make sure /sbin is in your path."
fi
# EOF
Now, you will want to make the file executable, so run the following command in
the directory where DS_AP is saved:
bash# chmod +x ./DS_AP.sh
Now, for the DHCP section to work, you will need to have a DHCP configuration
file.
Paste the following lines into a file named "DS_DHCP.conf" and save it in the
same directory as DS_AP (the location of the DHCP file can be changed in DS_AP
if you wish).
# DS_DHCP.conf
#
# A simple DHCP configuration file to go
# with the DS_AP script.
#
#-CHANGELOG-
# v1.1, Changed to public DNS servers, instead of Verizon's
# v1.0, First Release
#
# Global Options
# This line defines the DNS servers the DS will use
# feel free to change these to those of your ISP
option domain-name-servers 4.2.2.2, 4.2.2.3;
ddns-update-style none;
# IP Range
subnet 192.168.2.0 netmask 255.255.255.0
{
# This will allow for 50 clients
range 192.168.2.100 192.168.2.150;
option routers 192.168.2.1;
}
# EOF
You will want to read over the top section of DS_AP and make sure those
settings are correct in relation to your hardware and LAN setup. You have to
make sure the AP IP is in a different IP range than your current network. I
wrote the scripts to use the 192.168.2.x network, since I know of know home
router that uses this network (they mainly use 192.168.1.x, and some use
192.168.0.x). If anyone has a home router that uses the 192.168.2.x network,
please send me an email so I can modify the scripts to use something else.
The top section of the script also lists a few optional features that you might
want to use. The comments explain them pretty well I think, so just read what
I have written before each setting, and you should be able to understand
everything.
Generally speaking, the default settings for both the IP ranges and features
should work in most situations.
Also, as with most things involving system configuration in Linux, you will
need to run the DS_AP script as root, or at least though sudo. The script will
warn you if you don't have the proper permissions to be running it. If you are
using sudo, make sure that /sbin is in your path, as most of the system
configuration programs needed are in there.
As for the actual operation of DS_AP, there are three arguments that it will
take which make it do different things. If you run DS_AP.sh without any
arguments, you will get output that looks like this:
bash# usage: ./DS_AP.sh start|stop|test
Going over each mode briefly:
Start:
This starts the software AP with the settings defined inside of the DS_AP.sh
file.
Stop:
This will return the WiFi card to normal operating mode, turn it off, and stop
the DHCP server if you enabled it in the first place.
Test:
Handy for troubleshooting, this will run through some basic tests to see if you
have all of the required programs installed, and if your hardware is configured
properly. This will also test if your WiFi card supports Master mode.
After you have the files installed and you think everything is correctly setup,
run "DS_AP.sh" and see if you have any errors. You should also verify that the
interfaces it is using are correct.
If everything looks good there, run "DS_AP.sh start" and hope for the best.
--------------------------------------------------------------------------------
- 4.2 Configuring a Software AP in Windows -
--------------------------------------------------------------------------------
The Windows soft AP section has proven to be quite an adventure.
Originally, I had intended to find some method of using any garden variety WiFi
adapter as a soft AP under Windows, like I had worked on for Linux. But as time
went on, and the more research I did, I realized this was just not going to be
possible.
Microsoft, in their infinite wisdom, decided that including a comprehensive
system for setting up WiFi cards was not important enough to include in
Windows. Windows contains no built in method to put a card into Master mode, or
setup a software AP even if it let you switch modes on the card.
Instead, Microsoft just let the hardware manufacturers handle advanced setup in
their own drivers. Not surprisingly, most manufacturers did not bother to
include advanced features, and just went with the bare minimum. Most didn't
even bother to create a configuration program for the card, and instead left it
all to Wireless Zero Config.
So after all my searching, I present you with the soft AP Guide for Windows,
such as it is.
--------------------------------------------------------------------------------
- 4.2.1 Supported Devices -
--------------------------------------------------------------------------------
The Windows soft AP section will focus on devices using the RT2500 chipset,
which is arguably the most popular soft AP capable device on the Windows
platform.
I can't even say that all cards with a RT2500 chipset work out of the box with
these methods. In actuality, GigaByte created some advanced drivers and
configuration programs for their own line of cards, one of which happened to be
based on the RT2500. It is possible to take these drivers and configuration
program and use them with other cards that are based on the RT2500 chipset.
To find if your card uses the RT2500 chipset, or you are looking for a model
to buy which has it, take a look at this list:
http://ralink.rapla.net
Any card that is listed under PCI or PCMCIA should work, but not USB.
Luckily, the RT2500 chipset is pretty popular, and many cards use it. It is
also used in a lot of budget priced hardware, so even if you don't have one,
you can get one starting at about $15.
In addition, in line with my original goals for this Guide, RT2500 devices can
be used on every version of Windows from 98 SE upward. This section will focus
on Windows XP, but the steps to configure a Windows 98 or 2000 machine will be
very similar, and you should have no problem adapting the instructions here.
Even though this section is only going to be discussing a single type of
device, there are a few other chipsets that can be put into Master mode under
Windows. I can't give you an exact number of cards out there that can do this,
nor can I give you any way to tell for sure if the card will support it before
you buy it. I do at least know that there are a few popular chipsets and
adapters out there that are capable of it, such as Centrino.
The best way to find out is to Google the model number of the adapter, and see
if any mention of it being used as a soft AP comes up. Some sites also list
soft AP capability on the product page for the adapter, so you might get lucky
there.
As I do more research and hear from people on the Internet, I will add any more
compatible devices I find to Section 7.2, "Software AP Compatible WiFi Hardware
and Drivers".
If you do find a generic WiFi device capable of operating as a soft AP, all you
should need to do is follow Section 4.2.3.2, "Configuring ICS".
--------------------------------------------------------------------------------
- 4.2.2 RT2500 Driver Installation -
--------------------------------------------------------------------------------
Assuming you have already confirmed your device is using the RT2500 chipset,
you can now continue on with the driver installation and system setup.
The first thing you need to do is uninstall the current drivers. It doesn't
matter which drivers are currently installed, you need a completely clean slate
to perform the rest of the installation steps.
Windows will likely ask you to restart after the installation, so go ahead and
let it do so.
When the machine starts back up, you need to download and install the GigaByte
soft AP drivers. At the time of this writing, they can be located here:
http://tw.giga-byte.com/Support/Communication/Driver_Model.aspx?ProductID=955
In the event that the above link is no longer valid, then simply search the
Gigabyte website for the "GN-WPKG" adapter, and navigate to their support page
for it.
Inside of the zip archive you will find a directory called "WPKG vx.xx", where
"x" is the current version number (at the time of this writing, it is version
1.14). Extract this directory to your desktop; open the folder, and double
click the "setup.exe" file inside to start the installer.
The installation is fairly straight forward, there are no special adjustments
you need to make or anything, so just let it go through with the defaults. As
usual, Windows will tell you to reboot after the driver installation is done.
After the computer has booted back up, you should see a new icon in your
system tray. It will be a blue "G" with a signal indicator underneath. There is
going to be a red "X" over the icon at this point.
If you see that icon and Windows does not throw up any error messages, then
the hardware setup for your RT2500 device is complete. Next we will need to
configure the soft AP settings (using the software from the Gigabyte drivers)
and then setup ICS, which will allow devices to connect to the Internet through
your computer.
--------------------------------------------------------------------------------
- 4.2.3 Software Configuration -
--------------------------------------------------------------------------------
There are two phases to the software configuration in the Windows soft AP
setup.
The first phase is actually configuring the soft AP itself so that devices
can connect to it. This includes the channel, operating mode, SSID, etc. This
is the most basic part of the setup, if this is not done properly, your client
devices may not even be able to see the soft AP, let alone connect to it. This
part of the setup is also completely focused on the RT2500 line or devices, or
more accurately, the software Gigabyte provides in their drivers for those
devices. If you are using another soft AP compatible chipset, then you will
need to adapt the information here to work with the software provided with your
drivers.
The second phase of the setup is installing and starting the ICS service. This
is a basic form of routing and NAT which allows your computer to host an
Internet connection for other devices to use. The configuration for ICS is very
simple, and will work pretty much the same way on any Windows version since
Windows 98 SE. The ICS configuration is also generic in the sense that it will
work with any soft AP device you are using and is not dependant on the RT2500.
If you are using a different device, then the ICS configuration is probably the
only really useful thing here for you.
--------------------------------------------------------------------------------
- 4.2.3.1 RT2500 Soft AP Setup -
--------------------------------------------------------------------------------
Again, just to be clear, this section works only for devices using Gigabyte's
soft AP drivers. While the general information here will be applicable to other
devices, the actual configuration options and settings will likely be totally
different.
To begin the soft AP setup for RT2500 devices, we start by right-clicking on
the wireless device's icon in the system tray. You will be presented with a
menu asking how you want to configure the device. Select "Switch to AP Mode".
If you don't have that option, go back to Section 4.2.2, "RT2500 Driver
Installation", and verify you performed the driver installation properly.
Once you have selected "Switch to AP Mode", a new window will come up called
"Gigabyte SoftAP Utility". This is the program that you will be using for the
rest of this section. It is how you configure every aspect of the RT2500 soft
AP setup. There are a considerable amount of options in this program, but for
the purposes of this simple setup we will only be going over the minimum
settings required to get a connection working. If you want to explore more
advanced options such as MAC filtering, then consult the Gigabyte documentation
and Section 5, "Network Security" for details and more in-depth explanations.
The first option you need to configure is "Wireless Mode". You need to set this
to at least "802.11 B/G Mixed" for it to work, but if your device supports it,
setting it to "B Only" would be a better choice.
Next you will have the option for "TX Rate". You can leave this on "Auto" if
you like, but setting it to "2 Mbps" would be better for device compatibility.
If you set this to "Auto" and experience problems establishing or maintaining
a connection, try changing it.
You then have the option "Channel", which obviously changes the channel your
soft AP will operate on. For the most part this doesn't matter, as long as
there isn't interference or existing WiFi traffic to congest the channel you
are trying to run on. To be safe, you should set this to either channel
1 or 11. These are rarely used by other devices, and don't overlap other
channels in the WiFi spectrum.
The final option you need to set is "SSID". This is important, as it is the
name you are going to be looking for when searching for this network to connect
to. The name itself does not matter, as long as it is something you can easily
remember.
Once you have made these changes, click "Apply" and then "Close".
That completes the basic soft AP setup for the RT2500 device. This is not a
secure setup by any means, only the minimum required to get a reliable
connection to your device. If you want to enable more security on your soft AP,
then take a look at the Section 5, "Network Security", which gives details on
the various WiFi security mechanism's available to you, and their proper
implementation.
--------------------------------------------------------------------------------
- 4.2.3.2 Configuring ICS -
--------------------------------------------------------------------------------
If you have made it this far, you should have already installed the correct
soft AP drivers for your device, and configured it properly.
To begin the configuration, you need to get to the "Network Connections" screen
on your computer.
Click "Start" then "Control Panel". When it opens up, click on "Network and
Internet Connections". Finally, click on "Network Connections" down on the
bottom. Here you will see all of the networking devices on your computer.
The first thing you need to figure out is which network connection you are
going to setup ICS on. This connection can be anything, a NIC connected to a
router, a USB modem, it could even be a dialup connection. Any interface that
is able to properly connect to the Internet can be used. Once you have
determined which interface you are going to use, it is helpful to rename it to
something you can easily remember, but it is not required to do so.
Select the device you determined to be the one connecting you to the Internet,
right click on it, and click on "Properties", then click on the "Advanced" tab.
On this page you should see a heading called "Internet Connection Sharing".
Under it, you will want to click the box next to "Allow other network users to
connect through this computer's Internet connection".
There is also an option that says "Establish a dial-up connection whenever a
computer on my network attempts to access the Internet". If you are sharing out
a connection from a dial-up modem, you will want to enable this. It allows your
computer to automatically dial out and connect to the Internet whenever a
device wants to get online. If you don't have this enabled, you will need to
manually connect up to the Internet on the computer running ICS before you try
to get online with a device connected to the soft AP.
Now click on "OK". A message should pop up telling you that the NIC will take
the IP of 192.168.0.1. Just click "Yes".
This completes the soft AP configuration. Assuming your hardware device is
working properly and you setup ICS correctly, you should now be able to connect
to the Internet through your computer with any WiFi-enabled device.
--------------------------------------------------------------------------------
- 4.3 Configuring a Software AP in Mac OS -
--------------------------------------------------------------------------------
You know, it is actually pretty funny now that I think about it. Prior to this
Guide, I had no experience with OSX. The last version of Mac OS I had used was
around 7. But as I got more serious about the Guide, I realized that I could
not write about Mac OS without having some hands on time with it...so I bought
a Mac. Not a brand new one, mind you, but one new enough to run OSX. Still, the
machine cost me more than the DS did in the first place, ironically enough.
At any rate, setting up a soft AP in Mac OS is very easy. Without a doubt the
easiest of the three operating systems covered in this Guide. You literally
just need to click a few mouse buttons, and you are there.
Still, there are some specifics you need to be aware of. Even though it seems
simple, you will want to follow this section closely.
--------------------------------------------------------------------------------
- 4.3.1 WiFi Options in Mac OS -
--------------------------------------------------------------------------------
Let's face it, you didn't buy a Mac for the plethora of hardware the OS
supports. But even so, Apple always seems to have a way of providing for the
needs of it's users, and this situation is no exception.
To create a soft AP in Mac OS, you need a computer that is equipped with an
Airport card. My thoughts are a bit mixed on this stipulation.
On one hand, you can only use a single card. Even Windows manages to do better
than that. But on the other hand, it seems almost every new Mac built in the
last few years ships with one of them. So there is a very good chance that if
you bought your Mac within the last year or two, it already contains the needed
Airport card.
So while I am not happy about this hardware limitation, it ends up that a good
deal of the people reading this Guide may already have everything they need. So
perhaps it really isn't a limitation after all.
--------------------------------------------------------------------------------
- 4.3.2 Configuring Internet Sharing -
--------------------------------------------------------------------------------
To enable "Internet Sharing", you first go to the "System Preferences" menu,
then click on "Sharing", under "Internet & Network".
You should now see a bar with three sections: "Services", "Firewall", and
"Internet". For the time being, we are only interested in the "Internet" tab,
so click that.
You will now be on the "Internet Sharing" page. You will see a box that lists
the networking devices on your Mac. You should see at least two entries here,
one probably being "Built-in Ethernet", and the other should be "AirPort". You
may or may not have more devices listed, but in most cases you need to have at
least these two.
Now, there will be a line saying "Share your connection from:", followed by a
drop down box. Set this to "Built-in Ethernet" if it is not already. This is
the source interface for "Internet Sharing". We assume you are connected to the
network or broadband modem through Ethernet; but if you are connected to the
Internet through some other device, then set that as the source instead.
You will now want to click the box next to "AirPort" in the box on the bottom.
This links your source interface with the AirPort card, and establishes routing
between them.
That is all for the "Internet Sharing" configuration.
Clicking "Start" would activate "Internet Sharing", and begin routing packets
between the two interfaces. However, it won't do us any good until we configure
the AirPort card itself.
--------------------------------------------------------------------------------
- 4.3.3 Configuring AirPort Options -
--------------------------------------------------------------------------------
On the "Internet Sharing" page, click on the button "AirPort Options...".
The first option you will see is going to be "Network Name". This is the SSID
of the WiFi network you are about to create. Set this to whatever you like, but
just make sure you remember it.
Next you will see "Channel". Leaving this on "Automatic" should be fine, but if
you experience problems with interference you might want to try setting the
channel manually.
Moving on, you will see the section dealing with encryption. If you want to
enable WEP on your new soft AP, this is where you would configure it. After
clicking the box next to "Enable encryption (using WEP)", you would then enter
a key to use. If you are planning to use 128 bit WEP then enter in a 13
character key, and if you want to use 40 bit WEP then enter a 5 character key.
If it is not obvious, you should use 128 bit encryption, but the choice is
yours.
After you have made these settings, click "OK". You have now configured the
AirPort card. If you are following this Guide exactly, you should now be back
on the "Internet Sharing" page that you started from. Everything should be
setup correctly now, so click on "Start" to enable "Internet Sharing".
--------------------------------------------------------------------------------
- 4.3.4 Connecting the DS -
--------------------------------------------------------------------------------
Yes, I imagine you had figured the whole process had been too easy thus far.
I suppose it is some sort of cosmic irony that while the soft AP setup on the
MAC itself was as simple as you could possibly hope for, the DS just decides
not to behave with it.
The problem here is that the DS does not seem to work with the OSX DHCP server,
which means it can not automatically configure itself against your newly
created soft AP.
I am working on a way around this problem, but for the time being, you will
need to configure your DS manually. Luckily, this is not very difficult.
Here is the key thing to remember though. As there are two interfaces involved
in this setup (whatever you are using to connect to the Internet, and the
AirPort card itself) you need to make sure you are basing the DS's static IP
off of the AirPort, and not the other device. Since the DS is connecting to
the AirPort directly, that is the IP scheme you need to follow.
By default, the AirPort interface should have an IP address of 10.0.2.1, with
the subnet mask 255.255.255.0. So the appropriate settings for the DS would be
as follows:
+--------------------------------------------------+
| IP Address | 10.0.2.2 |
|--------------------------------------------------|
| Subnet Mask | 255.255.255.0 |
|--------------------------------------------------|
| Default Router | 10.0.2.1 |
+--------------------------------------------------+
You will still need DNS servers however, which you can find by following
Section 7.3.3.
If that doesn't work, then you need to manually find the AirPort's TCP/IP
settings. Go to "System Preferences", click "Network", then select "AirPort"
from the device listing. Click on the "TCP/IP" tab, and you will be presented
with an easy to understand listing of the relevant TCP/IP information. You can
then follow Section 7.4 to base a static IP configuration off of this
information.
Once you have determined the proper IP settings to use, follow section 2.2.2.2,
"Manual Configuration". You will then enter the SSID of your AirPort card (did
you remember it like I told you?), followed by the IP information you got from
your system. You will also need to enter in your WEP key if you chose to
enable encryption under the "AirPort Options" menu.
After that, run the "Connection Test" and hope for the best.
--------------------------------------------------------------------------------
- 4.4 Hacking the Nintendo Wi-Fi USB Connector -
--------------------------------------------------------------------------------
While the Wi-Fi USB Connector is designed to make getting online as easy as
possible for people without being too technical, there are still some advanced
things you can do with it, though completely unintentional on Nintendo's part.
--------------------------------------------------------------------------------
- 4.4.1 Using the Nintendo Wi-Fi USB Connector with AOL -
--------------------------------------------------------------------------------
It seems like a lot of people are asking this same question, so I decided to
add it to the Guide.
Keep in mind, this is for AOL High Speed (with a true broadband connection),
not dialup. It is possible to get on the WFC with dialup, but I do not plan to
cover it in this Guide. Dialup users slow down the game for everyone else; I
am sorry, but it is the 21st century, if you don't have broadband, for whatever
reasons, you shouldn't be playing online with those that do.
The key to using the Wi-Fi Connector (and any other soft AP) with AOL is to not
use the official AOL software to connect. You must create a new connection, and
use that to log in.
To do this in Windows XP, you will first click "Start", then "Control Panel",
then "Network and Internet Connections", finally, click on "Network
Connections".
You will now see a screen that shows your current Ethernet connections. On the
top left hand corner of this window, you should see a small box that says
"Network Tasks". Within that box there is an option that says "Create a new
connection", click it to start the "New Connection Wizard".
The first page of the wizard describes what it can help you do. Click "Next",
and it will ask what kind of connection you want to make. Make sure the radio
button next to "Connect to the Internet" is selected (by default, it is). Then
click "Next".
Select "Set up my connection manually", and click "Next".
Select "Connect using a broadband connection that requires a username and
password", and click "Next".
The wizard will then prompt you for the name of this new connection. You can
use anything you like, but it is probably a good idea to make it something
you will remember later. Naming it "AOL WFC" would not be a bad idea. After you
have entered the name, click "Next".
Now you will need to enter your AOL username. Enter your username, with the
aol.com suffix (I.E. username@aol.com). You can then either enter your password
here to have it saved, or leave the box blank so that you will be prompted for
the password every time it tries to connect. It doesn't matter either way for
the purposes of the Wi-Fi USB Connector, so do whatever you feel comfortable
with.
After entering in your credentials, then remove the check for "Make this the
default Internet connection", but leave the other two options enabled. Then
click "Next".
On the final screen, you will see an overview of the setup for the connection
you just made. Look over it to see if it appears correct, if not, go back and
check everything. There is also an option to "Add a shortcut to this connection
to my desktop". Selecting this would probably save you some trouble down the
line. If you are happy with everything, click "Finish".
Now, when you want to use this new connection, you would either click the
shortcut the wizard made, or select it from the "Network Connections" screen.
After you have signed into AOL with this new connection, go ahead and install
the Nintendo Wi-Fi USB Connector, and all should be well.
A little note, I said to make sure to disable "Make this the default Internet
connection" so that you could still use the AOL software to get on the internet
normally. If you would like to bypass the AOL software completely, keeping that
option enabled will make that your primary internet connection, and allow you
to use the internet without the AOL software.
--------------------------------------------------------------------------------
- 4.4.2 Nintendo Wi-Fi USB Connector Soft AP -
--------------------------------------------------------------------------------
The Nintendo Wi-Fi USB Connector is a very strange device. It was created to
make setting up a wireless network easy for users who do not have a wireless
router and don't want to go through the trouble of setting one up; but at the
same time imposes a number of artificial limitations that are a bit strange.
First, perhaps some background information is in order. Nintendo did not design
or build the Nintendo Wi-Fi USB Connector. The Wi-Fi Connector is in fact a
Buffalo WLI-U2-KG54-AI adapter which simply has been branded with the Nintendo
logo. The WLI-U2-KG54-AI is based on the USB version of the RT2500 chipset,
which, if you have read the Windows Soft AP section, you will recognize as one
of the very few devices capable of creating a true wireless network under
Windows.
Nintendo was only in control of the software side of the product, which is
where they started making some strange decisions.
First of all, Buffalo provides drivers for Windows 98, Windows ME, and
Windows 2000 for the WLI-U2-KG54-AI adapter. Nintendo on the other hand,
decided to limit their OS support to Windows XP only. Nobody but Nintendo will
ever know why they decided to place this limit on the Wi-Fi Connector, but the
best guess I could hazard would be that they didn't want to have to support
users running older versions of Windows. This decision has garnered the Wi-Fi
Connector considerable criticism from many on the Internet.
The second, and more pressing, change to the original Buffalo installation is
limiting the types of clients that can connect to the device. Using an RT2500
device in soft AP mode would normally allow all WiFi devices to connect, but
Nintendo specifically limited the Wi-Fi Connector software to only communicate
with Nintendo's own hardware (at the time of this writing, those devices being
the DS and Wii).
At least this limitation can be justified; Nintendo designed the Wi-Fi
Connector software with security in mind, and indeed it does provide a very
secure wireless network. Many people have heard the horror stories of
improperly configured wireless networks allowing intruders access to their
computer and Internet connections, and it has generated a negative
predisposition in the minds of many consumers.
The Wi-Fi Connector however, being limited to only Nintendo's own products,
provides these gun-shy users with wireless access for their game systems while
not compromising their network security.
Even so, there are many people who would rather be able to use their Wi-Fi
Connector with the rest of their WiFi equipment, and that is exactly what this
section of the Guide will allow you to do.
Be warned however, the process that is described in the following text is by
no means a simple installation. If you follow this Guide exactly you should
not have any problems, but if you are not an advanced computer user you may
want to read the rest of this section before actually making any changes on
your system, and then decide after you have read it all if you want to attempt
it yourself.
--------------------------------------------------------------------------------
- 4.4.2.1 Driver Modification and Installation -
--------------------------------------------------------------------------------
The first phase of the installation will require you to modify the official
drivers for the Buffalo WLI-U2-KG54-AI adapter to allow them to work with
Nintendo's rebranded version of the device.
Despite sounding a bit frightening, this is actually one of the easier steps of
the installation, in the grand scheme of things.
First you will need to go online and download the drivers from the Buffalo
website.
At the time of this writing, the required file can be downloaded at the
following URL:
http://www.buffalotech.com/support/getfile/?U2KG54_1-01-02-0002.zip
If that link is no longer valid, you will have to manually navigate to the
download page for the WLI-U2-KG54-AI and get the required file.
First, go to the Buffalo website located at:
www.buffalotech.com
Once you have selected your region, move your mouse over "Support" and click
on "Downloads". On the Download page, click on the drop-down box and select
"Wireless-G Keychain USB 2.0 Adapter with Auto Installation" under "Wireless".
This will then load the page for the WLI-U2-KG54-AI. Click on the "Download"
link under "Drivers", the current version is 1.01.02.002.
You should now have a file called "U2KG54_1-01-02-0002.zip" on your computer.
Inside of this archive you will find a directory called "U2KG54", and under
that, directories for the different operating systems the driver has versions
for.
I should say at this point that modification of the driver should work on any
of the supported operating systems. However, I am personally only able to test
on Windows XP. If you attempt this on an older version of Windows, I would be
very interested in hearing how it works out for you.
Extract the "Win2000" directory to your desktop, and open it up. Inside you
should see 5 files. The only one you need to touch is "NETU2G54.INF". This
file tells Windows which devices will work with the driver, and needs to be
modified in order for the rest of the setup to work.
Before we can make any changes to the file however, we have to make it
writable. Right click on NETU2G54.INF, then click on "Properties". At the
bottom of the window you should see a check in the box next to "Read-only".
Click on this box to remove the read-only attribute on the file, and then click
"OK".
You can now open up the file in Notepad by right clicking on it, selecting
"Open With...", and then choosing Notepad from the list of programs.
Near the top of this file you will see a section that has the heading,
[Adapters]. As you may of guessed, this is the list of devices that the
driver will associate itself with.
The section will look like this in the stock driver:
[Adapters]
; DisplayName Section DeviceID
; ----------- ------- --------
%rt2500usb.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_005E
%rt2500usb_nai.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_0066
%rt2500usb_ai.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_0067
All you need to do is add the following line:
%rt2500usb.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_008B
So the [Adapters] section should look like this when you are done:
[Adapters]
; DisplayName Section DeviceID
; ----------- ------- --------
%rt2500usb.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_005E
%rt2500usb_nai.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_0066
%rt2500usb_ai.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_0067
%rt2500usb.DeviceDesc% = rt2500usb.ndi, USB\VID_0411&PID_008B
After you have added the correct line, save the file and close it.
Now that you have modified the driver itself, we can proceed with the actual
installation of the driver.
Before attempting the next steps, make sure you have completely removed the
Nintendo Wi-Fi Connector software and drivers from your system. Make sure you
have restarted your computer since removing the older drivers as well, to
avoid any conflict when you try and install the modified Buffalo drivers.
Once you are sure your system is clean of the old drivers, plug your Wi-Fi
Connector into the computer. In a second or two you should see a pop up saying
that it has detected the Nintendo Wi-Fi USB Connector.
The "Found New Hardware Wizard" will then start. It may ask if it can connect
to the Internet to search for drivers. Select "No, not at this time", and
click "Next".
It will then ask where you want to install the drivers from. Select "Install
from a list or a specific location (Advanced)", and click on "Next".
Make sure that "Search for the best driver in these locations." is selected,
and then click the box next to "Include this location in the search:". Then
click on "Browse". Navigate to the directory that your modified NETU2G54.INF
file is in, click "OK", then click "Next".
You will get a warning about the driver having not been tested for Windows XP
compatibility. Ignore it and just click "Continue Anyway".
After the installation, a bubble should come up at the bottom of the screen
saying that the installation was successful.
You should also notice you now have a new icon down in your system tray, which
will look like a computer with waves coming out of it with a red "X". This
indicates that you have a new wireless network device installed that has not
yet been configured.
At this point, your Nintendo Wi-Fi USB Connector is operating as a standard
wireless adapter. You can now use it to connect your computer to a wireless
network (such as a home router, or public access point) if you wish.
Read the next section to learn how to configure your modified Wi-Fi Connector
installation to work as a soft AP.
--------------------------------------------------------------------------------
- 4.4.2.2 Software Modification and Installation -
--------------------------------------------------------------------------------
At this point, you should have your Nintendo Wi-Fi USB Connector working as a
standard wireless adapter under Windows. From here, we will download the
appropriate software to configure a soft AP and make the required modifications
so that it will work with the Wi-Fi Connector.
As covered previously in this Guide, Windows does not include any inbuilt
method of configuring a soft AP like Linux and Mac OS do. Because of this, we
need to rely on the hardware manufacturers to develop their own software to
accomplish the task. The obvious problem there however, is that the hardware
manufacturers only develop software that works with their own devices, not any
hardware you pick up off the shelf.
That's the issue we will be addressing in this section. We need to modify the
advanced WiFi configuration software from another manufacturer's device to work
with the Nintendo Wi-Fi USB Connector. This is going to be a bit more difficult
than the driver modification, and will require some software you may not have
on your computer.
Namely, you will need a hex editor to complete this part of the setup. For
those who are not familiar with the term, a hex editor allows you to modify
binary files, like computer applications. If you were to attempt to open a
computer application in a text editor, it would just come out as gibberish, but
a hex editor knows how to handle the data and makes it editable (to an extent).
If you do not already have a hex editor on your computer, I would suggest using
"XVI32", which can be downloaded for free from:
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
XVI32 is nice because it is small, capable, and does not require a full
installation on your computer, you just copy the folder to your computer, and
run it from there. Specifically helpful to us is that XVI32 features a very
advanced "Replace" function, which will make editing the files much easier.
The rest of this section will be written with XVI32 in mind, in terms of the
menus and options it presents. However, you should still be able to follow
along with any hex editor you are comfortable using if you chose to do so.
After you have gotten your hands on a hex editor, you will now need to download
the software that needs to be modified.
For this, we are going to be using the WiFi configuration software from the
ASUS WL-167g adapter. At the time of this writing, the software could be
located at the following URL:
http://dlsvr01.asus.com/pub/ASUS/wireless/WL-167g/Utility_2933.zip
If that is no longer valid however, you will have to manually navigate to the
download page for the WL-167g.
First, go to the ASUS website located at:
www.asus.com
Once you have selected your region, click on "Download", and in the search bar
type in "WL-167g". On the resulting page you should see a link that says
"WL-167g related files for download", click on it. On the next page, click on
the "Utilities" tab, then click on the "Global" link to begin the download.
You should now have the file "Utility_2933.zip" downloaded onto your computer.
Inside of this archive there will be a directory called "Utility", extract this
to your desktop. Run the "setup.exe" file inside of this directory to start the
"ASUS WLAN Card Utilities Setup".
You will first be asked to select your language. Make the selection and click
"Next" to proceed. On the Welcome screen, click "Next" again. It will then ask
where you want to install the files. The default is fine, but you can change it
if you wish.
After the installation, it will ask you if you want to restart your computer.
There is really no reason to, since we didn't install the ASUS drivers, but you
can go ahead and reboot if you like.
Now comes the fun part, actually modifying the individual programs to fool them
into working with the Wi-Fi Connector.
Start up XVI32, and click on the "Open" icon. Now navigate to where the ASUS
Utilities were installed. By default this should be:
C:\Program Files\ASUS\WLAN Card Utilities\
Inside this directory you are going to see a number of files. To start, click
on "AsAuthen.dll".
The main window of XVI32 is going to fill with data now. Don't worry about it,
you won't need to touch any of that.
Click on "Search", and then "Replace...". Under "Find", make sure that "Text
String" is selected, and paste the following line into the box:
USB\VID_0B05&PID_1706
Then click the top "Text -> Hex" button. The text you just copied should now
show up in the lower window in hex.
Go down to "Replace with", again making sure that "Text String" is selected,
and copy the following line into the box:
USB\VID_0411&PID_008B
Click on the lower "Text -> Hex" button. Again you should see the text
changed into hex.
Now click on "Replace All". You should get a pop up window telling you how
many occurrences were replaced, just click "OK".
Now click on the "Save" icon, and then "Open".
You have now completed the modification on the first file. You must repeat
these exact steps over for the remaining files. XVI32 will remember the text
you have entered to be replaced, all you need to do is click the appropriate
buttons to open the file, replace the line of text, save the file, and open the
next one.
You must edit the following files:
AsAuthen.dll
Center.exe
Mobile.exe
StMonitor.exe
TShoot.exe
Wireless.exe
Wizard.exe
We just edited AsAuthen.dll, so that leaves the 6 .exe files left.
Once you have edited those files, there is one final step left. Open "My
Computer" and navigate to the directory where the ASUS Utilities are installed,
and go into the "Driver" directory. Under "Driver", go into the directory named
"WinXP", and then "AP". Here you should find a single file called
"rt2500usb.sys".
You must copy the rt2500usb.sys file to:
C:\WINDOWS\system32\drivers\
You will get a prompt asking you if you want to overwrite the file, click
"Yes".
Make sure the Wi-Fi Connector is plugged in, and click on "ASUS WLAN Control
Center" icon on the desktop. You are likely going to get a number of error
and message windows popping up, but there is only one you need to worry about.
There should be a window named "Wireless Option", in this window you need to
make sure that option which says "Only use our WLAN utilities..." is selected,
and then click "OK". A wizard will now start, click on "Cancel", and then "OK"
on the message that will result.
Close any other wizards or messages that have opened themselves. You should now
see the "ASUS WLAN Card Settings" window, with the Buffalo WLI-U2-KG54-AI shown
as the current device.
This completes the modification of the ASUS WLAN Card Utilities. You now have
the required software to setup a soft AP using the Nintendo Wi-Fi USB
Connector.
--------------------------------------------------------------------------------
- 4.4.2.3 Soft AP Configuration -
--------------------------------------------------------------------------------
In this section we will actually configure the soft AP, and get the Internet
running through it.
The ASUS software makes this very simple, and you should be up and running in
only a few clicks.
Open up the "ASUS WLAN Control Center", and click on the "Config" icon. On this
page you should see a tab that says "Soft AP", click on it.
Here you need to click on the bubble next to "Soft AP Mode". This will put the
device into Master mode. On the bottom of this tab, you should see a diagram of
a network, and on the bottom left there should be a window that says "Available
Network Connections". Select which one of those connections is currently
connecting you to the Internet, and drag that up to the box that is next to
"Internet". Make sure the box next to "Enable ICS" is checked.
Now click "Apply". After a moment you should get a warning about changing the
modes of the adapter, click "Yes". A few seconds later and you should get
another window popping up to tell you that enabling ICS may take awhile, click
"OK" again. Then wait, like the message said, this can take awhile.
You will know that it is finished when the green "Apply" icon becomes greyed
out again. Once this happens, click on the "Basic" tab.
On this tab you need to enter in the SSID your soft AP will use. Make sure that
"Hide SSID" is not checked, or else you won't be able to find your soft AP when
you search from your devices (though you could always manually configure it).
Then move down to the channel selection. You can use any channel you want, but
it would be a good idea to either use 1, 6, or 11.
Now down on the bottom, click "Advanced". On this new tab, go to the pull down
box next to "54g Mode:" and select "802.11b Only".
Click "Apply", then "OK".
Your Nintendo Wi-Fi USB Connector has now been converted to a standard soft AP.
You may now connect your client devices to it and begin using it as you would
any other WiFi access point.
However, I highly suggest you look at the "Encryption" and "Access Control"
tabs in the Control Center, and enable some form of security. Read Section 5,
"Network Security" for a more in-depth explanation of these features.
================================================================================
= 5. Network Security =
================================================================================
--------------------------------------------------------------------------------
- 5.1 WiFi Security -
--------------------------------------------------------------------------------
Wireless security is essentially a myth. The very concept of sending data over
the air using hardware that any consumer can purchase cheaply and without a
license makes it a dangerous technology.
Of course there are many things you can do to increase the security of a
wireless network. The problem is, the DS doesn't really support any of them. We
will have to work around this, and do the best we can with the limited
abilities of the DS.
The following sections will give some tactics that can be used to make the best
of the limited security options Nintendo decided to arm the DS with. I will
explain what each security measure does, why it works, and at the same time,
why it doesn't.
--------------------------------------------------------------------------------
- 5.1.1 Cloaked SSID -
--------------------------------------------------------------------------------
Cloaking simply means that your WiFi device does not publicly broadcast the
SSID. This will cause general purpose WiFi devices and software to not list it,
essentially hiding it from people who did not know the network was there.
The problem with this feature is that it can make setting up new devices
difficult. The DS does not list networks unless their SSID is being broadcast;
so to configure it with such a network, you would either need to manually set
it up, or temporarily enable SSID b