Getting wireless working with WPA under RedHat Linux

This has been tested on RedHat 7.3, but should be the same on other releases.

I’ve also been informed this works with Mandrake 10.1 (2.4.27-0 kernel) with an Edimax EW 7106 card with RTL 8180 Drivers.

Note: this assumes you don’t have the wireless tools installed.

Install the kernel source from RPM matching your kernel. Recommended that you install the kernel-source RPM and then run up2date to get the latest redhat RPM kernel and kernel-source.

  • Download “wireless tools” from:

http://pcmcia-cs.sourceforge.net/ftp/contrib/wireless_tools.26.tar.gz

tar zxvf wireless_tools.26.tar.gz
cd wireless_tools.26
make
make install
  • Download “WPA Supplicant” from:

http://hostap.epitest.fi/releases/wpa_supplicant-0.2.4.tar.gz

tar zxvf wpa_supplicant-0.2.4.tar.gz
cd wpa_supplicant-0.2.4
echo "CONFIG_DRIVER_NDISWRAPPER=y" > .config
make
cp wpa_supplicant /usr/local/bin
cp wpa_passphrase /usr/local/bin
cp wpa_cli /usr/local/bin

Populate /etc/wpa_supplicant.conf and change the SSID and PSK to the relevant ones for your network.

ctrl_interface=/var/run/wpa_supplicant # for wpa_cli support

network={
  ssid="MySSID"
  psk="MyWPAKey"
  key_mgmt=WPA-PSK
  proto=WPA
}
  • Download NDISWrapper
http://prdownloads.sourceforge.net/ndiswrapper/ndiswrapper-0.10.tar.gz?download
tar zxvf ndiswrapper-0.10.tar.gz
cd ndiswrapper-0.10
make
make install
  • Locate the inf and sys file for your wireless card.

For my Belkin 54g PCI wireless card (F5D7000UK), I used bcmwl5.sys and bcmwl5a.inf.

Note: there are lots of different drivers with the exact same name for the inf and sys files.


ndiswrapper -i bcmwl5a.inf
ndiswrapper -l
modprobe ndiswrapper
dmesg
iwconfig wlan0
wpa_supplicant -Dndiswrapper -iwlan0 -c/etc/wpa_supplicant.conf &
dhcpcd wlan0

wlan0 should now have an IP. If not, run dhcpcd again.

  • Make wireless start on boot
cd /etc/sysconfig/network-scripts
echo "DEVICE=wlan0" > ifcfg-wlan0
echo "BOOTPROTO=dhcp" >> ifcfg-wlan0
echo "ONBOOT=yes" >> ifcfg-wlan0

echo "DEVICE=eth0" > ifcfg-eth0
echo "BOOTPROTO=dhcp" >> ifcfg-eth0
echo "ONBOOT=No" >> ifcfg-eth0

Add the following lines after the comment in /etc/init.d/network

/sbin/modprobe ndiswrapper
/usr/local/bin/wpa_supplicant -Dndiswrapper -iwlan0 -c/etc/wpa_supplicant.conf &
 
linux_wireless.txt · Last modified: 2006/10/02 12:54 by gavin
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki