Welcome to Linux Forums!

With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.

Linux Forum ArticlesLinux ForumsLinux Forum DownloadsLinux Hosts
Home|Register|FAQ|Member List|Calendar|Unanswered Posts|Forum Rules|Today's Posts|Advanced Search|
SEARCH FOR IN
Go Back   Linux Forums > Linux Resources > Linux Tutorials, HOWTO's & Reference Material
Reload this Page Wireless LAN in Linux
Linux Forums
Linux Forums
Welcome To The Linux Forums!
Welcome to Linux Forums. We pride ourselves in being one of the largest Linux communities on the web, we encourage you to REGISTER on our forums and participate in the community. There are over 150,000 members ready to answer your questions. JOINING US today will allow you to make new posts, get support, send messages to other members and submit downloads to our downloads directory and many other great features!

Linux Tutorials, HOWTO's & Reference Material A useful collection of tutorials, guides and reviews compiled here for easy reference purposes.

 
 
Thread Tools Display Modes
Old 05-28-2007   #1 (permalink)
Oxygen
Linux User
 
Oxygen's Avatar
 
Join Date: Jul 2004
Location: Hartlepool, England
Posts: 384
Send a message via Skype™ to Oxygen
Wireless LAN in Linux

Wireless LAN in Linux

Wireless support in Linux can be pretty shrewd to say the least. Most wireless vendors base their cards on cheap chip sets that have no support for Linux. This can lead to a lot of hassle. However there is a solution.

Ndiswrapper is a utility for Linux that allows you to use Windows wireless drivers on your Linux system. I've used it several times on different computers and had it working perfectly.

Distribution Notes

Ubuntu: Instead of running commands as root, use sudo before each command (e.g. sudo modprobe ndiswrapper)

Caution

This tutorial was written using Kubuntu Feisty (7.04) I do not guarantee that it will work. Some things in this tutorial may be specific to Kubuntu. If you find yourself unable to do something in this tutorial e-mail me and I shall try and fix it.

Native Drivers

Before trying Ndiswrapper, it's recommended you have a browse around Google to find native drivers for your card since these will probably work better than Ndiswrapper. If you don't know your device chipset run lspci or lsusb (Depending on what type it is) and it should tell you. If you've come up empty handed or the native driver is a bit iffy, continue.

Getting Ndiswrapper

First of all we need to get Ndiswrapper, we can either compile from source or get a distribution specific package. I recommend finding a distribution specific package rather than compiling from source as it's more likely to work.

From The Internet

If you have internet access through another device run these commands in console.

Debian users (As root):
Code:
apt-get install ndiswrapper-common ndiswrapper-utils-1.9
Ubuntu users:
Code:
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9
Fedora Core users (As root):
Code:
yum install kmod-ndiswrapper
Suse users (As root):
Code:
yast2 -i ndiswrapper
Offline Install

If you don't have internet access (or if you don't know how to get packages from the repository) you'll need to get packages from somewhere else and transfer them onto your Linux box. Here are a few places you can get packages from:

RPM based distributions (Suse, Fedora Core, Mandrivia):
RPM Search
(Search for ndiswrapper for your distribution)

