Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Linux links wirelessly

Tom Syroid, Author
Tom Syroid is a contract writer for Studio B Productions, a literary agency based in Indianapolis, IN specializing in computer-oriented publications. Topics of interest/specialty include *NIX system security, Samba, Apache, and Web database applications based on PHP and MySQL. He has experience administering and maintaining a diverse range of operating systems including Linux (Red Hat, OpenLinux, Mandrake, Slackware, Gentoo), Windows (95, 98, NT, 2000, and XP), and AIX (4.3.3 and 5.1). He is also the co-author of Outlook 2000 in a Nutshell (O'Reilly & Associates) and OpenLinux Secrets (Hungry Minds). Tom lives in Saskatoon, Saskatchewan with his wife and two children. Hobbies include breaking perfectly good computer installations and then figuring out how to fix them, gardening, reading, and building complex structures out of Lego with his kids. Questions, comments, and errata submissions are welcome; you can e-mail the author directly (dwcomments@syroidmanor.com.

Summary:  This tutorial is targeted at developers, system administrators, and end-users seeking a detailed, step-by-step guide to configuring a wireless network card under Linux. It covers recompiling your kernel to support the PCMCIA-CS librry, fetching and compiling PCMCIA-CS source, finding and compiling the drivers to support various wireless cards, and configuring your wireless card to connect to a Wireless Access Point.

Date:  10 Sep 2002
Level:  Introductory PDF:  A4 and Letter (84 KB | 24 pages)Get Adobe® Reader®

Activity:  4938 views
Comments:  

Tutorial overview, background, and assumptions

Tutorial overview

This tutorial is targeted at developers, system administrators, and end-users seeking a detailed, step-by-step guide to configuring a wireless network card under Linux. After working through the material presented, the reader should come away from this tutorial enriched with the following:

  • A "broad strokes" understanding of the overall process involved in configuring a wireless card under Linux, and why the author uses the detailed procedure he does.
  • An understanding of how to adapt the examples presented to your own unique requirements.
  • How to recompile your kernel to support the PCMCIA-CS library.
  • How to fetch and compile the PCMCIA-CS source.
  • How to find and compile the requisite drivers to support your chosen wireless card (if required).
  • And finally, how to configure your wireless card to connect to a Wireless Access Point (WAP).

Broad strokes

For many users, the aspect of choice is one of the fundamental draws to Open Source offerings. But there is a downside to multiple-choice offerings, especially for those coming from a background of "plug-and-play" and the promise of inserting your card/device and having the operating system "automagically" load and configure your system for immediate use. Linux does not work that way for the most part. Linux is designed from the ground up to be as extensible as possible. To accomplish this, developers have historically relied heavily on user participation throughout the configuration process.

The number of wireless network cards supported by Linux has increased dramatically over the last year or two. For some devices, configuring wireless connectivity can be as simple as procuring a copy of the latest release of your preferred distribution, inserting your wireless card, clicking through the setup process, and entering the correct networking parameters. But if your distribution fails to detect your wireless card or detects it incorrectly, chances are good you'll be left without connectivity and wondering which direction to head off in next. That's where this tutorial comes into play. Hopefully the background and procedures outlined here will empower you with the necessary skills to troubleshoot your installation and get it running without major headaches.

As you read through the material contained in this tutorial, please keep one thing in mind: the procedures described here are not "gospel." Instead, they serve as a framework; a framework the author has used "in the real world," with a wide variety of systems, with relatively consistent results.


Procedural overview

The procedural framework alluded to in the previous section is comprised of the following steps or tasks:

  1. Recompile your kernel and remove any reference to the kernel-supplied PCMCIA drivers.
  2. Download and compile the PCMCIA-CS libraries and drivers
  3. Fetch, compile, and install any required drivers for your wireless card. This step will be optional for some, and mandatory for others. Which camp you fall into depends in large part on your choice of wireless network cards.
  4. Configure your wireless card to communicate with your WAP.

Please note: The aboves steps must be completed in the order outlined. The kernel will, by default, use its own PCMCIA/wireless drivers unless you specifically tell it to do otherwise; your system will not use the PCMCIA-CS libraries and drivers until you "de-couple" the default kernel drivers and install the PCMCIA-CS source; and most 3rd party device drives will not compile/install without a copy of the PCMCIA-CS libraries installed on your system.


Prerequisites and assumptions

To achieve maximum benefit from the concepts, procedures, and example presented in this tutorial, the reader should have a good grasp of basic *NIX administrative tasks including program installation, filesystem layout, moving and copying files, file permissions, and editing system configuration files. Several good "primers" on system administration are listed in Resources at the end of this document.

In additon:

  • It's assumed you have access to a "working" Linux installation, meaning the operating system is installed and configured correctly, and all basic services are functioning as advertised.
  • It is also assumed you have access to a fully functional WAP, and that it, too, is configured correctly and working as it should. For details on hub/router/WAP configuration, please see the documentation for your particular device (now might also be a good time to make sure your WAP's firmware is current, and if not, apply any available updates; again, see the documentation accompanying your product for procedural specfics).
  • You'll need to know how your network is currently configured, including how the system you plan on configuring acquires its IP address (static or dynamic?), the network netmask in use, your WAP's assigned SSID (similar in concept to a machine's hostname), and the channel your WAP is "listening" on.
  • It's crucial you know who supplies the chipset for wireless card you intend to configure. Keep in mind that it's not unusual for a vendor to use different chipset suppliers across a product line. In other words, just because your old wireless card used a wlan-based chipset, don't assume the new card you bought last week (from the same vendor) uses the same chipset. Generally speaking, every unique chipset is designed to be used with a specific driver. And while some drivers are designed to be used across a spectrum of devices and manufacturers, marrying up the wrong driver with the wrong device is a sure-fire way to promote premature hair loss. Research your wireless adapter on the Web (Google is your friend), check the vendor's Web site... do whatever you need to do. Just be sure your know beyond a shadow of doubt both the underlying chipset, and which driver the manufacturer of the card recommends.

General application notes

Every effort possible was made to keep this tutorial as distribution agnostic as possible. Kernel releases and source code versions used in the examples provided are noted, and are current as of the time of this writing. Be sure to check the various source URLs listed in the Resources section for the latest revisions, and always use the latest stable code release whenever possible. Open Source projects are under constant development. Using the latest stable release, as a rule, means you'll be working with the most mature, bug-free codebase currently available.

Unfortunately, device drivers tend to be device specific. The examples in this tutorial are based on installing and configuring the latest release of the wlan-ng device driver. This particular driver was chosen because:

  • It's a relatively common driver used by several well-know wireless cards.
  • The latest PCMCIA-CS release does not contain support for the wlan-ng driver, which means adding it to the 'CS' libraries (how to accomplish this is fully detailed in 3rd. Party Device Drivers ).
  • The wireless card the authors uses on a daily basis uses the wlan-ng driver, which means he has lots of "in the trenches" experience compiling and configuring this particular device.

1 of 8 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Linux
ArticleID=136841
TutorialTitle=Linux links wirelessly
publish-date=09102002
author1-email=
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.