Jump to article
V.O.I.C.E Virtual OS/2 International Consumer Education
February 2007
A A A
Feature articles

- Mark Dodel: Why does it have to be so hard?
- Thomas Klein: Warpstock Europe 2006 - revisited - Background details on event organisation
- Alex Taylor: OS/2 and Multilingual Character Sets: Part 2
- Sjoerd Visser: Using Theseus to Study Memory Usage Under OS/2 - Part 1
- Christian Hennecke: Warpstock Europe 2006 - Report from Cologne
- Ed Durrant: Using the Intel 2200BG Mini PCI card
- Tips
- Letters, Addenda, Errata

Active GUI element

Static GUI element

Code

WPS object

File/Path

Command line

Entry-field content

`[Key combination]`

more

# Using the Intel 2200BG Mini PCI card

by Ed Durrant, © February 2007

Ed Durrant has worked with and supported OS/2 since version 1.1 and presently lives in Sydney Australia.

As an addition to Mark Dodel's article on installing GenMAC and XWLAN, there have been several discussions recently specifically around the installation of one particular card (or several versions of it)—the MINI-PCI, Intel 2200BG based card, mainly being installed into various IBM Thinkpad models.

I have documented my experiences on installing a Toshiba branded version of this card into my Thinkpad T30 under eCS 2.0 Beta2 Milestone2. These are the results I found. Others have also gotten their systems working based on these notes. However, another group of people have found that different things happen in their system configurations, so this is not a 100% solution. Nevertheless I hope it may be of use to some people.

## Pre-Installation: Hardware Preparation

If you are using a Thinkpad laptop that has the Intel Speedstep technology, turn off this feature in the BIOS. If you don't, the WiFi card will work when connected to AC [power] but not when on battery!

The preparation for a T30/T42 is as follows—other models may be similar:

- Power on the Thinkpad.
- Press `[F1]` to enter the BIOS.
- Enter the hardware admin password to the first prompt and HD password to the second prompt (if you have these set).
- Press `[Enter]` when on Config.
- Move the cursor down and press `[Enter]` when on Power.

  You can set all values on this screen as follows (you have to scroll down for about the last 30% as they're off the bottom of the screen):

      Power Mode for AC Maximum Performance
      Power Mode for Battery Maximum Performance
      Processor Speed Fixed Max
      Suspend timer Disabled
      LCD off timer Disabled
      HDD off timer Disabled
      Hibernate by timer Disabled
      Timer Wake with Battery Operation Disabled
      Low Battery Action Suspend
      Suspend when LCD is closed No Suspend
      Suspend/Hibernate while docked Disabled
      RediSafe Disabled
      Resume on time Disabled
      Resume Time 00:00:00
      Resume Date 00/00/0000
      Resume on Modem Ring Disabled
      Intel (R) SpeedStep technology Disabled
      Mode for AC (Grayed out) Automatic
      Mode for Battery (Grayed out) Battery Optimized
      Screen Blanking Disabled
      Power Switch Mode On/Off
      Suspend to hibernation Disabled
      CDROM Speed Normal
      CPU Power Management Disable
      PCI Bus Power Management Disable

- Press `[F10]` to save and exit.

This configuration turns off all power saving components. However, of all of these settings we have found that the relevant ones are the Intel Speedstep and CPU Power Management settings.

Having power management turned off on a laptop while on battery is not ideal. It is possible that with a more “Speedstep-friendly” version of the OS/2 kernel, or the GenMAC driver, the 2200BG card could work with the power saving settings enabled.

## Installation

Installation starting point: Intel 2200BG MINI-PCI Card Installed.

If this is an IBM part you have installed, all should be well. However, if it is a part from a different manufacturer, as mine was (a Toshiba part), the Thinkpad will give an 1802 invalid hardware error when you start the system.

If you search the web you will find at least two utilities to change the Thinkpad's BIOS to remove the check. I prefer to run this 1802 BIOS fix when I have booted the system from a DOS boot diskette—others report it can be run from a DOS session under OS/2 or eCS. One key point is that you have to apply the fix when no card—not even a “valid” one—is installed in the system.

### Download the required software

- GenMAC Wrapper Version 1.00 and v 1.6 upgrade package.
- WLANmon v 2.12

While there are later versions (use at your own risk), this process used the above versions.

### Clean-up Stage

If you have already installed GenMAC and XWLAN (skip to next step if this is your first installation attempt):

- MPTS
  - Remove the protocols for the 2200BG card.
  - Remove any SVista or VPC virtual network protocol drivers (on any card).
  - Remove the NIC definition for 2200BG card.
  - Adjust any remaining card as the first adapter.
- CONFIG.SYS
  - REM[ark] all UNIAUD lines (you can't run UNIAUD and GenMAC together at the moment).
  - REM all VirtualPC entries.
  - Delete the `RUN=Helperw.exe` line
- OS2.INI
  - Using either REGEDIT2 or Inimaint (or similar INI editor), delete the following four keys from OS2.INI/HINI_USER_PROFILE:
    - `Wireless LAN Monitor:Networks`
    - `Wireless LAN Monitor:Profiles`
    - `Wireless LAN Monitor:Properties`
    - `Wireless LAN Monitor:Stream Profiles`

    These should be the only “wireless” entries that are present.

- Desktop
  - Delete the Wireless LAN Monitor folder and any shadows or copies you have made of it or its contained objects. If you installed WLANmon as a Widget previously, delete the widget.
- Reboot the system
- Disk
  - Delete the complete GenMAC directory tree—normally written to the system root drive.
  - Delete any directories where you installed (X)WLANmon.

### Check Status

1. Make sure your other (Non-WLAN) network connection is working correctly:
   - Check configuration in MPTS
   - Check configuration in TCPCFG2
   - Check configuration in LANINST
   You should have only LAN interface zero (0) and the loopback interface configured in TCPCFG2 at this point.
2. Cold restart [Shut down, power off, power on]
3. Check that no errors are indicated on boot up and that communication is working on your non-WLAN NIC.

### Install GenMAC driver

1. Go to the temporary directory where you downloaded the code and create a sub-directory for GenMAC. E.g., if you downnloaded to E:\TEMP, create E:\TEMP\GenMAC.
2. Unzip the GenMAC Zip file into this new subdirectory.
3. Unzip the GenMAC v 1.6 Zip update package into the same subdirectory.
4. Go into the subdirectory and execute the INSTALL.CMD file. This creates a directory tree called \GenMAC off the system root, loads the required NIF and MAC files into \IBMCOM\MACS, and adds a line to the start of CONFIG.SYS for the HELPERW.EXE program.
5. Run MPTS. Select and add the INTEL WLAN 2200BG as the next NIC in the configuration, i.e., if your onboard ethernet connection is the first NIC, make this the second NIC.
6. Now add only the TCP/IP protocol to the 2200BG NIC. If you need additional protocols, add them once the card is working—often TCP/IP is all you need. Check that the protocol number allocated to the TCP/IP protocol does not conflict with any existing number—normally it would have a protocol number of 1. If there is a conflict, adjust it to avoid this by using the Change number button.
7. While still within MPTS, edit the 2200BG card settings:
   - Make Network Name (SSID) either blank or the name of your access point (this field is case sensitive).
   - Change Debug Level from NO to NONE.
   - Change Wrapper Options from NO to STACK32.
8. Exit MPTS and save everything, letting CONFIG.SYS be updated.
9. Cold restart
10. On reboot check that the card is indicated as having its driver loaded, this text is in red and must also indicate that it is version 1.6. It should say “Loaded for device…”.
    If you find that you have the wrong version of GenMAC, you cannot simply copy over HELPERW.EXE and GENM32W.OS2. The copy does not give an error, but file is not changed as it is locked—you need to run the Unlock program first (in the GenMAC package \BIN subdirectory) and then replace these files.

    If the driver does not load at this point, this would suggest a faulty card.

### Install WLANmon

Firstly it is important to note that we are installing the EXE version and not the Widget.

1. Create a directory to hold WLANmon, e.g., E:\WLANmon, and unzip the (v2.12) package from the temporary directory where you downloaded it to this new directory.
2. Execute the INSTEXE.CMD file from this directory. It installs the program in its current location and creates a folder on the desktop.
3. Start the Wireless LAN Monitor and you see a welcome screen and a flashing small object.
4. Press OK.
5. Drag the object to a better place on the desktop and open its pop-up menu.

   If you are happy with the small icon, the next two actions are optional.

   I don't like this small icon so I always select Window and click on Large Window Size. Then again Window and Always stay on top.

6. Now we set the overall properties, so select Properties from the pop-up menu.
   - Radio tab: Set activate radio on startup
   - Connection scan tab: Set scan for connections on startup, and change interval and retries to something more sensible—default is 2/3600, I use 4/15.
   - Device tab: This must show “`GenMAC wrapper INTEL 2200WLAN [8086:4220]`” and version “`WIND32$ 1.06`”. If not, either the card is faulty or you missed or incorrectly performed one of the instructions above.
   - TCP/IP tab: Click Execute LAN config on disconnect/On. Leave Conflict at prompt user.
   - Script tab: Leave both options on, even though the scripts don't exist.
   - Mouse Actions tab: Leave as set (Next profile / Scan).
   - Error handling tab: Leave all three options selected.
   - Display tab 1: Leave as set (System value / 0)
   - Display tab 2: Info only.
   - Information tab: Must indicate v 2.12.
7. Exit the properties notebook and open the object's pop-up menu again. Select Add/Edit profile then New...
   - Connection tab 1
     - Enter a Profile name, e.g., HomeWiFi
     - Leave Connect as Basic
     - Unclick Create a network if it is selected
     - Click on Include in connection scan
     - Enter the SSID of your access point in the network name field.
   - Connection tab 2 - is greyed out.
   - Security tab 1 - Encryption: In my case this was WEP64. Enter the key number used with your access point (AP) (1, 2, 3, or 4)—check your AP's configuration. Either generate the keys using a known passphrase or enter all four keys manually.
   - TCP/IP tab: Although the documentation states that it is best to configure the WLAN settings in this program rather than using TCPCFG2, this is not my finding. If you take this approach, you will find that the connection starts up intermittently even though nothing has apparently changed (very annoying!). Ensure that Don't configure is selected on this page.
8. Close this new profile and then press Close on Select a profile.
9. Open the object's pop-up menu again, and click on Exit.
10. Now start TCPCFG2 from the command line or the TCP/IP configuration object.
11. LAN Interface 0 should be highlighted and Enable interface has a tick in it. This is your existing network connection that you checked earlier.
12. As OS/2 only allows you to have one interface set to DHCP, you now need to decide which interface can have a static IP address and which one can have DHCP. Logically one would say that the WiFi interface should use DHCP as it requires this when you use a public WiFi “hotspot.” However, if you do this, each time you boot you have to wait until the DHCP agent times out as it does not have a connection while booting.

    In my case I chose to have my LAN connection use DHCP and give a static IP to my wireless connection as I mostly use this with my home wireless router, so that I can work outside on the balcony drinking a Weißbier!

    So in TCPCFG2, click on LAN Interface 1 so that it is highlighted. You see that Enable Interface here is not ticked, so click it on. As I set LAN interface 0 to DHCP, I only have the option to configure this port manually—so enter an IP address within the range of the WiFi router and its subnet mask. Now click on the Routing tab and add a default route—this is the address of the WiFi router, often 192.168.1.1. Then click on the Host Names tab and enter the DNS server addresses for your network (usually the DNS addresses of your ISP).

13. Now click on OK to close. When prompted if you want to reboot, say Yes.
14. Cold restart.

## Testing

If you are lucky, once the system has fully booted, when you click on WLANmon, the icon loads and go green—you have connectivity!

In this state the Reset TCP/IP configuration option in the object's pop-up menu is selectable—this is grey until the connection is working.

Also you can do a scan for hotspots. Set the type to All and you see your access point listed as well as any others in your area.

If you do not get into a connected mode, you can try the following changes:

- Remove TCPBEUI and NetBIOS from your onboard NIC and restart.
- Change the WiFi port not to use a static IP address but rather to use DHCP. You do, of course, have to reconfigure your onboard port to use a static IP address for this to work.
- Change Wrapper as the first NIC, and the onboard as the second.
- Any and all TCP/IP configuration changes require you to do a reboot of the system before they “settle in.”

## Final Notes

Again, I would like to stress that this process is not 100%! I am not the developer of the driver or application and as such, I cannot do much more than document my findings. The key finding is that this hardware does work under eCS 2.0B2m2. This hopefully is a good starting point to clarify the last few variables to get the solution stable.

I hope this information serves to help a few people.

Translation: Gabriele Durrant
Formatting: Christian Hennecke
Editing: James Moe

##### References

GenMac: http://genmac.netlabs.org/
XWLAN: http://wlan.netlabs.org/
Intel 2200BG: http://www.intel.com/support/wireless/wlan/pro2200bg/index.htm
Uniaud: http://uniaud.netlabs.org/
OS/2 and Wireless “g”: http://www.os2voice.org/VNL/past_issues/VNL0606H/feature_4.html