Debian based distributions (Debian, Ubuntu):
Debian -- Packages
Ubuntu packages
(Search for ndiswrapper-common and ndiswrapper-utils-1.9

From Source

If you can't be arsed with all that, you may like to compile from source, a source tarball can be found at the Ndiswrapper Website. It's recommended you use a stable release, not a testing release.

Move to the directory where the tarball is located:
Code:
cd /path/to/directory
Now take everything out of the archive:
Code:
tar -zxvf ndiswrapper-1.44.tar.gz
Now run the following commands as root and Ndiswrapper should be installed.
Code:
make
make install
You're likely to encounter problems here if you don't have GCC installed and all the necessary compile files (Kernel source/headers).

Wrapping The Drivers

If you completed the last section successfully then you should be able to run 'ndiswrapper' in console and get some output without errors. That being the case, lets move on.

Which one?

Just a brief explanation, the driver for the wireless card will be a .inf file; sometimes there are additional files the .inf file needs to install such as .sys files. Keep these files with the .inf file otherwise you won't be able to use it.

Lets Go!

First of all, find the drivers, either on a CD or someone on your hard drive, then run this command as root.
Code:
ndiswrapper -i /path/to/driver.inf
Note that if the driver fails to install you need to remove the broken files; use the following command to list drivers installed:
Code:
ndiswrapper -l
And use this command to remove the driver (as root):
Code:
ndiswrapper -e driver_name
If all that's worked, run 'ndiswrapper -l' and you should see something like this:
Code:
graham@lightside:~$ ndiswrapper -l
bcmwl5 : driver installed
        device (14E4:4320) present (alternate driver: bcm43xx)
If you don't see 'device (code) present' then the .inf file doesn't support the card. Also if you see 'alternate driver' you'll need to disable it (assuming it didn't work) read the 'Problems' section at the end for help.

Loading the Module

Now, we're almost sorted. We need to load the module, to do this run the following (As root):

modprobe ndiswrapper

If you don't see anything errors, then it worked! Your card should be active.

Device name

This is important, after this run dmesg to find the device name of the card (Default wlan0) without that you won't be able to setup the card. Also you can use iwconfig (described below) to list wireless devices, like so.
Code:
graham@lightside:~$ iwconfig
lo        no wireless extensions.

eth0      IEEE 802.11b  ESSID:"13cliff"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:0D:54:9C:D9:CC
          Bit Rate=11 Mb/s   Tx-Power:14 dBm
          RTS thr=2347 B   Fragment thr=2346 B
          Power Management:off
          Link Quality:78/100  Signal level:-46 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
Obviously yours won't yet have an ESSID and key and such.

Connecting

Assuming the driver works (Check for lights) then all we need to do is connect to the access point. You can use GUI tools like KNetworkManager to set-up the connection, this is recommended if you're likely to connect to more than one access point. However I'm going to show you IWconfig, IWconfig is part of Wireless Tools for Linux and will let us connect to the access point by running these commands (As root):
Code:
iwconfig <device name> essid <essid of ap>
iwconfig <device name> key s:”<key>”
So something like:
Code:
iwconfig eth0 essid 13cliff
iwconfig eth0 key s:“myaccesspoint”
Finally, we start DHCP. There are several ways of starting DHCP with different commands, try all of these until you get one that works (As root):
Code:
dhclient <device name>
dhcpcd <device name>
And that should be it. Enjoy your new connection!

Problems

Alternative Driver

If you have an alternative driver for the card (that isn't functioning) you need to blacklist it. To do that, open a text editor and edit '/etc/modprobe.d/blacklist' with any non-formatting text editor (kwrite, gedit, nano) (As root):
Code:
nano /etc/modprobe.d/blacklist
Add this to the bottom of the file:
Code:
# driver blacklisted and replaced by ndiswrapper
blacklist <drivername>
E.G.:
Code:
blacklist bcm43xx
Once that's done, save the file and run the following command to unload the module (As root).
Code:
modprobe -r <drivername>
E.G.:
Code:
modprobe -r bcm43xx
And load Ndiswrapper again (As root):
Code:
modprobe ndiswrapper
Problem not here?

E-mail me at graham.a (~at~) 13cliff.co.uk and I'll respond.
__________________
Graham - You'd better Use Linux!

I'm registerd Linux user #397030. What about you?

Last edited by devils casper; 06-12-2007 at 06:45 AM. Reason: a few code typos.
Oxygen is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
"The system is going down..." Oris SuSE Linux Help 11 09-17-2005 05:01 PM
Running Linux Review jeremy1701 LinuxForums.org - Articles 0 10-26-2004 12:34 PM
The Ultimate Linux FAQ jasonlambert Linux Tutorials, HOWTO's & Reference Material 0 10-20-2003 09:32 PM




All times are GMT. The time now is 12:36 AM.




© 2000 - 2008 - All Rights Reserved - Property of  MAS Media

Content Relevant URLs by vBSEO 3.0.0