802.11g and WPA2 on Windows 9x/Me with Ralink RT61 Wireless Adapters

Introduction

The Windows 9x family, which includes Windows 95, Windows 98, Windows 98 Second Edition (98SE), and Windows Millennium Edition (Me), is a popular platform for PC retrogaming, due to low hardware requirements, and compatibility with DOS games, as well as early Windows titles. The two most recent installments – Win98SE and WinME – also feature a fairly complete network stack, including some wireless support, which make it possible to set them up for local area networking (and file sharing) as well as casual (very light) internet browsing.

Wired networking is not a problem, but wireless can be challenging. The main challenge is compatibility with modern security standards. If you are security-minded, your home wireless network probably uses WPA2 encryption, as do many public networks in coffee shops, work places, etc.

When I recently set up a retro-gaming laptop with Windows Me, I realized that finding a wireless adapter that (1) supports WPA2/AES, and (2) has working drivers for Win9x/Me is rather challenging. There is no built-in wireless configuration utility for Win9x/Me, so you rely on software from the manufacturer of the device. There appears to be a generic utility – Odyssey Access Client – which has a Win9x version and can control any wireless device, but it is not free.

I tried several adapters from several manufacturers, and nothing worked out of the box. Some did not have drivers at all – I could not find, for example, a single Intel 802.11g adapter with 9x/Me drivers – only 802.11b – and that one only supported the obsolete WEP encryption. I tried some Atheros-based solutions, but could only get WPA, not WPA2, to work with these.

In the end, salvation came from Ralink – their “Ralink Turbo” RT61 Chipset appears to have good, robust drivers for Win9x/Me, and natively support WPA2. However even that did not work without some tweaking, because the software utility did not allow me to choose that option – it had to be enabled manually via the registry. The complete procedure is detailed below for your reference.

Enabling WPA2/AES on Ralink RT61 under Windows 98SE/ME
  1. Get an adapter based on the Ralink RT61 (sometimes known as RT2561) chipset. There are probably multiple options from various manufacturers. I personally have had success with the following ones (note that all of them are old and discontinued, but can usually be found used or from surplus stock):
  2. Download the Win9x/Me driver and configuration utility package. There are several possible links: this or this (“official” from Edimax) or this (from VOGONS, also contains drivers for other operating systems).
  3. Launch the executable. It will install the driver and the Ralink utility, and ask to reboot. Reboot.
  4. Your device should be successfully detected, and the Ralink utility will probably auto-start and be in the system tray. Run it. You can check the driver and utility version in the ‘About’ tab. Mine shows driver 1.2.3.0 and RaConfig 1.3.6.0.
  5. In the Site Survey you will see a list of access points and their accepted authentication methods. Often it will be WPA-PSK, WPA2-PSK or WPA-PSK;WPA2-PSK, if it supports both.
  6. If your device supports WPA-PSK (or both), this should be easy. Click ‘Add to Profile‘, in the ‘Authentication and Security‘ tab choose WPA-PSK, define all other properties, and click OK. Your wireless card should connect.
  7. If your device supports WPA2-PSK only, it is trickier, because the GUI will not let you choose that. It is simply not available in the drop-down for some reason. But the network controller itself is quite capable of it. So you can trick the utility and force WPA2, as follows:
  8. Create a profile using WPA-PSK, add the correct encryption/key for your router. Save the profile (you need to give it a name) and make it default (if it is the only one, it should happen automatically).
  9. At this point you will not connect, but you are one registry tweak away from connecting.
  10. Open the registry editor, navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net
  11. There will be a list of subkeys with numbers starting from 0000. Find the one corresponding to the Ralink adapter – you can identify the correct one because one of the keys inside will be DeviceVxDs=RT619x.sys.
  12. Find the key AuthenType. The value will probably be “4” (which stands for WPA-PSK). Change it to “7” (which stands for WPA2-PSK).
  13. Now notice the CurProfile key. Its value is the name of the profile. Locate the name under ProfileStation subkey. When you open it, inside there will be another list of settings. Find AuthenType there as well and set it to “7”.
  14. Restart the RaConfig utility. Now the profile should display WPA2-PSK and should connect to your router.
Notes
  1. If you make any changes to the profile via the GUI, it will reset AuthenType, and you will have to repeat the trick, but it’s not a big deal. Actually, some changes you can easily make through the registry. Even the station name and the password are just stored there as plain strings.
  2. I do not know if there is a different version of RaConfig that allows WPA2-PSK to be selected from the dropdown box, of if there is a way to similarly hack it to get this functionality to work.
  3. I only tried this on Windows Me, and Windows 98 SE. I do not know if it works for Windows 98 (first edition) or Windows 95; their fundamental support for WiFi may not be as developed.
Further research
  1. USB adapters with WPA2 (and maybe 802.11n) support under Win9x
  2. PCIe/mini-PCIe adapters with WPA2 (and maybe 802.11n) support under Win9x
  3. A version of RaConfig for Win9x that allows WPA2 to be selected in the GUI without requiring the registry hack

If you know about any of the above, feel free to leave a comment on the page. 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s