Making Wireless work on your laptop (or desktop)

Wireless support

The kernel shipped with CentOS is not the latest and greatest kernel, it is a known, stable and proven kernel that may be a few years old (depending on the release). Because of this, newer drivers may not be available for this kernel, even though Red Hat does backport newer wireless drivers to their stable kernel.

You can find more information of your wireless hardware from the Linux Wireless website to get more information about the driver and the hardware support. We have listed some hardware that is supported, but would welcome more information to improve this wiki. Although this page concentrates on laptops, much of the material is applicable to any wireless connection, regardless of platform.

Wireless firmware

Some modern laptops require firmware to make the wireless network connection work on CentOS. The main reason for this is that wireless device manufacturers do not allow the free redistribution of the firmware that is required to make the device work.

For this reason CentOS does not ship it by default and your wireless network does not work out of the box. However, the solution is simple.

Tested hardware

Intel Pro Wireless 2100 (ipw2100)

If you have a working network connection and you have RPMforge configured in yum, then it is really simple, just install ipw2100-firmware by doing:

yum install ipw2100-firmware

(!) If you don't have a network connection, simply download the firmware RPM packages named ipw2100-firmware from RPMforge at http://packages.sw.be/ipw2200-firmware/ on another system and transfer the file using a USB stick. Then install the package manually using: rpm -Uhv <filename>

Then just reload the ipw2100 module:

modprobe -r ipw2100; modprobe ipw2100

Your wireless device should be working now. Enable NetworkManager to use it.

Intel Pro Wireless 2200 (ipw2200)

If you have a working network connection and you have RPMforge configured in yum, then it is really simple, just install ipw2200-firmware by doing:

yum install ipw2200-firmware

(!) If you don't have a network connection, simply download the firmware RPM packages named ipw2200-firmware from RPMforge at http://packages.sw.be/ipw2200-firmware/ on another system and transfer the file using a USB stick. Then install the package manually using: rpm -Uhv <filename>

Then just reload the ipw2200 module:

modprobe -r ipw2200; modprobe ipw2200

Your wireless device should be working now. Enable NetworkManager to use it.

Intel Pro Wireless 3945 (iwl3945)

The iwl3945 driver replaces the now deprecated ipw3945 driver. It is included in the CentOS-5 kernels (5.3 or newer, >= kernel 2.6.18-128).

<!> If you are running an older kernel (for some reason), this driver is disabled. Use the CentOSPlus kernel instead. Better yet, update the kernel.

This device requires firmware which is currently available from http://elrepo.org

yum --enablerepo=elrepo install iwl3945-firmware

or if you do not have a working internet connection then downloaded the package here and install it manually using: rpm -Uhv <filename>

Then just reload the iwl3945 module:

modprobe -r iwl3945; modprobe iwl3945

Your wireless device should be working now. Enable NetworkManager to use it.

Intel Pro Wireless 3945 (ipw3945)

<!> Please note that the ipw3945 driver has been deprecated in favor of the iwl3945 driver (see above).

You need a network connection to make this easy. Configure RPMforge in yum so that you can use yum to install the dkms-ipw3945 packages:

yum install dkms-ipw3945

That will pull in dkms and a bunch of other dependencies required to build the ipw3945 kernel module. (So this is not just the firmware, but a complete driver). If this worked out fine, you can enable NetworkManager to use it.

Intel Wireless WiFi Link 4965AGN (iwl4965 and iwlagn)

This device requires firmware which is currently available from http://elrepo.org

yum --enablerepo=elrepo install iwl4965-firmware

or if you do not have a working internet connection then downloaded the package here and install it manually using: rpm -Uhv <filename>

Then just reload the iwlagn module (on older CentOS 5.1/5.2 the module was called iwl4965):

modprobe -r iwlagn; modprobe iwlagn

Your wireless device should now be working. Enable NetworkManager to use it.

Intel(R) Wireless WiFi Link AGN 5100, 5300 and 5350 (iwlagn)

<!> Starting from CentOS 5.3 (kernel 2.6.18-128) the iwlagn kernel module supports Intel(R) Wireless WiFi Link AGN 5100, 5300 and 5350 devices.

This device requires firmware which is currently available from http://elrepo.org

yum --enablerepo=elrepo install iwl5000-firmware

or if you do not have a working internet connection then download the package here and install it manually using: rpm -Uhv <filename>

Then just reload the iwlagn module:

modprobe -r iwlagn; modprobe iwlagn

Your wireless device should now be working. Enable NetworkManager to use it.

Atheros AR5210, AR5211, AR5212 (ath5k)

For the Atheros ath5k driver that ships with CentOS you don't need any special firmware to make the device work. The only thing you need to do is load the ath5k driver on your system.

modprobe ath5k

And then you can enable NetworkManager to use it.

<!> For the Atheros AR5212 device, the driver shipped with the CentOS-5.3 kernel (2.6.18-128.el5) causes an oops and does not work correctly. With CentOS-5.4 (kernel-2.6.18-164.el5 and upwards), these wireless devices operate correctly.

Atheros AR9485 (ath9k)

For the Atheros ath9k driver that ships with CentOS 6 you don't need any special firmware to make the device work. The only thing you need to do is load the ath9k driver on your system.

modprobe ath9k

And then you can enable NetworkManager to use it.

Atheros (madwifi)

You need a network connection to make this easy. Configure RPMforge in yum so that you can use yum to install the madwifi package:

yum install madwifi

This will pull in dkms and a bunch of other dependencies required to build the madwifi kernel module. (So this is not just the firmware, but a complete driver). If this worked out fine, you need to load the modules:

modprobe ath_pci

And then you can enable NetworkManager to use it.

<!> The Atheros AR5007EG (AR242x 802.11 abg) card is a special case. Using lspci will show it as AR5006EG or AR242x 802.11abg and the drivers are not yet in the main MadWifi releases. See the wiki page about the card for information about getting and installing its drivers.

ZyDAS ZD1211(b) 802.11a/b/g USB WLAN / Atheros AR5007UG (zd1211rw)

The ZyDAS ZD1211 chipset is very popular in consumer USB wireless devices (e.g, AOpen/D-Link WL54). ZyDAS was acquired by Atheros in April 2006, and the ZD1211 chipset was rebranded as AR5007UG. These devices are supported by the zd1211rw kernel driver.

This device requires firmware which is currently available from http://elrepo.org

yum --enablerepo=elrepo install zd1211-firmware

or if you do not have a working internet connection then the package may be downloaded here

To use, disable the network and wpa_supplicant services and enable NetworkManager to control the device.

# lsusb
Bus 001 Device 006: ID 07b8:6001 D-Link Corp. WL54

# lsmod | grep zd1211
zd1211rw               87625  0
ieee80211softmac       65857  1 zd1211rw
ieee80211              66185  2 zd1211rw,ieee80211softmac

RaLink RT61/RT2561 PCI Wireless LAN (rt61pci)

Ralink RT2561 series chipsets are supported by the rt61pci kernel driver. A typical supported device is the Linksys WMP54G 802.11g Wireless PCI Network Adapter. This device requires the rt61pci firmware which is currently available from http://elrepo.org

yum --enablerepo=elrepo install rt61pci-firmware

or if you do not have a working internet connection then the package may be downloaded here

To use, disable the network and wpa_supplicant services and enable NetworkManager to control the device (tested on CentOS 5.3).

# lspci -v
02:00.0 Network controller: RaLink RT2561/RT61 802.11g PCI
Subsystem: Linksys WMP54G ver 4.1
Flags: bus master, slow devsel, latency 64, IRQ 16
Memory at fe7f8000 (32-bit, non-prefetchable) [size=32K]
Capabilities: [40] Power Management version 2

# lsmod | grep rt61
rt61pci                56641  0
crc_itu_t              35265  1 rt61pci
rt2x00pci              44097  1 rt61pci
rt2x00lib              56897  2 rt61pci,rt2x00pci
eeprom_93cx6           35393  1 rt61pci

Ralink RT73/RT2500 USB Wireless LAN (rt73usb/rt2500usb)

Ralink RT2500 series chipsets are supported by the rt73usb/rt2500usb kernel drivers. A typical supported device is the Belkin Wireless G USB Network Adapter (RT2571F chipset). This device requires the rt73usb firmware which is currently available from http://elrepo.org

yum --enablerepo=elrepo install rt73usb-firmware

or if you do not have a working internet connection then the package may be downloaded here

To use, disable the network and wpa_supplicant services and enable NetworkManager to control the device. Tested on CentOS 5.3 with WPA2 encryption.

# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 002: ID 050d:7050 Belkin Components F5D7050 ver 1000 WiFi

# lsmod | grep rt
rt73usb                60481  0
crc_itu_t              35265  1 rt73usb
rt2500usb              58049  0
rt2x00usb              47041  2 rt73usb,rt2500usb
rt2x00lib              56897  3 rt73usb,rt2500usb,rt2x00usb
mac80211              183112  2 rt2x00usb,rt2x00lib
cfg80211               63697  2 rt2x00lib,mac8021

Other unsupported wireless cards

Broadcom Corporation BCM4311, BCM4312, BCM4321, and BCM4322 based chipsets

Go to HowTos/Laptops/Wireless/Broadcom page for manual to install and configure Broadcom Corporation BCM4311, BCM4312, BCM4321, and BCM4322 based chipsets

Using Windows drivers - ndiswrapper

You may have some luck with ndiswrapper. This kernel module allows you to load Windows drivers under Linux. In general this works but since the wireless driver will not be a native Linux kernel version, it may not have all the required functionality available.

To install ndiswrapper, set up the ELRepo repository and:

yum --enablerepo=elrepo install kmod-ndiswrapper

Then load the ndiswrapper module into the kernel:

modprobe ndiswrapper

Loading your Windows drivers can then be done using the commandline (as root):

ndiswrapper -i /path/to/windows-drivers/hardware.inf

or by using the ndisgtk graphical frontend (which is available from the RPMforge repository):

yum --enablerepo=rpmforge install ndisgtk

ndisgtk

HowTos/Laptops/Wireless (last edited 2013-02-24 15:34:21 by carltm)